现代 Android 开发资源汇总
简评:以下资源多数为英文,可能需要科学上网。
现在随着网上的资源越来越多,大家可能经常也会觉得混乱和迷茫。这里是一份可能简单但对我个人很有价值的列表,希望对你也能有帮助。
编程实践
-
Source Control (Git) - 作为一名开发者,应当学会熟练使用 Git。
-
Git Workflows - 在使用版本控制工具时有很多不同的管理方法。主流的有:Gitflow workflow, Centralized workflow, Forking workflow。
-
Continuous Integration(持续集成)- 持续集成是一种软件开发实践,通过自动化的构建流程能帮助开发人员尽快发现问题,提升项目质量。常用的持续集成服务有:Jenkins, Buddybuild, CircleCI, Travis CI 等等。
-
Pull Requests - Pull requests 是一种非常好的开发方法,可以及时获得关于自己所开发代码非常详细的反馈。
-
Agile/Scrum methodologies - Scrum 是一种敏捷开发的方法学,有很多现代软件开发团队都在遵循 Scrum 工作方式。
-
代码质量工具 - 很多公司都在通过代码质量工具来衡量其代码质量。常用的工具有:Sonar, FindBugs, Checkstyle 和 Android Lint。
Android 基础
虽然现在有很多的网站都提供 Android 开发基础的教学,但如果有能力,还是推荐去 Android 的官网看看。
布局
Android 中有很多不同的布局方式:FrameLayout, RelativeLayout, LinearLayout, ConstraintLayout, CoordinatorLayout,确保自己至少能熟练使用这些布局。
构建系统 - Gradle
了解 Gradle 可能是被一些 Android 开发者所忽视的东西。但了解 Gradle 的基础知识能帮助你更好的编写自己的 gradle 任务。
网络
-
Understanding RESTful Services - 目前约 69% 的 API 都是 RESTful API,其也是目前最主流的 Web 服务实现方案,你对其应当有基本的了解。
-
Retrofit — 适用于 Android 和 Java 的 HTTP 客户端。
-
OkHttp — 同时适用于 Android 和 Java 的 HTTP / HTTP2 客户端。
-
Network Profiler in Android — Android Studio 中的网络请求监听工具。
-
Charles Proxy — 非常好用的 HTTP 代理、监视器和反向代理工具。支持 Mac, Windows 和 Linux。
构建 Android 应用
仅仅知道如何编写 Android 代码还远远不够。优秀的 Android 应用程序需要遵循良好的架构设计才能使其易于测试和维护。常用的架构模式有 MVP, MVVM 和 Clean Architecture。了解这些模式之间的差异和各自的特点还是很有必要的。
测试
测试也是开发的一个重要部分,其中单元测试和 UI 测试是你必须理解掌握的部分。
发布
安全性
保护自己的应用,确保其他人无法访问未经授权的内容,你需要做很多事情。至少使用 ProGuard,理解什么是中间人攻击,了解不同的加密方式,在应用中安全的存储信息,保护你的 API Token,证书什么的。
Android 高级主题
如果上面的基础知识你都已经了解了,那么就可以进一步了解下下面的进阶内容:
-
Kotlin - 推荐阅读 Kotlin Koans 和 code lab 的 Build Your First Android App in Kotlin。
-
RxJava - 推荐看著名的 Jake Wharton 关于 RxJava 的演讲视频(在 Youtube 上)。
-
Dagger - 最流行的 Android 依赖注入框架。
-
Material Design - Google 官方推荐的 Android 应用设计指南。
-
Memory Leaks - 在 Android 开发中,内存泄漏还是会经常遇到的。很多开发者都习惯用 LeakCanary 来监控内存泄漏。也可以看看这篇文章。
时刻关注最新的 Android 开发动态
-
订阅 Android Weekly。
-
关注 Reddit 上的 /r/androiddev 频道。
-
在 Twitter 上关注 Android Google Developer Experts, Android Studio 和 Android Dev。
-
有能力的还可以收听 Android 开发相关的知名播客:Fragmented, Android Developers Backstage, The Context, Android Snacks。
原文:Resources for Getting Started with Modern Android Development - Riggaroo
扩展阅读:
Google 官方推出应用开发架构指南