Android 开发中的新技术

一、跨平台相关:

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设计
  1. Material Design:已经红遍了大江南北,这方面的讨论实在太多了,而且各种支持库都有了,特别是 Google 官方出了一个支持库Android Design Support Library
  2. Sketch 3: 这是一个专为设计移动端 UI 的设计工具,作为开发者,不用懂那么复杂的 PS 使用,也可以做非常专业设计:designcode.io/sketch
五、内存检测
1、Infer
Facebook 出品的一个代码静态检测工具,背后有学术界最新的理论支撑,模拟人脑的推理过程,可以有效检测出 Android 代码中的 Null PointerResource Leak,关于 Annotation 有一个很好的建议: Program Safely, Annotate Nothing
二、LeakCanary:
内存泄漏是Android开发里一个非常重要而且头疼的问题,并且在开发过程中很难避免,包括上次 @Gracker 提到的墨迹天气吃掉400M内存很有可能就是因为内存泄漏。内存泄漏不仅会大量的消耗内存,而且容易引发包括OOM在内的很多问题,极大的影响了App乃至系统的性能。LeakCanary是Square的一个开源项目,用于检测Java和Android的内存泄漏,在实际使用之后发现效果非常好,可以轻松的在Debug包中检测出App的内存泄漏。顺便说一句Square也是业内良心,开源库的数量和质量都非常高。

相关链接:
square/leakcanary · GitHub
corner.squareup.com/201




你可能感兴趣的:(Android 开发中的新技术)