重磅!2019年,开发语言新姿势汇总

LogicCipherX
• 阅读 395

前言

我们在总结过去的同时,也要展望一下未来,来规划一下今年要学哪些新技术。这几年优秀Android的开源库不断推出,新技术层出不穷,需要我们不断去了解和掌握,在提高自身开发水平的同时,我们需要付出更多学习精力和时间。

俗话说,打铁还需自身硬,为了在这个日新月异的技术时代为了生存不被淘汰,必须要求自身掌握的技术不断跟进时代脚步,所以我们必须付出才能得到回报,说没有时间去学习的人永远都会有找不完的借口。好了,闲话不多说了,下面一起来看看流行的技术吧。

图片加载库

Universal-Image-Loader,早期广泛被用的一个可重复使用的仪器为异步图像加载、缓存、显示。作者已经停止维护。

Picasso,谐音”毕加索”,听起来就很艺术,是 Square开源的项目,主导者是是Android大神JakeWharton。

Glide,是google员工在Picasso基础上进行优化,总体比Picasso更优秀,在Google很多项目在用。

Fresco,FaceBook的明星项目,也是去年最火的项目之一,匿名共享缓存等机制保证低端机表现极佳,但是源代码基于C/C++。

重磅!2019年,开发语言新姿势汇总

异步分发通信库

EventBus,是一个发布、订阅的轻量级事件总线框架,基于观察者模式的实现的线程通信框架。

RxJava, 一个在 Java VM 上使用可观测的序列来组成异步的、基于观察者模式的实现的库。

RxAndroid,函数响应式编程, 把 RxJava 带到 Android 环境中。很多时候,编写 Android 程序,你也可以看成是数据的处理和流动,换一种思想编程,曾经看起来很棘手的问题,瞬间就很优雅的解决了,相信你会被这种build模式的开发会越来越爱。

RxBinding,是 Jake Wharton 的一个开源库,它提供了一套在 Android 平台上的基于 RxJava的 Binding API。所谓 Binding,就是类似设置 OnClickListener 、设置 TextWatcher 这样的注册绑定对象的 API。

新技术语言

Kotlin,作为 Android 领域的 Swift,绝对让你如沐新风。抛弃沉重的 Java 语法,Kotlin 融入了很多现代编程语言的思想,作为开发者,接受新的语言,了解新语言的发展趋势,更有利于开阔你的思路和加深对语言的理解。在 Android 开发上,使用 Kotlin 并不会让你付出什么代价,为什么不来试试?使用Kotlin进行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。

flutter,是一款能够简单、高效地开发优美的移动APP的UI框架。在2018年2月27日,在2018世界移动大会上,Google发布了Flutter的第一个Beta版本。Flutter是Google用以帮助开发者在IOS和Android两个平台开发高质量原生应用的全新移动UI框架。

Sky,与 React Native 类似,使用 Web 开发语言来做移动平台的开发,虽然这个只是一个尝试,但是这是 Google 自身推出的,特别是在 Java 语言的使用上败诉之后,这可能会有一些作为呢。

Hybrid,完全使用 H5 开发 App,目前已很成熟,但是体现并不很好。可以短时间内更新APP UI,适配能力超强,但是基于流量严重,但是折中方案在很多情况下是非常适合的,典型的就是淘宝微信,大部分信息展示都是通过 H5 来完成,同时通过 Hybird 方式,把 Web 和 Native 打通,提供给网页访问Native的能力。

Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。Python 已然成为机器学习领域的标配,据说即将纳入高考,虽未得到官方证实,但也是大势所趋。

区块链,(目测要火的技术)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。区块链本质上是一个去中心化的数据库,同时作为比特币的底层技术,区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。

狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一 种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。

注入注解框架

Dagger2,与Spring 的IOC差不多吧。这个框架它的好处是它没有采用反射技术(Spring是用反射的),而是用预编译技术,因为基于反射的DI非常地耗用资源(空间,时间)。

Butterknife,出自大神JakeWharton,绑定视图和回调字段和方法。例如,减少了findViewById()的繁琐操作。

设计模式

MVP,因为 Android 并没有严格的业务和界面区分,项目一庞大,就很容易使代码结构显得越来越乱。现在 Android 端对 MVP 模式讨论越来越热,谷歌6.0API以及更多的体现了MVP设计思维,觉得 MVP 是非常适合 Android 上的APP 开发。

MVVM ,这是因为开始官方支持 DataBinding,把 MVVM 直接带到 Android 中。数据绑定在 Windows WPF 和 Web (尤其JSP中)已经非常常见,它非常高效的开发效率,让你只关心你的数据和业务。这也对 Android 开发来说,无疑是一个非常重大的里程碑

UI框架

BaseRecyclerViewAdapterHelper使用——RecyclerView万能适配器。

PinnedSectionItemDecoration:强大的粘性标签库

EasyRefreshLayout:轻松实现下拉刷新和上拉更多

EasySwipeMenuLayout:仿IOS侧滑删除

SmartRefreshLayout,下拉刷新、上拉加载、二级刷新、淘宝二楼、RefreshLayout、OverScroll,Android智能下拉刷新框架,支持越界回弹、越界拖动,具有极强的扩展性,集成了几十种炫酷的Header和 Footer。也吸取了现在流行的各种刷新布局的优点,包括谷歌官方的 SwipeRefreshLayout,其他第三方的 Ultra-Pull-To-Refresh、TwinklingRefreshLayout 。还集成了各种炫酷的 Header 和 Footer。

