Android 开发有哪些新技术出现?

转载:http://www.jianshu.com/p/e4f80f3252ea

作为一个程序员,应该养成持续学习的能力,随时关注新技术,有时候做起事来会让你事半功倍的效果。之前在知乎上看到下面这个问题,觉得很受用,所有就总结了大牛们的回答,也跟着大牛们的脚步,看看有哪些新技术,也跟着学习学习,涨涨见识。

本文参考@Android 笔记在知乎的回答:

Android 开发有哪些新技术出现?

https://www.zhihu.com/question/32037895

Android Studio

Android Studio 是Google 官方推出的全新的Android 开发的IDE,自2013 年发布,目前最新稳定版是1.5。

目前Google 官方放弃 Eclipse 的支持,加上Android Studio 普及。AS 虽然不算新,但是对 Android Studio 这个软件的更新速度快的惊人,有大量的新功能发布。

例如支持很多注解代码提示注解、Live Code Template、支持自动生成 Parcelable 实现等等,作为开发者,持续关注这个更新列表:tools.android.com/recent,一定会让你的写代码的生活更加美好。

而且Android 1.0 之后大量的新特性,让我们的开发更便捷,比如Vector Asset,Theme Editor,Gradle 编译速度大幅提升,Android Studio 2.0 的Install Run 实现的实时运行功能。

Material Design 设计

Android 4.0 的Android Design 留下了诟病,也让Google 下定了决心,在5.0 推出了Material Design 全平台设计语言。它对于每一个点击,每一次滑动都有设计规范。对于设计师和程序员都是值得一看的。

Material Design 设计规范:https://design.google.com/

Design 设计支持库

如果说Material Design 是设计师看的(其实程序员也应该看)。那么的Design 设计支持库,也使得Material Design 设计在Android 中也慢慢实现了。也让没有设计感的程序员也可以制作出惊艳的App。比如Navigation View(侧滑栏),Floating Action Button(悬浮按钮),Snackbar,TabLayout,CoordinatorLayout,App Bar,nestedscrollview。

http://android-developers.blogspot.com/2015/05/android-design-support-library.html

Sketch 3

这是一个专为设计移动端 UI 的设计工具,作为开发者,不用懂那么复杂的 PS 使用,也可以做非常专业设计:https://designcode.io/sketch

RecyclerView

RecyclerView的几大特性:

ViewHolder 模式:在ListView 中需要手动添加ViewHolder 模式,而且不会重用之前的View,RecyclerView默认实现了重用,让绘制View 更加高效。

LayoutManager:设置布局,就可以实现单列表,GridView,瀑布流的效果。

Item Decoration:自定义各种分割线

Item Animator:设置各种炫酷增删动画

RecyclerView 对于不同类型可以很容易添加。现在很多App 的首页很复杂的内容,样式不一样,使用RecyclerView 很容易解决,还有底部加载更多也很容易实现。

Kotlin

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

Fresco

Fresco是Facebook最新推出的一款用于Android应用中展示图片的强大图片库,可以从网络、本地存储和本地资源中加载图片。其中的Drawees可以显示占位符,直到图片加载完成。而当图片从屏幕上消失时,会自动释放内存。

React Native

React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用。在 JavaScript 中用 React 抽象操作系统原生的 UI 组件,代替 DOM 元素来渲染等。

跨平台一直是程序员的梦想,而且移动应用的跨平台解决方案也很多,因为 Facebook 的参与和力推,让这个解决方案带上了光环。第一个用 React Native 开发的 App 已经在 Google Play 上架Facebook 广告管理工具,目前iOS 和Android 版本都已发布,最新版为0.5。

Dagger 2

Dagger 2 是Google 主导开发的依赖注入框架,它是基于Dagger 1(由Square 主导开发),利用生成和写的代码混合达到看似所有的产生和提供依赖的代码都是手写的样子,极大减少了使用者的编码负担,也更便于调试,Google 声称提高了13 % 的性能,。

