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

标签: android 开发 技术 | 发表时间:2016-02-01 17:06 | 作者:
出处:http://www.iteye.com
作为一个程序员,应该养成持续学习的能力,随时关注新技术,有时候做起事来会让你事半功倍的效果。之前在知乎上看到下面这个问题,觉得很受用,所有就总结了大牛们的回答,也跟着大牛们的脚步,看看有哪些新技术,也跟着学习学习,涨涨见识。

引用
本文参考 @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。
引用

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。

DataBinding MVVM

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。

本文转自: Tikitoo Blog

感谢 mengyidan1988 投递这篇资讯

资讯来源: Tikitoo Blog

已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [android 开发 技术] 推荐:

Android开发常用技术建议

- - CSDN博客推荐文章
1.Android应用主线程(UI线程)中,将网络请求、数据库操作等耗时的操作从主线程移动到一个单独的线程中. 使用AsyncTask或者IntentService来创建后台操作. 使用IntentService时需要注意以下几点限制:这个类不要给UI传递信息,使用其他Activity来向UI传数据;每次只能处理一个请求请求过程不能中断;.

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

- - ITeye资讯频道
作为一个程序员,应该养成持续学习的能力,随时关注新技术,有时候做起事来会让你事半功倍的效果. 之前在知乎上看到下面这个问题,觉得很受用,所有就总结了大牛们的回答,也跟着大牛们的脚步,看看有哪些新技术,也跟着学习学习,涨涨见识. 本文参考 @Android 笔记在知乎的回答:. Android 开发有哪些新技术出现.

android 4.4省电技术详解,如何开发一个省电的app

- - CSDN博客推荐文章
安卓4.4的推出,省电技术方面谷歌又表示进行了改良!让我们一起了解安卓4.4省电技术到底做了什么改变!. a)任何App包括后台Service应该尽可能减少唤醒CPU的次数,比如IM类业务的长连接心跳、QQ提醒待机闹钟类业务的alarm硬时钟唤醒要严格控制;. b)每次唤醒CPU执行的代码应该尽可能少,从而让CPU迅速恢复休眠,比如申请wake lock的数量和持有时间要好好斟酌;.

Android开发Tips

- - CSDN博客推荐文章
欢迎Follow我的 GitHub, 关注我的 CSDN.. 介绍一些, 在Android开发中, 会经常使用的小知识点.. submodule与git可以保持实时同步. 导入, 路径多于一个, 前面不添加冒号(:).. 使用PackageManager.. // 检查App是否安装 private boolean appInstalledOrNot(String uri) {.

Android换肤技术总结

- - SegmentFault 最新的文章
纵观现在各种Android app,其换肤需求可以归为. 白天/黑夜主题切换(或者别的名字,通常2套),如同花顺/自选股/天天动听等,UI表现为一个switcher. 多种主题切换,通常为会员特权,如QQ/QQ空间. 对于第一种来说,目测应该是直接通过本地theme来做的,即所有图片/颜色的资源都在apk里面打包了.

Android 开发者调查

- - 爱范儿 · Beats of Bits
Startup 是为 Android 开发者提供盈利模式的一个公司. Android 开发者只要在应用上推广 Startup 服务,并且为网站带去流量,就可以得到网站给予的补贴. 今年 3 月的时候,Startup 网站对 Android 开发者进行了一次调查. 现在,他们将调查的结果制成了信息图,并 发布在网站之上.

Android敏捷开发指南

- - 互联网的那点事
本文紧密结合移动开发方法与技术,围绕Android平台的开发探讨提供更高质量移动产品的解决方案. 作者中分析了移动开发中常见的问题,从两方面阐述了ThoughtWorks使用的测试开发方案和相应的架构方法与常用工具应用,并进一步阐述了为移动开发流程所提供的持续发布方案. 随着云计算、移动互联等一系列新技术概念的崛起,新一轮的IT经济正在不断扩大发展.

Android应用开发资源

- - InfoQ cn
Android应用设计和开发人员现在可以参考由Android用户体验(UX)团队官方发布的 Android设计指南. 该指南提供了开发者应该遵循的基本原则,并列出了很多细节指导,涉及 设备与显示、 主题、 触控交互、 度量与栅格、 排版、 色彩、 图标设计,以及如何 编写用户交互界面的提示语.

Android 开发视频推荐

- - 大猫の意淫筆記
作为 Android 死忠粉,总是想自己来两手,无奈没摸过后台开发,面向的唯一对象就是马总. 花了个把星期入个门,发现还是挺好玩的. 市面上的 Android 入门书有2个主要问题,一个是都要求有 Java 基础,另一个是跟不上 Android 版本更新.所以并不推荐买书学习. 斯坦福大学公开课:编程方法学.

Android程序反破解技术

- - CSDN博客推荐文章
    对抗反编译可以大概分为以下几点:.     1、对抗反编译工具,例如apktool、dex2jar等.     2、对抗静态编译,分为代码混淆技术、NDK保护、apk加壳保护.     3、对抗动态调试,分为检测调试器、检测模拟器.     4、防止重编译,分为检查签名,校验保护.     更多相关内容请参考《Android软件安全与逆向分析》.