前言
Android 是一种移动操作系统,用于开发各种移动应用程序。由开发人员组成的开放手机联盟开发它,谷歌于 2008 年 9 月发布了它。由于代码库的进步及其在不同领域的开发人员中的吸引力,Android 的初衷是成为一个移动操作系统,Android已成为平板电脑、可穿戴设备、机顶盒、智能电视、笔记本电脑等所有设备的绝对软件集。截至 2022 年 5 月,Android OS 拥有 71.45% 的移动操作系统市场份额。
Android 开发者的角色是什么?
- Android 开发人员在 Android 平台上创建各种移动应用程序。
- 他们开发我们在智能手机和平板电脑上使用的应用程序,作为他们主要任务的一部分。
- 他们经常与跨职能团队互动,以创建更好、无错误的应用程序。
- Android 开发人员还负责确保在使用时保持应用程序的响应能力和质量。
为什么要学习 Android 开发?
以下是您应该学习 Android 开发的一些原因:
- 它是一种开源技术。
- 巨大的设备市场份额。
- 现在进入市场要容易得多。
- 应用程序拥有巨大的市场份额。
- 有许多不同的工作机会可供选择。
- 简单易学
- 有许多在线课程可供选择。
开始进入 Android 开发需要什么语言、框架和架构?
如果您刚刚开始使用 Android,请不要浪费时间试图找出哪个更好以及您应该使用哪个。人们花太多时间争论要使用的最佳语言、架构或框架,而不是直接介入。
学习 Android 的更好方法是为应用程序做最愚蠢的事情,然后以简单的方式构建它,一旦你发现这样做有某些缺点,你就会理解并欣赏框架或架构的价值。不用担心术语或架构;只需从最基本的课程开始,构建它,然后扩展它,您就会以这种方式学习它。
但是,如果您想了解您的 Android 之旅的最佳或最现代的方式,请坚持到最后,我们将消除任何困惑。
如果有人想在 2022 年开始 Android 开发怎么办?
现在是开始学习 Android 的好时机,因为有很多新东西:整个社区正在或几乎从 Java 切换到 Kotlin,而 Android 的整个 UI 框架最近也从 XML 切换到了 Jetpack Compose。有了所有这些奇妙的东西,现在是开始学习 Android 的好时机。有许多免费和付费材料可供使用;您只需要对该领域感兴趣即可开始。
Kotlin vs Java
在过去的几年里,Kotlin vs Java 一直是一个热门的讨论话题。自 2016 年 2 月 Kotlin 推出以来,程序员一直在争论为 Android 开发选择哪种语言。
Kotlin 相对于 Java 的优势
- 可读性——Kotlin 的代码比 Java 更易于理解和精确,使程序更容易理解。
- Null-Safe - Kotlin 通过在其类型系统中包含@Nullable和来帮助您防止 NullPointerExceptions 。@NonNull基于 Kotlin 的 Android 应用程序崩溃的可能性降低了 20%。
- 富有表现力和简洁- Kotlin 让您可以专注于表达您的想法并编写更少的样板代码。
- 可互操作- Kotlin 与 Java 100% 可互操作,因此您可以在项目中使用尽可能少或尽可能多的 Kotlin。
- 结构化并发- Kotlin 协程简化了异步编程,使网络调用和数据库更新等基本操作变得简单且高效。
您可以使用 XML 创建 UI,但从长远来看,您应该学习 Jetpack Compose,因为它是 UI 设计方面的原生 Android 开发的方向。
Jetpack Compose 相对于 XML 的优势
- 使用 Jetpack Compose 完全重新设计了 Android 用户体验。
- Jetpack Compose 与 XML 完全兼容,反之亦然。
- 需要编写的代码更少。
- 它修复了一堆 UI 问题。
- 以及更多。
有人可以在不了解 Java 的情况下从 Kotlin 开始吗?
是的,绝对可以。你根本不需要从java开始,如果你必须在一些遗留项目上工作,你只需要学习java。两种语言都很相似,学习另一种应该不难,不管你先学哪一种。目前,Kotlin 更易于使用,因为 Google 推出的所有这些较新的库都针对 Kotlin 进行了优化。因此,编写 Kotlin 比编写 Java 更容易。
我可以将 Jetpack Compose 与 Java 一起使用吗?
不,您不能用 Java 编写 Jetpack Compose 组件。Jetpack Compose 仅在 Kotlin 中可用。
规划图(可选)
互联网上有很多android开发的路线图,你只需要谷歌一下就可以了。然而,我在这里分享了一个路线图,您可以使用它开始工作。
注意:路线图不包括Jetpack Compose,而是包括XML。