导语
2017 已经悄悄的走了,2018 也已经匆匆的来了,我们在总结过去的同时,也要展望一下未来,来规划一下今年要学哪些新技术。这几年优秀Android的开源库不断推出,新技术层出不穷,需要我们不断去了解和掌握,在提高自身开发水平的同时,我们需要付出更多学习精力和时间。俗话说,打铁还需自身硬,为了在这个日新月异的技术时代为了生存不被淘汰,必须要求自身掌握的技术不断跟进时代脚步,所以我们必须付出才能得到回报,说没有时间去学习的人永远都会有找不完的借口。好了,闲话不多说了,下面一起来看看流行的技术吧。
图片加载库
Universal-Image-Loader,早期广泛被用的一个可重复使用的仪器为异步图像加载、缓存、显示。作者已经停止维护。
Picasso,谐音"毕加索",听起来就很艺术,是 Square开源的项目,主导者是是Android大神JakeWharton。
Glide,是google员工在Picasso基础上进行优化,总体比Picasso更优秀,在Google很多项目在用。
Fresco,FaceBook的明星项目,也是去年最火的项目之一,匿名共享缓存等机制保证低端机表现极佳,但是源代码基于C/C++。
强势推荐另一篇必看集结号发车了!!!Android 必须知道网络请求框架库,你不可错过的介绍篇!
异步分发通信库
新技术语言
React Native,跨平台一直是开发者的梦想,而且移动应用的跨平台解决方案目前也很多,在Facebook 的参与和力推下,让这个解决方案带上了光环。第一个用 React Native 开发的 App 已经在 Google Play 上架 Facebook 广告管理工具,听说 Android 的 SDK 也马上会到来,国内天猫团队以及在去年10月首次实现,携程也基于React Native推出mouse, 相信不久后会有更多的框架封装的出现。但是,在2018年6月20号,Airbnb 技术团队在 Medium 上宣布,Airbnb 放弃使用 React Native,将回归到使用基于原生技术的自有框架开发 App。
Hybrid,完全使用 H5 开发 App,目前已很成熟,但是体现并不很好。可以短时间内更新APP UI,适配能力超强,但是基于流量严重,但是折中方案在很多情况下是非常适合的,典型的就是淘宝微信,大部分信息展示都是通过 H5 来完成,同时通过 Hybird 方式,把 Web 和 Native 打通,提供给网页访问Native的能力。
Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。Python 已然成为机器学习领域的标配,据说即将纳入高考,虽未得到官方证实,但也是大势所趋。
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一 种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
注入注解框架
设计模式
MVP ,因为 Android 并没有严格的业务和界面区分,项目一庞大,就很容易使代码结构显得越来越乱。现在 Android 端对 MVP 模式讨论越来越热,谷歌6.0API以及更多的体现了MVP设计思维,觉得 MVP 是非常适合 Android 上的APP 开发。
MVVM ,这是因为开始官方支持 DataBinding,把 MVVM 直接带到 Android 中。数据绑定在 Windows WPF 和 Web (尤其JSP中)已经非常常见,它非常高效的开发效率,让你只关心你的数据和业务。这也对 Android 开发来说,无疑是一个非常重大的里程碑
UI框架
BaseRecyclerViewAdapterHelper使用——RecyclerView万能适配器。
SmartRefreshLayout , 下拉刷新、上拉加载、二级刷新、淘宝二楼、RefreshLayout、OverScroll,Android智能下拉刷新框架,支持越界回弹、越界拖动,具有极强的扩展性,集成了几十种炫酷的Header和 Footer。 也吸取了现在流行的各种刷新布局的优点,包括谷歌官方的 SwipeRefreshLayout,其他第三方的 Ultra-Pull-To-Refresh、TwinklingRefreshLayout 。还集成了各种炫酷的 Header 和 Footer。网络请求库
日志打印库
logger,简单,漂亮的android和强大的记录器。
权限请求库
RxPermissions,API23以上Android 6.0项目分为普通权限和危险权限,该库在项目运行时动态进行权限请求,支持RxJava2。