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]

目录
相关文章
|
缓存 人工智能 算法
Nvidia_Mellanox_CX5和6DX系列网卡_RDMA_RoCE_无损和有损_DCQCN拥塞控制等技术简介-一文入门RDMA和RoCE有损无损
Nvidia_Mellanox_CX5和6DX系列网卡_RDMA_RoCE_无损和有损_DCQCN拥塞控制等技术简介-一文入门RDMA和RoCE有损无损
4999 0
|
API iOS开发 容器
App Extensions篇之Share Extension
这里主要是对App Extension的一些介绍以及详细给大家介绍一下Share Extension,后期会添加其他的Extension介绍。
3944 0
|
存储 编译器 C++
详细解读C++编译原理
详细解读C++编译原理
295 0
|
索引
索引下推
大家多多 关注
603 0
阿里云每条短信价格表
阿里云每条短信价格表,阿里云短信服务价格表,阿里云短信0.032元一条,阿里云短信价格?阿里云短信怎么收费?阿里云短信多少钱一条,阿里云短信价格0.032元一条
468 0
|
云安全 存储 监控
云安全基本概念 | 学习笔记
快速学习云安全基本概念,介绍了云安全基本概念系统机制, 以及在实际应用过程中如何使用。
|
机器学习/深度学习 人工智能 自然语言处理
揭秘阿里人工智能实验室首款智能音箱——天猫精灵X1
7月5日下午,阿里人工智能实验室在北京正式发布了旗下首款智能设备——天猫精灵X1,据介绍,这款产品采用了阿里人工智能实验室自主研发的中文语义理解引擎,内置第一代中文人机交流系统AliGenie,并且依托阿里云的机器学习技术实现智能家居控制、语音购物、手机充值、音乐播放等功能。
14426 0
|
存储 安全 数据中心
阿里云首席架构师唐洪:拥抱开源的云端更具生命力
近日, 国际开源界顶级会议LC3(LinuxCon + ContainerCon + CloudOpen)首次在国内举行,阿里云首席架构师唐洪作为特邀嘉宾出席并发表主题演讲。
17057 0
|
Android开发
Android 推送 整合小米、个推、jpush
Android系统由google提供的推送的服务在国内并不能很好的运作,因此不能像iOS能提供统一管理的推送服务。Android端推送目前常用的都是第三方推送服务,也可以自己搭建推送服务器来实现, 为了节约开发成本,目前主流的提供第三方推送服务的有:极光推送、个推、友盟、小米推送、百度推送等。 Android端推送分为通知,透传两种,通知是有通知栏显示的,透传由用户自定义处
4678 0
|
Java 容器 Spring
Ioc容器概述
Ioc概念 很多初学者在刚听到Ioc和DI等概念的时候,往往一头雾水,用了很久才理解它们的意思,这里我说一下我对它们的理解。 image.png IOC(Inversion Of Control,反转控制)一般也被理解为DI(Dependency Injection,依赖注入),实际上两者还是略微有些区别,虽然它们经常性的出现在一起。