您的位置:首页 > 移动开发 > Android开发

Android 开发中的新技术

2016-04-15 00:34 441 查看
一、跨平台相关:

1、React Native

因为
Facebook 的参与和力推,让这个解决方案带上了光环。第一个用 React Native 开发的 App 已经在 Google Play 上架 Facebook
广告管理工具

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

3、FLUX

Facebook 出品 -
Flux | Application Architecture for Building User Interfaces 。

用于取代 MVC 模型,最大的优势是采用了 unidirectional data flow,Facebook开源的 React 系列(React.js / React Native)都是基于此模型,新发布的 APP - Moments 也是基于 FLUX 模型,业务逻辑部分使用C++编写,两个平台(Android、iOS)共用了1/3 的代码 -Flux
| Application Architecture for Building User Interfaces。

地址 http://reactjs.cn/react/docs/flux-overview.html
4、Go编写跨平台APP

与之前的Go
for android 不同,这次是 Google 官方支持,源码没有放出,只在 Google Play 和 AppStore 发布了用 Go 写的 APP - Ivy
big number calculator

5、dexposed

手淘出品的 AOP 框架,淘系 APP 的 hotpatch 就是基于这个框架,用来紧急修复线上 Bug,源码已经开源 -
alibaba/dexposed · GitHub

这些都是我最近在学习的一些东西,在大牛眼中可能不算新技,献丑了。

欢迎关注我的 github -
LyndonChin (liangfei) · GitHub,我会经常造一些轮子,star一些比较高质量的 repo。

6、Weex.
阿里移动端的动态方案
http://www.chinaz.com/news/2016/0202/502135.shtml
二、开发模式

1、MVP:因为 Android 并没有严格的业务和界面区分,项目一复杂,就很容易使代码陷入混乱。现在 Android 开发社区对 MVP 模式讨论越来越热,觉得 MVP 是非常适合 Android APP 开发。MVP for Android: how to organize the presentation
layer

2、RxAndroid: 函数响应式编程(Functional Reactive Programming)也不是新内容,RxAndroid 把 RxJava 带到 Android 环境中。很多时候,编写 Android 程序,你也可以看成是数据的处理和流动,换一种思想编程,曾经看起来很棘手的问题,瞬间就很优雅的解决了:ReactiveX/RxAndroid
· GitHub

3、MVVM :这是因为开始官方支持 DataBinding,把 MVVM 直接带到 Android 中。数据绑定在 Windows WPF 和 Web 已经非常常见,它非常高效的开发效率,让你只关心你的数据和业务。这也对 Android 开发来说,无疑是一个非常重大的影响:android
UI设计MVVM设计模式讨论? - M.A.G.I 的回答

Android 的 MVVM 框架。因为还处于开发阶段,所以官方只出了一个简单的教程 -Data Binding Guide。很遗憾教程中有好几处错误,具体的用法可以参考LyndonChin/MasteringAndroidDataBinding
· GitHub

4、Hybrid:完全使用
HTML 5 开发 App,目前还不成熟。但是折中方案在很多情况下是非常适合的,典型的就是微信,大部分信息展示都是通过 H5 来完成,同时通过 Hybird 方式,把 Web 和 Native 打通,提供给网页访问本地资源的能力。

三、UI设计

Material Design:已经红遍了大江南北,这方面的讨论实在太多了,而且各种支持库都有了,特别是 Google 官方出了一个支持库Android Design Support Library。
Sketch 3: 这是一个专为设计移动端 UI 的设计工具,作为开发者,不用懂那么复杂的 PS 使用,也可以做非常专业设计:https://designcode.io/sketch

五、内存检测
1、Infer

Facebook 出品的一个代码静态检测工具,背后有学术界最新的理论支撑,模拟人脑的推理过程,可以有效检测出 Android 代码中的Null Pointer 和Resource Leak,关于 Annotation 有一个很好的建议:Program Safely, Annotate Nothing

二、LeakCanary:

内存泄漏是Android开发里一个非常重要而且头疼的问题,并且在开发过程中很难避免,包括上次
@Gracker 提到的墨迹天气吃掉400M内存很有可能就是因为内存泄漏。内存泄漏不仅会大量的消耗内存,而且容易引发包括OOM在内的很多问题,极大的影响了App乃至系统的性能。LeakCanary是Square的一个开源项目,用于检测Java和Android的内存泄漏,在实际使用之后发现效果非常好,可以轻松的在Debug包中检测出App的内存泄漏。顺便说一句Square也是业内良心,开源库的数量和质量都非常高。

相关链接:

square/leakcanary · GitHub
https://corner.squareup.com/2015/05/leak-canary.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: