【干货】2017这些技术——你都了解过吗

插件化

热更新

对Android平台,我们通常所说的在线热更新就是,例如对已经发布在应用市场上的宿主APK,当我们从crash统计平台上发现某个函数调用有bug,导致经常性crash,这时,可以在本地开发一个补丁APK,并发布到服务器中,宿主APK下载这个补丁APK并集成后,就可以很容易修复这个crash

  • 安卓热更新之Nuwa实现步骤

    http://blog.csdn.net/snailbaby_soko/article/details/69524380

    • 美团Android热更新开源框架Robust的使用教程:

    http://blog.csdn.net/snailbaby_soko

    热修复

  • Android 热修复 Tinker接入及源码浅析

    http://mp.weixin.qq.com/s/WHYA4aTWIHcd8CQ95StwDg

  • Android 热修复 Tinker 源码分析之DexDiff / DexPatch:

    http://blog.csdn.net/lmj623565791/article/details/60874334

  • Android热修复学习之旅——HotFix完全解析:

    http://blog.csdn.net/u012124438/article/details/62511438

ReactNative

  • React-native完整实例—妹子图片查看:

    https://Git.oschina.net/sleepforests/mmjpg-react-native

  • RN开发

    http://blog.csdn.net/u012515223/article/category/5990897

Kotlin:

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

    http://ragnraok.github.io/using-kotlin-to-write-android-app.html

    Dagger

    • 依赖注入并不是什么新技术,但是使用在 Android 确实一个新的尝试。Android App 越来越被当成严肃的大型项目来构建,很多在以前大型服务器开发上使用的技术都被应用到了移动开发。Android 开发分模块开发,使用 Dagger 来松耦合模块。特别值得一体的是,Dagger 2 现在由 Google 亲自接管。

    https://google.github.io/dagger/

Material Design:

已经红遍了大江南北,这方面的讨论实在太多了,而且各种支持库都有了,特别是 Google 官方出了一个支持库 Android Design Support Library。

  • https://android-developers.googleblog.com/2015/05/android-design-support-library.html

Sketch3

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

    https://designcode.io/sketch

Design Support Library

  • 关于这个网上已经有很多资料了,补充几个学习的好链接。

  • MD的资源文件

    https://material.io/guidelines/resources/sticker-sheets-icons.html

  • 实例源码

    https://link.zhihu.com/?target=https%3A//github.com/chrisbanes/cheesesquare

  • GitHub循序渐进、非常易懂的教程

    https://inthecheesefactory.com/blog/android-design-support-library-codelab/

  • 比较完整的教程

    https://guides.codepath.com/android/Design-Support-Library

http://blog.csdn.net/feelang/article/details/46348079

MVP

MVP越来越多的被Android社区所讨论,有点是能够让代码更清晰,但同时也会增加很多类,写起来更麻烦,不过对于一些不是很庞大的项目却是非常适合的。

这里提供一个最先采用MVP模式的开源项目:

https://github.com/pedrovgs/EffectiveAndroidUI

MVVM

因为官方支持 DataBinding,把 MVVM 直接带到 Android 中。它非常高效的开发效率,让你只关心你的数据和业务,从此数据绑定会更加常见。

http://t.cn/RbHmnhE

RxJava

最近响应式编程框架RxJava越来越受大家待见,RxJava让你异步任务更简洁方便,以我对技术的敏感性认为RxJava可能会越来越普遍,推荐大家学习。这里有一系列详细的资料教你学习。 https://github.com/lzyzsd/Awesome-RxJava

另外几个动态加载及热部署框架汇总

1.DroidPlugin

用途:动态加载

使用案例:360手机助手

GitHub地址:https://github.com/Qihoo360/DroidPlugin

ppt介绍:https://github.com/Qihoo360/DroidPlugin/tree/master/DOC

Demo:https://github.com/SpikeKing/wcl-plugin-test-app

详解:

http://blog.csdn.net/yzzst/article/details/48093567

