开始看 Android 方面的知识有近一个月了吧!不是工作时间太富裕,而是 iOS 项目当前停了,Android 还在继续。能有机会接触下安卓还是不错的,况且寒冬之下多多磨练武功是再好不过了。就这这样开启了 Android 学习的旅程。
基本的数据结构,语法,算术运算,逻辑运算,常量变量的声明,对象,接口,设计模式,网络交互,三方库,开发工具的使用,app 的打包发布等都有很多相似之处,所以稍微过了下基础知识就开始看工程代码了:clone 项目工程代码到本地,然后用 Android studio 打开,开始啃!
理论是一种强大的武器,但能不能发挥其作用,还要拿到实践中去练练。在啃的过程中,发现高估了自己的学习能力,低估了 Android 的学习难度。Android 跟 iOS 有很大的不同!
首先 Android 只有布局,没有 View 的概念。iOS 则是 View 和布局分的很清楚。Android 老司机们估计会不同意,下面我来说说我的理解。Android 开发过程中,看到 UI 估计大部分人第一个想到的就是 xml 文件,画 UI 就在 xml 中把 7 大布局大法在 xml 中来回倒腾,得到最终想要的结果。之后在 Activity 或 Fragment 里面关联一下 xml 文件名,剩下的就不管了。实际上,系统把这个 View 渲染的活根据 xml 给渲染了。这种方式跟前端 Web 的画 UI方式很类似。iOS 是怎么做的呢?iOS 有一个专门的视图库 UIKit,里面有各种各样的视图类。首先你需要实例化一个 UIView,并可以设置其颜色,圆角等属性。接下来就是布局了,可以设置其 frame ,也可以使用相对布局进行设置。View 是 View,布局是布局,他们都有相对应的类,面向对象的封装很彻底。
其次是项目的组织方式有很大不同。Android 比较散漫,iOS 比较集约。Android 没有一个明确的工程 target 的概念以及明确的程序执行入口,所有文件咋看上去都是平级的。iOS 则全部都组织在一个统一的 target 下面且有一个 AppDelegate 类作为程序的主入口。结构上来说 iOS 更清晰合理,习惯了 iOS 的我第一遇到 Android Studio 有中找不到北的感觉!
最后,就代码简洁性上,Android 完胜 OC。但 swift 已经追上来了!感觉 swift 语法与 Java 比较像。谁借鉴谁的不知道,不过现在的语言真是越来越像来!
其它的不同的地方也不少,就比较具体了,不一一列举了!
要学的东西很多,只有努力和专精,才能东方不败!加油!
网友评论