Kotlin 空降“上位”已满月,有对你带来变化吗?

简介:

自从5.18 Google IO 大会到现在,Kotlin 已实打实的“上位”一个月。不知道你自己或者身边有没有人开始学习和使用 Kotlin 呢? Kotlin 有对你带来什么变化吗?欢迎回复讨论。

Kotlin 的空降似乎让许多人措手不及,在此之前国内关于 Kotlin 的资料十分稀少。即使到现在,也有不少人对 Kotlin 不甚了解。有一些 Kotlin 相关的公众号曾整理和解答过一些常见的问题,或许对大家有所帮助:

Kotlin 是什么?

我刚刚接触 Kotlin 是在两年前,那会儿的 Kotlin 更像是 A Better Java,它能做 Java 能做的任何事情,而且还要更出色。那时候我们还经常称 Kotlin 是一门 Jvm 上的静态语言,尽管 Kotlin-js 也在实验当中;而现在,我们只好称 Kotlin 是一门全栈的静态语言了,因为小伙儿长壮实了,不仅通吃 Jvm,Android 和前端,连 Native(注意不是 Jni)也要搞搞,真是前景一片大好。

说白了,它就是一门编程语言而已,在 Android 上被 Google 钦点,就像 Swift 之于 iOS,并不是什么洪水猛兽,不应该觉得害怕和恐慌。

没有 Java 基础,我应该学 Kotlin 吗?

应该学,作为一个有追求的程序员,你不仅要学 Kotlin,而且要了解各类型的语言,这跟你什么基础没有关系,大家都有过一个什么都不会的曾经。

但是,现阶段,Kotlin 跟 Java 关系实在密切,只要你希望用 Kotlin 开发 Jvm、Android 相关的应用程序,Java 你就必须学会,而且要学好,因为它太重要了,除了大量的 Jdk、Sdk 源码都是 Java 的以及大量的资料都是 Java 的 之外,Java 更是 Java 系语言的标杆,你需要学习掌握它,了解这一族语言的应用思路,和开发习惯,甚至了解 Java 的弊病来真正明白为什么会有 Kotlin、Groovy、Scala 这样的语言诞生。

一句话,Java 不牢,地动山摇。

不学 Java 可以直接搞 Android 开发吗?

可以,做了很多年 Android 开发的我们居然会惊讶的发现,可以用来开发 Android 语言好多,Java 系的 Groovy、Scala 就不提了,连 C# 都可以,真是条条大路通罗马。

但是,主流语言仍然是 Java,这将是在短期内无法动摇的,加之 Kotlin 与 Java 一脉相承,关系密切,所以无论如何你都逃不过 Java 的学习。

Kotlin 会不会慢慢把 Java 取代了?

短期内不会,但会 Kotlin 的开发会把不会 Kotlin 的开发慢慢取代倒是极有可能。

Java 虽然一身毛病,但短期内其地位是无法被撼动的,为什么?一方面自然有积重难返的原因,毕竟 Java 的积累很多,完全清空转向新生的 Kotlin 或者其他语言不是一件容易的事,而且也没有必要。用 Java 写的应用不是仍然好好的在应用商店躺着吗,老板凭什么要为 Google 的钦点额外付费?

那么后面的发展可能是怎样的呢?公司老板慢慢发现 Kotlin 比 Java 的开发效率高,可以节省人力,于是尝试逐渐过渡,进入 Java 和 Kotlin 混合开发阶段,不过他接着发现,掌握 Kotlin 的程序员的成本要高一些,于是他开始盘算到底是招 10 个 Java 合适还是招 7 个 Java & Kotlin 合适。等到掌握 Kotlin 的人越来越多,大家会普遍倾向于认为 Kotlin 是一门必备技能,不会 Kotlin 的话就会被淘汰,这时候老板就只会招 Java & Kotlin 了。

现在用 Kotlin 开发 Android 靠谱吗?

额。。看到这个问题的时候其实我好难过,然后瞬间又不难过了,因为难过的应该是 Google——你看,人家都不相信你呀。

