自从谷歌宣布Kotlin成为Google IO 2017中Android开发的官方语言之后,想要成为Android开发者的程序员正处于选择的困境之中。现在,他们面前的大问题是他们应该学习Kotlin还是Java?这个问题的答案取决于你的个人情况。如果你是一个想要学习Android开发的完全初学者,那么我的答案是Java,但是如果你是想要进入Android应用程序开发利润丰厚市场的Java开发人员,那么我的答案是Kotlin。
当我说,初学者应该从Java开始,你可能正在想为什么,Kotlin更有效率,更少的样板代码,现在是Android开发的官方语言,这家伙是竟然建议学习Java...
呃,作为一个Java开发者,我可能会有点偏见,但我会试着解释我的理由,为什么我建议一个初学Android开发者从Java而不是Kotlin开始。
Android开发初学者应该从Java开始
首先,Android开发并不是一切,作为一名程序员,您可能会从Android开始您的职业生涯,但是如果您从Java这样一个完善的语言开始,您将成为更大的Java社区和市场的一部分,直接意味着更多的就业机会
第二个也是更重要的是有一个Java程序员的庞大社区,这意味着当你陷入困境时你可以找到答案。这是非常重要的,因为作为一个初学者,你将面临很多技术问题,你可能不知道在什么时候卡住,当你卡住。
当你在Google上搜索一个Java问题时,你肯定会得到答案,对于Kotlin来说,这仍然是一种新的编程语言。
还有更多的教程,书籍和课程,既有免费的,也有付费的,可以教你用Java进行Android开发,例如Java程序员的Android资源清单,但对于Kotlin,特别是Android开发上的免费资源并不多。
当越来越多的程序员开始使用Kotlin的时候,事情肯定会有所改善,但是我怀疑它能否触及Java编程语言的流行和采用。
这就是为什么我建议一个初学程序员想成为Android开发人员,而不是从Kotlin开始。
但是,这并不是一个硬性规定,如果你更喜欢学习Kotlin而不是Java,这是因为生产力的原因,并且主要关注于Android开发,那么你肯定可以从Kotlin开始。
想学习Android的Java程序员
现在回到想要学习Android开发的第二组程序员,也就是我们的Java开发人员。对他们来说,我认为最好的学习Kotlin是因为它真的提高了生产力。
一个在Java中占50行代码的类实际上可以写在Kotlin的一行中。它可以帮助你避免所有的锅炉代码,例如你不需要指定getter和setter,equals(),hashCode()或toString()方法。Kotlin可以自己生成所有这些。Kotlin 和 Java 在生产力和编写类似的代码方面的 比较是一个很好的比较 :
如果你不知道,Kotlin是由JetBrains开发的,后者是最流行的Java IDE IntelliJ IDEA之一。他们是一家Java商店,开发了像IntelliJ IDEA,PyCharm,ReSharper这样的IDE,它们都是用Java编写的,并且构建了Kotlin来提高他们的工作效率,但是同时他们不能在Kotlin中重写所有的代码,这就是为什么他们使得Kotlin与Java完全兼容。
由于Kotlin生成Java字节码,所以您可以在Kotlin中使用您最喜欢的Java 框架和库,您的Java朋友也可以使用您开发的任何Kotlin框架。即使像春天主要Java框架已经开始从春天5.支持科特林如果没有什么是在春季新增5项,检查此了。
尽管目前几乎所有Android代码,示例,应用程序都是使用Java,但将来会发生变化,因为Google已经宣称Kotlin是Android应用程序开发的官方语言。
许多公司已经开始使用Kotlin进行Android应用开发,这也是我认为Java开发人员应该在2018年学习Kotlin的主要原因。
如果您决定在2018年学习Kotlin,那么来自Udemy的Kotlin for Java开发人员课程是一个很好的开始用。对于Java开发人员来说这是一个毫无意义的课程,可以帮助您立即与Kotlin一起工作。
您不需要从什么是变量和对象开始,因为与其他初学者Kotlin Android开发课程相比,本课程对于Java开发人员来说具有正确的步调和深度。
如果你喜欢书,那么Kotlin in Action也不错。您可以了解Kotlin的所有基本特性,例如var vs val,data关键字和函数式编程。
这就是Android开发者是否应该学习Kotlin或Java。正如我所说,如果你是一个完全的初学者谁想要开始你的职业生涯的Android开发人员,你最好从Java开始。您不仅可以及时加快速度,而且您将拥有更好的社区支持和Java知识,将来可以为您提供帮助。这也将有助于你将来学习Kotlin。
而且,如果您是Java开发人员,那么您最好开始学习Kotlin,不仅可以提高您的工作效率,还可以帮助您成为了解Kotlin的Java开发人员利润丰厚的利基的一部分,从而为您提供在就业市场上的竞争优势。
领取专属 10元无门槛券
私享最新 技术干货