http://v2ex.com/t/216494

2.AndFix

用途:热修复

GitHub地址:https://github.com/alibaba/AndFix

讲解:

http://blog.csdn.net/yzzst/article/details/48465031

http://blog.csdn.net/qxs965266509/article/details/49816007

http://blog.csdn.net/yaya_soft/article/details/50460102

3.dexposed

用途:热修复

GitHub地址:https://github.com/alibaba/dexposed

讲解:

http://blog.csdn.net/yzzst/article/details/47954479

http://blog.csdn.net/yzzst/article/details/47659987

http://www.jianshu.com/p/14edcb444c51

4.Small

用途:动态加载

GitHub地址:https://github.com/wequick/Small

Demo:https://github.com/cayden/MySmall

  1. DynamicAPK

用途:动态加载、热修复

案例:携程

GitHub地址:https://github.com/CtripMobile/DynamicAPK

详解:http://www.infoq.com/cn/articles/ctrip-android-dynamic-loading

6.ClassPatch

用途:热修复

GitHub地址:https://github.com/Jarlene/ClassPatch

详解:http://blog.csdn.net/xwl198937/article/details/49801975

7.ACDD

用途:动态加载

GitHub地址:https://github.com/bunnyblue/ACDD

8.HotFix

用途:热修复

GitHub地址:https://github.com/dodola/HotFix

该项目是基于QQ空间终端开发团队的技术文章实现的

9.Nuwa

用途:热修复

GitHub地址:https://github.com/jasonross/Nuwa

详解:http://www.jianshu.com/p/72c17fb76f21/comments/1280046

10.DroidFix

用途:热修复

GitHub地址:https://github.com/bunnyblue/DroidFix

详解:http://bunnyblue.github.io/DroidFix/

11.AndroidDynamicLoader

用途:动态加载

GitHub地址:https://github.com/mmin18/AndroidDynamicLoader

Demo:https://github.com/mmin18/AndroidDynamicLoader/raw/master/host.apk

AndroidApp源码推荐

iosched

iosched项目是Google I/O的官方app,绝佳的学习项目。

https://github.com/google/iosched

android-UniversalMusicPlayer

也是Google官方作品,代码量不大、注释清晰,简单但全功能的音乐播放器。

https://github.com/googlesamples/android-UniversalMusicPlayer

android-topeka

这个项目是Google前段时间刚发出来,通过这个app,你还可以学到如何设计你app的交互和视觉以更好的和MaterialDesign搭配。

https://github.com/googlesamples/android-topeka

Google的项目有些时候对于初学者有点困难,下面就推荐两个完整的轻量的学习项目。

9GAG

9GAG是我个人的开源练习项目,教你使用Studio、Gradle以及一些流行的开源库快速开发一个不错的Android客户端。

https://github.com/stormzhang/9GAG

AnimeTaste

代码家开源的一个线上关注动画的一个App,同样适合初学者学习。

https://github.com/daimajia/AnimeTaste

Awesome-MaterialDesign

Awesome-MaterialDesign - MaterialDesignCenter改名为Awesome-MaterialDesign,优化了布局,新增了不少库。

https://github.com/lightSky/Awesome-MaterialDesign

ui库

非常多的ui及特效

https://github.com/wasabeef/awesome-android-ui

ChipsLibrary

在Android EditText中实现打Tag功能。

https://github.com/AndroidDeveloperLB/ChipsLibrary

bitmapMesh - 拉窗帘效果。

ObservableScrollView - 在滚动的视图观测滚动事件的Android库 它易于与在Android 5.0 Lollipop中引入的工具条Toolbar相交互,并能够帮助实现Material Design apps的外观。

https://github.com/ksoichiro/Android-ObservableScrollView

相信自己,没有做不到的,只有想不到的

如果你觉得此文对您有所帮助,欢迎入群 QQ交流群 :232203809
微信公众号:终端研发部

你可能感兴趣的:(自定义View,kotlin探究之旅,源码,技术汇总)