android-gif-drawable,用于在Android上显示动画GIF的视图和Drawable。

PhotoView ,用于在Android上通过各种触摸手势实现支持缩放的图片的框架。

网络请求库

okhttp,在Android开发中,它已经成为眼下最火的http请求框架了。

Retrofit,与okhttp共同出自于Square公司,retrofit就是对okhttp做了一层封装。把网络请求都交给给了Okhttp,我们只需要通过简单的配置就能使用retrofit来进行网络请求了,其主要作者也是Android大神JakeWharton。

日志打印库

logger,简单,漂亮的android和强大的记录器。

权限请求库

RxPermissions,API23以上Android 6.0项目分为普通权限和危险权限,该库在项目运行时动态进行权限请求,支持RxJava2。

SQLite数据库

LitePal,一个Android库,使得开发人员使用SQLite数据库非常容易。

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
4年前
iOS狂暴之路(开始篇)
一、学习路线规划现如今移动端的两大平台Android和iOS是风光无限,但是又有谁能够保证这两个平台能够昌盛一辈子呢?谁也不敢保证其中一个在未来几年之后就会成为第二个诺基亚,所以我们现在会Android的同学应该考虑学习iOS,会iOS同学也是否要考虑学习Android。那么从这篇文章开始我们就来开启我们的iOS学习之旅
全靠这份Android知识点PDF大全,月薪30K
第一阶段:Android基础知识回顾:回顾Android开发编程,深入理解Android系统原理和层次结构,深入分析Handler源码和原理;回顾Java,C/C,Kotlin、dart在Android开发中必用的语言,熟悉一下几种语言混淆后的特性;回顾AndroidIPC和JNI的底层原理和热更新技术回顾Native开发要点,使用C结
Java开发学习路线,看完这篇就够了
Java开发,我们应该从哪里开始学?应该学习哪些东西?应该按照什么样的顺序来学?Java开发涉及到的领域非常多,对于开发者而言要掌握的东西也非常多,初入行的小伙伴甚至觉得这些要掌握的东西非常杂乱,其实不然!所有要学习的东西都是有内在关联的。大仙今天就来和大家捋一捋Java学习路线图,一起来看看都有哪些东西需要掌握,以及要按照什么样的顺序来学习。(h
AT大牛带你深度剖析Android 10大开源框架
做了几年的Android开发,也面试过不少公司,被面试过,也面试过不少人,其实Android的技术真的是无边界,不管你做过多牛的项目,不管你多久的经验在Android开发中不可能是停滞不前的,需要不断的学习及总结,否则难以解公关技术问题,下面把我压箱底的视频资料贡献给大家;一,android视频教程Android视频教程:1,Android入门
Android开发必学!阿里Android开发面试解答
前言许多Android开发者经常会问我,要学会哪些东西才能成为一个优秀的Android工程师?对于这个问题,他们的描述或多或少都有些差异,但是,总体来说,我们都需要学习一系列的技能,才能成为一个优秀的Android工程师。在我看来,存在这样的困惑是正常的。Android是一个巨大并且动态的生态系统,你可能需要花好几周时间去了解并学习它相关的一些
阿里P8成长路线!手持4个大厂offer的我
前言:Android应用开发发展到今天,已经成为一个非常成熟的技术方向,从目前的形势来看,Android开发相当火热,但是高级Android开发人才却比较少,现在移动互联网的开发者也逐步开始关注插件化技术、性能优化、行业新技术,系统架构等进阶技术。这也同时造成了一种现像,安卓开发人员感受到行业现在已经是冰火两重天的环境了,技术不全面,还停留在中低端技术水平
Stella981 Stella981
4年前
Apache Spark3.0什么样?一文读懂Apache Spark最新技术发展与展望
简介:阿里巴巴高级技术专家李呈祥带来了《ApacheSpark最新技术发展和3.0展望》的全面解析,为大家介绍了Spark在整体IT基础设施上云背景下的新挑战和最新技术进展,同时预测了Spark3.0即将重磅发布的新功能。2019阿里云峰会·上海开发者大会于7月24日盛大开幕,在本次峰会的开源大数据专场上,阿里巴巴高级技术专家李呈祥带
Stella981 Stella981
4年前
2021前端发展方向
2021前端会有什么新变化,首先需要搞清楚我们关注这些新技术的目的是什么?相信对于关注这个问题的人包括我来说,除了了解技术发展风向作为饭后谈资以外,最重要的是看能不能在公司内部落地、做出一番成绩来,当然升职加薪那都是后话了。回望过去首先定义一下我说的“过去”是2019年及以前。以史为镜,可以知兴替。回望一下过去,有利于我们对未来做出
可莉 可莉
4年前
2021前端发展方向
2021前端会有什么新变化,首先需要搞清楚我们关注这些新技术的目的是什么?相信对于关注这个问题的人包括我来说,除了了解技术发展风向作为饭后谈资以外,最重要的是看能不能在公司内部落地、做出一番成绩来,当然升职加薪那都是后话了。回望过去首先定义一下我说的“过去”是2019年及以前。以史为镜,可以知兴替。回望一下过去,有利于我们对未来做出
linbojue linbojue
6个月前
Java开发新技术全解析:Java 21与Spring 6.0实战指南
Java开发新技术全解析:Java21与Spring6.0实战指南随着技术的日新月异的迭代推进,Java的开发领域也逐渐涌现出了越来越多的创新技术,不断地为我们带来新的思路和方法,推动了Java的不断发展。通过对Java21的核心特性与Spring6.0的