开发工具
android studio: google 官方放弃 eclipse 和 android studio 普及。as 虽然不算新,但是对 android studio 这个软件的更新速度快的惊人,有大量的新功能发布。例如支持很多注解代码提示注解、live code template、支持自动生成 parcelable 实现等等,作为开发者,持续关注这个更新列表 recent changes,一定会让你的写代码的生活更加美好。
编程语言
otlin: 作为 android 领域的 swift,绝对让你如沐新风。抛弃沉重的 java 语法,kotlin 融入了很多现代编程语言的思想,作为开发者,接受新的语言,了解新语言的发展趋势,更有利于开阔你的思路和加深对语言的理解。在 android 开发上,使用 kotlin 并不会让你付出什么代价,为什么不来试试? 使用kotlin进行android开发。
react native: 跨平台一直是程序员的梦想,而且移动应用的跨平台解决方案也很多,因为 facebook 的参与和力推,让这个解决方案带上了光环。第一个用 react native 开发的 app 已经在 google play 上架 facebook 广告管理工具,听说 android 的 sdk 也马上会到来,react native。
sky: 与 react native 类似,使用 web 开发语言来做移动平台的开发,虽然这个只是一个尝试,但是这是 google 自身推出的,特别是在 java 语言的使用上败诉之后,这可能会有一些作为呢,domokit/sky_sdk。
开发模式
dagger 2:依赖注入并不是什么新技术,但是使用在 android 确实一个新的尝试。android app 越来越被当成严肃的大型项目来构建,很多在以前大型服务器开发上使用的技术都被应用到了移动开发。android 开发分模块开发,使用 dagger 来松耦合模块。特别值得一体的是,dagger 2 现在由 google 亲自接管。
mvp:因为 android 并没有严格的业务和界面区分,项目一复杂,就很容易使代码陷入混乱。现在 android 开发社区对 mvp 模式讨论越来越热,觉得 mvp 是非常适合 android app 开发。
rxandroid: 函数响应式编程(functional reactive programming)也不是新内容,rxandroid 把 rxjava 带到 android 环境中。很多时候,编写 android 程序,你也可以看成是数据的处理和流动,换一种思想编程,曾经看起来很棘手的问题,瞬间就很优雅的解决了。
mvvm: 这是因为开始官方支持 databinding,把 mvvm 直接带到 android 中。数据绑定在 windows wpf 和 web 已经非常常见,它非常高效的开发效率,让你只关心你的数据和业务。这也对 android 开发来说,无疑是一个非常重大的影响。
插件化:针对大型 android 项目,很多 app 开始使用插件来分模块构建相对独立的功能。
hybrid:完全使用 html 5 开发 app,目前还不成熟。但是折中方案在很多情况下是非常适合的,典型的就是微信,大部分信息展示都是通过 h5 来完成,同时通过 hybird 方式,把 web 和 native 打通,提供给网页访问本地资源的能力。
ui设计
material design:已经红遍了大江南北,这方面的讨论实在太多了,而且各种支持库都有了,特别是 google 官方出了一个支持库 android design support library。
sketch 3: 这是一个专为设计移动端 ui 的设计工具,作为开发者,不用懂那么复杂的 ps 使用,也可以做非常专业设计:https://designcode.io/sketch
说了这么,感觉还有很多东西没有说到,技术的发展是很快,我们可能跟不上每个细节,但是我们会发现这些新技术,很多地方都是相通的。对于开发者,能够保持对新技术的好奇和兴趣时非常难得的,参与到新技术中是技术修养,引领新技术的发展,那就是大神了。