进入2020年,Android生态也发生了不少变化,从一个多年经验的Android开发者角度分析Android的开发现状,不喜勿喷。

Kotlin


Kotlin已经成为Android开发的官方语言,Android的新的文档和Sample代码都开始转向Kotlin,在未来Java将加速被Kotlin替代。
https://developer.android.com/kotlin

KTX


KTX是Kotlin与Android之间无缝衔接的粘合剂,是Kotlin和Android能够发生化学反应的催化剂。未来将在Coroutine等各方面为Android提供更多支持。
https://developer.android.com/kotlin/ktx

Jetpack


Jetpack的意义在于帮我们在SDK基础上提供了一系列中间件工具,让我们可以摆脱不断造轮子抄轮子的窘境。同类的解决方案首先考虑Jetpack其次考虑第三方实现,没毛病。
档案Jetpack本身也会不断吸收优秀的第三方解决方案进来。所以作为开发者实时关注Jetpack的最新动态就可以了。
https://developer.android.com/jetpack/androidx/versions

Fragment


自从Android开始推荐SAA(Single Activity Application)模式以来,Fragment的角色越发重要,出现了很多改进,FragmentFactory、FragmentContainerView等增加了很多新技能。根据Android Submit中介绍,对于一直被诟病的Fragment的复杂的生命周期在不久的未来也会被优化(Fragment将废弃onActivityCreated),所以有条件的话希望大家多使用Fragment少使用Activity。

Security


安全性是个容易被忽略的需求,但是在未来将会越来越受重要。Security是Jetpack提供的可用于SharedPreferences等数据读写场景的加密库,以往这种需求往往是开发者自己实现,现在官方提供了统一的解决方案,值得尝试。
现在minSdk支持到23,未来可能会向下兼容到21
https://developer.android.google.cn/topic/security/data

Paging


Paging不用多介绍了,现在是列表页面中的主流方案。3.0好像用Kotlin完全重写了,全面转向Coroutine,将会给开发者带来全新的使用体验。
https://cs.android.com/androidx/platform/frameworks/support/+/androidx-master-dev:paging/common/src/main/kotlin/androidx/

Android Code Search


官方提供的AOSP以及Jetpack源码的检索工具,不只是简单的显示代码,左侧还可以浏览文件目录和文件的outline,还可以查看git提交历史等。
https://cs.android.com/

但是毕竟不是本地代码,再加上服务器在境外,访问体验不是很流畅,作为简单大范围浏览时使用这个在线工具,作为模块精读时还是clone到本地比较好

DI


虽然Kotlin有Koin等方案,但是Google在Android中仍然推荐首选Dagger,各种AAC的demo里也充斥着dagger的使用。虽然Dagger的学习门槛相对其其他同类框架稍高,在大型项目中确实是有长远收益的,未来对于dagger-android的易用性上也会进一步优化,建议作为DI的首选方案
https://developer.android.com/training/dependency-injection

Coroutines


个人认为Coroutine到目前为止的推广速度不尽人意,可能是因为Andorid端一直缺少前端那样的Promise模型的异步通信(Future在Android上的使用也不多),所以开发者缺少对协程理解的心智基础,再加上RxJava等框架实在太过优秀。但是随着Flow的推出,以及Jetpack对Coroutine的不断加持,我对其未来还是保持乐观的,没有接触过的同学最好赶紧熟悉起来
https://developer.android.com/kotlin/coroutines

Kotlin multiplatform project


KotlinConf 2019中关于MPP的讨论非常多,Kotlin1.4也将最多的升级放到了MPP上,个人感觉MPP作为Kotlin未来竞争力的关键,势必得到Jetbrins甚至Google的重视,未来潜力巨大,值得关注。

Jetpack Compose


Google I/O 2019 发表的新的声明式的UI框架。目前虽然还处于pre-alpha,经过下载体验目前确实还很不完善,但是新的设计思想绝对是趋势,已经在react和flutter等前端领用中得到验证,ios开发中同期推出的swiftUI更是证明了业界对于这种声明式UI开发趋势的共识,据说2020年内会出较为未定的beta版本,希望beta出来后大家尽快尝试,说不定不久的未来将会取代你现有的UI开发方式。
https://developer.android.com/jetpack/compose

Android Studio


顺利的演进中。
Android Studio 4.0 的增加了很多新功能 例如 对Compose的支持,以及3D View等,非常便方便。另外,D8/R8的Desugaring可以帮助我们在更低版本OS上使用Java8

minSdkVersion


个人感觉minSdkVersion应该从23起步,23以下的机型在APP开发中可以注解放弃


总结


这几年Android新技术的迭代明显加速了,这里有来自外部跨平台新物种的挑战,有去Java化的商业考量,也有Jetpack等官方自建平台的加速等多种原因。作为Android开发者,我们需要密切关注的同时也不必盲目跟随,还是要认清趋势,结合项目现状再下手也不迟,避免在那些昙花一现的所谓新技术上浪费时间。

更多相关文章

  1. 在Android(安卓)NDK 中使用STLport(译)
  2. Android(安卓)TextView 中如何使用第三方字体
  3. 安卓017ListView & GridView & ScrollView
  4. Android(安卓)简介:Android(安卓)SDK 和开发框架简介
  5. [Android(安卓)Training视频系列]1.1 Creating an Android(安卓)
  6. 使用Bottom Navigation Activity实现Android底部导航栏
  7. Android(安卓)之 快速开发框架 afinal
  8. Building Android(安卓)Apps with AWS 使用AWS构建Android应用程
  9. Android(安卓)JNI使用方法

随机推荐

  1. 超炫的android 3d ui,目前正在内测中 期待
  2. 给女朋友讲解什么是代理模式
  3. Android使用ShareSDK集成第三方登录和分
  4. android EditText软键盘隐藏总结
  5. Android(安卓)Activity跳转出现白屏但不
  6. 面试官:给我说说什么是中间人***?
  7. 从Generator到Async function
  8. Android怎么快速建立TCP连接
  9. ViewPager+Fregment布局滑动
  10. 安装Android(安卓)Studio没有AndroidSDK