现代 Android 开发资源汇总

现代 Android 开发资源汇总_第1张图片

简评:以下资源多数为英文,可能需要科学上网。

现在随着网上的资源越来越多,大家可能经常也会觉得混乱和迷茫。这里是一份可能简单但对我个人很有价值的列表,希望对你也能有帮助。

编程实践

  • 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 的官网看看。

  • 应用基础知识

  • 应用清单

  • Code lab — Build your first Android App

布局

Android 中有很多不同的布局方式:FrameLayout, RelativeLayout, LinearLayout, ConstraintLayout, CoordinatorLayout,确保自己至少能熟练使用这些布局。

  • 支持不同屏幕尺寸

  • Code lab — ConstraintLayout

  • Code lab — CoordinatorLayout

构建系统 - Gradle

了解 Gradle 可能是被一些 Android 开发者所忽视的东西。但了解 Gradle 的基础知识能帮助你更好的编写自己的 gradle 任务。

  • Gradle Documentation

  • 配置构建

网络

  • 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。了解这些模式之间的差异和各自的特点还是很有必要的。

  • Android Architecture Components Guide

  • Android Architecture Components (part 1, 2, 3)

  • Introduction to Android Architecture Components Video

  • Google Sample App Github Repository

  • Code lab — Persistence

  • Code lab — Lifecycle Aware Components

测试

测试也是开发的一个重要部分,其中单元测试和 UI 测试是你必须理解掌握的部分。

  • 测试支持库

  • Espresso

  • JUnit

  • Mockito

  • Code lab — Android Testing

  • Code lab — Android Performance Testing

发布

  • 准备发布

  • 签署您的应用

  • 对您的应用进行版本控制

  • 压缩代码和资源

安全性

保护自己的应用,确保其他人无法访问未经授权的内容,你需要做很多事情。至少使用 ProGuard,理解什么是中间人攻击,了解不同的加密方式,在应用中安全的存储信息,保护你的 API Token,证书什么的。

  • 安全要点

  • Certificate Pinning

  • SafetyNet API

  • Android 密钥库系统

Android 高级主题

如果上面的基础知识你都已经了解了,那么就可以进一步了解下下面的进阶内容:

  • Kotlin - 推荐阅读 Kotlin Koans 和 code lab 的 Build Your First Android App in Kotlin。

  • RxJava - 推荐看著名的 Jake Wharton 关于 RxJava 的演讲视频(在 Youtube 上)。

  • Dagger - 最流行的 Android 依赖注入框架。

  • Material Design - Google 官方推荐的 Android 应用设计指南。

  • 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 官方推出应用开发架构指南

你可能感兴趣的:(现代 Android 开发资源汇总)