现如今,拥有着 80% 的市场份额的 Android
是最主流的手机操作系统。它运行在成千上万的智能手机、平板以及任何各类各类的装备上。仅凭那点,大家是否足以认为
 Android 编程是简简单单而轻松的吧?

几年前,Miley Cyrus 还在唱着摇滚乐,贾斯汀(Justin)(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

Google 说 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
智能手机的质地和进度稳步提高,所以先天我们有过多适合各个人的预算和需要的新设备。假使您想拥有一台手机,它富有很高的相机分辨率、优异的规划、强大的统计机和电量,这不是个问题——大家都有。

自家个人最欣赏的品牌是Samsung,它的手机—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)(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 库(如 格林(Green)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

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图