本文最初发布于 ProAndroidDev 博客。
多年来,Android 生态系统发生了巨大的变化,其开发工具也随之改变。
本文将介绍一个人如何开始他的 Android 开发生涯,内容包括什么重要,什么不重要,以及如何做才能找到自己的第一份工作。
2017 年,谷歌正式宣布支持使用 Kotlin 进行 Android 开发。现代 Anroid 应用程序和库都是用 Kotlin 编写的,尽管 Java 仍然在使用,但主要是出于遗留原因。这两种语言非常相似,一个项目可以同时使用这两种语言。Java 比 Kotlin 历史更悠久。这意味着 Java 有更多的工具和支持。Kotlin 是一种现代语言,使用起来更简单。
尽管 Kotlin 是官方推荐的 Android 开发语言,但谷歌对这两种语言都提供了很好的支持。在业界,大多数公司都要求 Android 开发人员具备 Kotlin 知识和经验,而不是 Java。正因为如此,我建议你专注于学习 Kotlin。
同时,不要忽视网上的 Java 资源和教程。有很多用 Java 编写的 Android 资源,至今仍很有意义。
Android Studio 是 Android 开发的官方 IDE,它基于 JetBrains 的 IntelliJ IDEA。它的一个很酷的特性是自动将 Java 代码转换为 Kotlin。这意味着,你能在网上(如 StackOverflow.com 上)找到的任何代码片段都可以转换为 Kotlin。
除了 Java 和 Kotlin 之外,你也可以选择其他语言,如 C#、JavaScript 等。在本文的后半部分,我们会简要地讨论一下。
只要你有一台电脑并能访问互联网,就可以百分之百免费的学习 Android 开发。不需要任何 Android 设备就可以开始学习或构建应用。
官方的 Android 开发网是一个很好的起点。在那里,你可以找到有关如何开始学习和发布 Android 应用程序的资源。例如,《Kotlin Android 开发入门》就非常不错,它介绍了 Android 开发的基础知识,而且完全免费。
谷歌也提供了许多 Android 代码实验室。当你对 Android 开发有了更深的了解,需要深入探索更多的主题时,就可以到代码实验室通过实践进行学习了。
最好的学习方式是实践。一旦你对如何创建自己的 Android 应用有了一个大概的想法,就可以开始构建了。
这是目前为止最好的学习方式:
它将提供大量你在今后的日常工作中需要的技能。
它将使你在处理代码以及自己寻找答案时更加自如。
它将为你的简历提供一些具体的内容。一个小而精湛的应用将创造奇迹。想一想你希望有一款什么应用,或者你希望每天都要做的事情能自动完成。它不必是完美的,也不必与 Uber 或 Facebook 竞争;你只需要把它开发完成并发布出来。
加入一个社区可以对你的职业发展产生巨大的影响。有一群和你有着同样奋斗经历的人,可以让你感觉不那么沮丧,可以互相提携。这也有助于与业内人士建立起长期的联系。
这个行业比你想象的要小得多。人们往往喜欢与他们已经认识的人一起工作。市场上最好的工作不是通过招聘信息,而是通过口耳相传。你在梦想公司的朋友会非常乐意为你介绍你梦想的工作,而不是去面试可能申请相应职位的一千名候选人。这是双赢。
最后,同样重要的是,社区通常会分享学习技巧、新闻、工具和备忘录。人们会很乐意与你分享,而不是让你自己去寻找这一切。
看下你当地的社区(比如你的学校 / 大学 / 黑客组织),看看是否有人在学习 Android。如果你碰巧有朋友在从事 Android 开发,很有可能他们已经加入了某个社区,他们肯定很高兴介绍你加入。
谷歌有一个全球范围的谷歌推广社区,称为谷歌开发者小组或 GDG,这里(https://gdg.community.dev/chapters)有目录。
meetup.com 可以用来查询附近和网上的 Android 聚会,这可以作为寻找社区的好线索。
/r/androiddev 是一个很好的地方,在这里可以看到 Android 开发者们在聊什么,它本身就是一个大型的全球性社区。
最后,同样重要的是,看看 Android 官方的 Twitter 账户(@AndroidDev)。它非常活跃,经常会分享大量有用的信息。
证书和文凭在就业市场上迅速失去价值,许多大公司已经不再要求计算机科学学位。
相反,使候选人在与其他人的竞争中脱颖而出的是工作经验。幸运的是,对于我们的职业,这一点可以通过互联网实现。具体来说:
构建并向世界发布一款真实的应用程序(即通过 Play Store)。
在 GitHub 上创建一个账号,并为开源软件做贡献。
通过博客和社交媒体分享在线学习经验。上述几条有个很大的好处,就是没有时间限制,可以在你的整个职业生涯中增加你的信誉。
一家公司在开发 Android 应用时,通常会开发同一应用的 iOS 版本。为了节省精力和金钱,人们创造了新的技术,使用相同的代码库生成 Android 和 iOS 应用。诸如 Xamarin、Flutter 和 React Native 等框架就是在这种情况下产生的。
它们与原生 Android 开发有很大的不同。它们有自己的工具、编程语言、社区、优点,最重要的是,还有问题。在使用这些技术时,除了 Android 和 iOS 原生开发的问题外,你还将不得不解决每个框架所特有的问题。
先从 Android 开发的基础知识开始,了解它的不同寻常之处,然后再进入更多未知的领域。
Jetpack Compose 是谷歌新推出的一个 Android UI 框架。这是一种使用 Kotlin 编写 UI 的新方法。从正面说,使用新框架是一种乐趣。
但实际上,该框架最近才发布了 1.0 版。这意味着许多公司还没有多少机会使用它,许多公司正在设法弄清楚如何在他们的应用中使用它。目前,很多工作都还没有这个要求。
如果是现在开始学习 Android 开发,那么我建议你专注于 Android 的基础知识,并使用 Views 构建自己的第一个 Android 应用。你可以随时用 Compose 开发一个新的应用,看看它是什么样子。
在从事了 10 年的 Android 开发工作后,如果要重新开始我的职业生涯,我就会像上面所说的那样做。希望这篇文章涵盖了你在开始工作时可能遇到的所有未知的情况。
感谢 Daniele Conti、Chris Basha 和 Sebastiano Poggi 校对这篇文章。此外,我在 Twitter 上很活跃,我会分享我正在构建的东西。欢迎关注我(@alexstyl),获取更多有关 Anroid 开发的信息。
查看英文原文:
https://proandroiddev.com/if-i-were-to-start-my-android-career-in-2022-here-is-how-i-would-do-it-c7f149dc8cbf
点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!
一边在大厂一线搬砖、一边操着CTO的心搞开源:一位普通中年程序员的开源十年路
ClickHouse为啥在字节跳动能这么火?| 卓越技术团队访谈录
大佬愤怒喊话:做Kubernetes开源工作难以在大厂内晋升
隐居、反内卷,不意味着躺平|专访2021年度“杰出新自由软件贡献者”奖得主
城市站点北京站马上开幕了!
参加线下沙龙你可以加入北京技术圈儿、拓展你的朋友圈人脉、遇到志趣相投的伙伴、获取 InfoQ 精美周边等!快扫描下方二维码报名参与吧!
点个在看少个 bug 👇