Android开发的千古、现在和未来

现方今,拥有着 80% 的市场份额的 Android
是最主流的手机操作系统。它运行在无数的智能手机、平板以及任何各个各个的装备上。仅凭这点,我们是否足以认为
 Android 编程是简约而轻松的吧?

几年前,Miley Cyrus 还在唱着灵魂乐,Justin Bieber
还梳着他这出名的“Bieber”发型,Malcolm 还在 AC/DC 乐队,而与此同时 Android
开发还一对一复杂。Android 开发者对于Android
系统开发最简便的运用都有一大堆问题。

为什么?嗯,亲爱的读者,问题出在各类地点:

漏洞层出的IDE:你有没有试过用一把铲子去修复你的汽车?或者您开着您外祖父的40年前的
Yugo 汽车去把妹?在Android世界中,对于 Android 开发,咱们有一个官方
IDE——Eclipse,它有一大堆问题,在10分钟以内保证让您抓狂。Eclipse ADT
插件对于更多的繁杂工程以来也是充满漏洞、缓慢而不谐和的。大家对此十分恶心,祈祷能暴发奇迹来立异这所有。

系统崩溃:Gingerbread (2.3.7)在 Android
系统版本中占据着一定大的市场份额(至少15-20%)。正如你已领略的,Android
正通过4.0版本(Ice Cream
Sandwich)经历着复杂的翻盖过程。系统有了新的用户界面元素、新的装备硬件API、新的屏幕密度等等,这就造成了大家不可能不小心地优化和编辑大家的采纳来驱动在新版本Android和旧版本
Android
都能运行优秀。所有的这整个都大幅度地震慑了咱们的开发过程和促成了更多的
bug 和 crash,以至于延长了开销时间。

迟迟的仿真器:我们需要在不同的 Android
系统版本和屏幕尺寸测试大家的施用,所以我们必须买至少20种 Android
设备。听起来是不是很疯狂?好吧,我们能运用仿真器来缓解。可是你曾有没有试过用默认的
Android
仿真器?它的缓缓令人悲痛,当您的应用正在被布置到你的仿真器的时候,你会让你协调去数办公楼前面停的车的数码来打发时间。

用户界面(UI):Android 应用无聊死了。假使你亵渎看一眼 iOS
应用,你会看到这些应用充满了生活气息而且色彩缤纷。所有的事物都是可靠的,动作转换,从左到右、从右到左……而我辈的行使是死的,尽管大家想要提高我们的用户体验,老旧的Gingerbread
会很快抹杀我们的盼望和向往。

但是这一个都是2013的事了。

一个新先河

持有者一起都在二零一八年发生了改变,改变发生的这么之快,以至于你很容易地失去对它们的追随脚步,然后问自己“这都是怎么样时候发出的?”更首要的是成套
Android
生态系统进步了累累——我们有了新的硬件(智能手表),新的软件(Gradle,Android
Studio),新的系统(Android 5.0 Lollipop)。

各样人都对此负有贡献——Google、设备创制商、开发者。每个人都有一致的靶子。问他俩同样的那么些问题:“OK。现在我们有安定的系统,十亿计的使用和十亿计的用户——我们怎么才能更为简化和增长
Android?大家怎么才能使得开发过程更好?”这就是 open access和 open source
原则显示的她们的潜力——每个人都足以做出改变、暴发提升、创设新的东西的街头巷尾。

很难列出全体的成形,但本身做了一个列表来列出里面(在我看来)最要害的转变:

1.ANDROID STUDIO

俺们最喜爱的Andorid 开发的 IDE
终于变成了安居乐业的1.0本子了。我不会谈谈太多关于 AS
为何对于开发进程来说是最好的相关细节,因为我们早已有两篇登出的博客覆盖了这一核心。我会说
Eclipse ADT 插件已经不被合法赞成使用,我也强烈提出你把具备的运用迁移到
 Android Studio。向 Google 致敬!

 新Android Studio Logo

2.GRADLE

Gradle 是工程自动化工具,它已经代替 Apche Ant 成为 Android
应用紧要的构建系统。它在 Android
开发者中至极流行。因为我们通过它几乎可以自动化所有业务——从将我们的应用区分成不同风格、正确配置签名等等

据此,他改成了一多重的“管理”工具,大家用来定义和维持我们的工程安装。Gradle
也是测试自动化库和机动构建服务器大量增高的重要原因。测试自动化库和机关构建服务器又给
 Android
系统带来了不止集成(CI)开发过程。不过不是一切都是那么令人有望——Gradle也在实践进度上遭受批评。在复杂工程方面
Gradle 也实在很慢,但大家盼望以此问题会在接下去的版本和批发中化解。

3.LOLLIPOP

谷歌 说 Lollipop 是自人类诞生以来 Android 系统最大的提升,Google说的不错。 Android
的各样部分都有照应的修改和升级换代,不过大家也并未看到开发者对这个改变有什么样的影响。尽管将旧设备升级到
Lollipop 还有众多问题,不过我们期待这会在接下去的本子中化解。

4.LOLLIPOP 的外在—— MATERIAL DESIGN

对此那多少个叫作 Material Design 的金光闪闪的新 Android UI
有过多要写。这是新近几年Android
系统最着重革新点之一,它完全改观了我们运用的观感。我最欢喜 Material
Design
的是它彻底改变了用户体验条件——一切都首要。尽管是微小的细节也不可以被忽略。我们亟须对每个用户交互、点击、触摸等做出响应。因为,这正如
Google所说的,这个动作都是有意义的。大家不可能不利用石籀文、拥抱新的活泼的色彩、每一步使用动画片、大字体,简单地说,大家要给我们的应用以生命。Material
Design 同样也完全符合 Android
生态系统,适应各个不同的屏幕尺寸。这也就是干什么大家的施用是形似的,但是在不同的平台具有不同等的外观。

 Material Design 动画