MVP

我们都知道MVC 模式,MVP 就是基于MVC 的模式上的一个演化版本。在MVC模式中,Activity应该是属于View这一层。而实质上,它既承担了View,同时也包含一些Controller的东西在里面。随着项目的迭代更新,这对开发很不友好,耦合度也原来越高,项目越来越难维护,而MVP 就是解决这样的痛点。把Activity的View和Controller抽离出来就变成了View和Presenter。

DataBindingMVVM

DataBinding 即数据绑定,在前端的框架有很广泛的使用,比如像AngularJS,就支持双向绑定。

所谓MVVM,像Activity,Fragment,View 都属于View 这一层;Model层主要负责数据相关部分,可以从数据库或者网络获取;ViewModel主要是把Model转换为View 可以呈现的东西,例如把一个Date 类型转化为格式化后的String,也就是将前面两者联系在一起的对象,

在Data Binding 支持下,会根据layout 文件名自动生成一个相对应的Binding(比如activity_main,对应生成MainActivityDataBinding 对象),数据绑定在Layout文件中XML标注。

在Google I/O 2015上,伴随着Android M预览版发布的Data Binding 兼容函数库改变了这一切。而在Android Studio 2.5 的预览版,Data Binding 在XML 中也终于有了代码提示功能。

RxJava/RxAndroid

RxJava一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库。用简单的一个词来介绍就是“异步”。

它提供了基于Observable(观察者) 序列实现的异步调用及基于事件编程。

它扩展了观察者模式,支持数据、事件序列并允许你合并序列,无需关心底层的线程处理、同步、线程安全、并发数据结构和非阻塞I/O处理。

它支持Java5 及更高版本,并支持其他一些基于JVM的语言,如Groovy、Clojure和Scala。而且他能和Retrofit 更好的结合使用,也有相对应的RxBus 等框架结合。

Espresso 2.0

近些年,随着Android社区的成熟,出现了诸如Robotium,Robolectric等的优秀测试框架。而Google也在近期推出了自己的UI测试框架Espresso。

Espresso 是一个提供了简单 API 的用于 Android App UI 测试的测试框架。最新的 2.0 版本发布后已经可以在 Android Support Repository 中下载了,那么在项目中集成它就方便多了。它的API 很小,对外扩张开放,测试跑起来那是相当的快,对Gradle 和Android Studio 支持。

Baas

Baas 又称mBaas,全称叫Backend as a Service(后端作为一种服务), 怎么说呢,为移动应用开发者提供后端服务;作为一个移动应用开发者(Android & iPhone),除了开发应用程序,还要做后台的服务器端,当然,大多移动应用开发者并非都懂后端开发, 这让一个应用应用开发者开发一款应用不容易,然而有了Baas,开发者就可以不用管后端开发了,Baas 提供商,提供了我们最常用的功能,比如数据存储,应用分析,IM 等功能,让开发者把主要精力放在应用本身,大大提高了效率。

当然也不一定是移动应用开发者,当然也可以Web 开发,当初Baas 主要是为了解决移动应用开发者的后端服务问题,Baas 也提供其他的服务;国外类似Parse,Firebase,国内像LeanCloud 都是提供这样的服务。

App Indexing

我们都知道网页是一个一个超链接相连的,然而在移动互联网时代,每个App 里的数据就想信息孤岛,App Indexing 就是要打破这样的尴尬,只要你在App 实现App Indexing 功能,你的App 里的数据,就会出现在Google 的搜索结果中,尤其是出海的App,这个功能尤其重要,据说Google 打算实现在网页中直接安装App。

参考

Android 开发有哪些新技术出现?

android - what are recycler view advantages compared to listview - Stack Overflow

关于Android的Data Binding技术 - 泡在网上的日子

在安卓上使用RxJava - ImportNew

Android-Espresso测试框架介绍 - bboyfeiyu/android-tech-frontier

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容