我从两年前开始接触 Kotlin,大概在一年半以前开始所有个人开发的应用都直接使用 Kotlin 开发,接着在公司项目中小范围尝试了 Kotlin,单从编程语言层面来看,Koltin 几乎没有任何问题,Google 也通过这次 IO 大会试图在告诉我们这一点。坚定支持 Kotlin 的还有 Square.Inc 的 Jake 大神,如果你不知道他的话,我建议你的领导开除你。国内使用 Kotlin 的公司比较有名的有沪江、英语流利说等,他们都有了比较长的使用历史,一些创业公司也发现 Kotlin 能为他们的团地带来活力,让兄弟不至于很辛苦,比如北京的快乐迭代。

所以,如果你为 Kotlin 开发 Android 靠谱不靠谱,我告诉你,非常靠谱。

但是。。。怎么每个问题都有个但是。。。如果你想要将 Kotlin 应用于到你们的项目中,那么请你先与你的领导或者同事沟通好,以免造成不必要的麻烦。

文章转载自 开源中国社区 [http://www.oschina.net]

目录
相关文章
|
8月前
|
Java Kotlin
kotlin不容忽视的小细节
kotlin不容忽视的小细节
27 0
|
13天前
|
Java 编译器 Android开发
构建高效Android应用:探究Kotlin与Java的性能差异
【5月更文挑战第1天】 在移动开发的世界中,性能优化始终是开发者关注的焦点。随着Kotlin的兴起,许多团队和开发者面临着一个选择:是坚持传统的Java语言,还是转向现代化、更加简洁的Kotlin?本文通过深入分析和对比Kotlin与Java在Android应用开发中的性能表现,揭示两者在编译效率、运行速度和内存消耗等方面的差异。我们将探讨如何根据项目需求和团队熟悉度,选择最适合的语言,以确保应用的高性能和流畅体验。
|
2月前
|
API 数据库 Android开发
构建高效Android应用:探究Kotlin多线程优化策略
随着移动设备性能的日益强大,用户对应用程序的响应速度和流畅性要求越来越高。在Android开发中,合理利用多线程技术是提升应用性能的关键手段之一。Kotlin作为一种现代的编程语言,其协程特性为开发者提供了更为简洁高效的多线程处理方式。本文将深入探讨使用Kotlin进行Android多线程编程的最佳实践,包括协程的基本概念、优势以及在实际项目中的应用场景和性能优化技巧,旨在帮助开发者构建更加高效稳定的Android应用。
|
2月前
|
Java 测试技术 Android开发
构建高效的安卓应用:探究Kotlin与Java的性能差异
【2月更文挑战第19天】在移动开发领域,性能优化始终是开发者关注的重点。随着Kotlin的崛起,其在安卓平台的应用逐渐增多,但关于Kotlin与Java在性能方面的对比,一直是开发者热议的话题。本文通过深入分析两种语言的运行机制、编译优化以及实际案例测试,旨在为开发者提供一个清晰的性能对比视角,帮助他们在技术选型时做出更加明智的决策。
|
3月前
|
安全 网络协议 Java
JDK 16全览:改变游戏规则的新特性
JDK 16全览:改变游戏规则的新特性
44 0
|
11月前
|
前端开发 容器
重识Flutter — 探索Slivers的奇妙世界(综合实例)
本文将通过一个炫酷的综合案例来帮助你理解Slivers,和我一起继续探索Sliver的世界,利用其强大的特性和灵活的组合方式,创建出更加有趣和具有交互性的滚动界面吧!
|
12月前
|
XML 安全 Java
Kotlin 基础 | 拒绝语法噪音
Kotlin 基础 | 拒绝语法噪音
48 0
|
网络协议 开发工具 Android开发
基于 Kotlin 特性开发的有限状态机
基于 Kotlin 特性开发的有限状态机
278 0
基于 Kotlin 特性开发的有限状态机
|
存储 IDE Java
重学 Kotlin —— inline,包治百病的性能良药?
重学 Kotlin —— inline,包治百病的性能良药?
重学 Kotlin —— inline,包治百病的性能良药?