5.LOLLIPOP 的内在—— ART

各类人都在议论设计、UI、UI
元素、动画、色彩······,不过大家是开发者,我们感兴趣的是外部之下的东西。而且,哇!!!这引擎真是美极了:ART,新的运转系统。为了记录,ART
并不是如何新东西—它被介绍为 基特kat 上协理的周转序列。通过引入
Lollipop,它完全代替了 Dalvik,成为主系统。由于众多缘由 ART
是伟人的,但我只提及其中两点:

一、它采取AOT(ahead-of-time)编译,这意味它把高中级语言(Dalvik字节码)编译成系统二进制码。这就招致我们运用更短的推行时间、更少的
CPU 占用、更少的电池消耗。在一方面,安装过程也就更长。

二、他提供 multidex 协助。Dalvik dex
文件有个关键缺陷—它们只可以分包65,356种格局。大家必须协会好我们的
Android
应用以使方法毫无超越这多少个界定。固然这多少个数字也许看起来很大,可是即使您把
Google Play
服务(几乎每个应用都需要)算在内,再添加部非常部函数库,你就能轻易超越那多少个限制。ART
以一种突破了字节码以众多 dex 文件打包到一个独自的 APK
的不二法门社团你的使用。

6.ANDROID 无处不在

咱俩伊始给智能手表、电视机、汽车开发使用,为啥要在此平息呢?假使您坐在你的屋子,喝着了一杯热咖啡,花一两秒钟看看您的方圆。在接下去的这几年你也许会师到至少五样运行着
Android
系统的设施—电视机、台式机、平板、相机、自行车、厨房电器、恒温器、汽车等等。Android
伊始作为一种试验,它被认证可以运转在另外一个独具小型微处理器的事物下边。

7.智能手机质料的增高

智能手机依然Android
系统的主导装备。短期以来,智能手机的完整质料有问题。老旧的Android
设备比老旧的 红米 更丑更慢——iOS
通常感觉更通畅。对于那多少个被广大中华创造商们生产的廉价设备来说,这种感受越来越如此。

幸运地是,Android
智能手机的质料和进度稳步进步,所以前些天大家有过多适合各样人的预算和需要的新设备。假如您想拥有一台手机,它富有很高的相机分辨率、优异的计划性、强大的微机和电量,那不是个问题——大家都有。

本人个人最欣赏的品牌是索尼爱立信,它的手机—Moto X、Moto G和Moto E
都富有美妙的线条,同时也实在有着很好的性价比。而在同时,Google的一个协会正力于模块化手机的开发。Project Ara 目的在于彻底动摇 Android
世界,假设整个举行顺利,它有可能会赶到人们面前。

Project Ara 部分

下一步何去何从?

远离JAVA

咱俩早就缓解了 IDE 和系列版本的绝大多数题目,我们就可以关心 Android
其他地点的问题。

恕我直言,在 Android 开发最要旨的题目中最要害的题目是 Java。对不起,Java
Harmony,基于 Java 7 或 Java6,但它不是
Java。不要让自己放错——我确信Java是一门好的编程语言,不过本人也以为我们是时候打破常规了。我们需要先导探寻另外一门编程语言来取代
Java 成为 Android 开发的着力语言。

看看我们最重大的竞争者—Apple。他们一度介绍了一门全新的言语,叫做
斯威夫特(Swift),它构成了数个其他语言(如 Python、Ruby 或
C#)的最优特征。我们曾经比 iOS
开发者开发同一应用需要更多的流年,而这会使我们更慢。

这就是干吗大家需要新东西的投入了。我们早已有了关于哪个语言能够取代Java的局部想方设法。我觉着是
Groovy。它的语法与 Java 分外相似(实际上,它是遵照 Java
的),我们也有局部行事原型了。同时,也并非忘了它是 Gradle
的主语言——所以,为何不把它用于Android 开发呢?或者可能是
Scala(它可以长足拿到新用户),又或者是 Kotlin(Jake Wharton
如今写了一篇很好的有关用于 Android 的 Kotlin 的概论)?

数据库管理变得更好

本人要提议另一个问题—数据库管理 API。即便您再一次亵渎
Andoird,看一眼我们的竞争对手—iOS(核心数据,将更为精确)——你会看到他俩的确怀有得天独厚的办法和创办数据库对象的GUI
和 CRUD 方法,数据库变化监听器。可是只要您回头看下默认的 Android API
——大家还没有离乡背井写那一个极大地震慑我们开发进程的 SQL 命令。

调剂 SQL
错误不是一件容易的事—它可怜消耗时间,我们也远非翻动数据库数据的GUI。虽然也有局部科学的
ORM 库(如 格林DAO、ActiveAndroid 或
SugarORM),然而它们都有和好的问题。我从不曾对它们统统令人满足—他们要不是行使很复杂,要不就是不见一些东西(如数据库改变监听器)。我注意到了
Realm for Android 和
DBFlow,我盼望她们会迎刃而解自身具备的题目还要收缩执行时间。

结论

Android
在过去的几年爆发了宏伟的变更。它已经从一个粗略的智能手机系统进步为一个辅助各样装备的强劲系统。时间会报告我们Android
将会成为何。谁知道几时大家会不会还是足以用它来给核聚变反应堆编程,或者给”终结者“编程。PS.
显著终结者更好玩。

这是自个儿课余时间的翻译,错误很多,还请耐心提出,谢谢!

原文链接:https://www.infinum.co/the-capsized-eight/articles/the-past-present-and-future-of-android-development

相关文章