我看 Kotlin

原创 2017年11月07日 11:37:48

前几天,Kotlin 官方在旧金山举办了第一届的 KotlinConf 大会,大会上公布了 Kotlin 相关的一些进展,其中,宣布了一条重大消息:Kotlin 支持 iOS 和 Web 开发。

一时间,各大 IT 媒体的头条类似「重磅」、「重大消息」等均被 Kotlin 占领,再加上 Kotlin 很早就支持 Android,很多程序员们也大呼,学完 Kotlin 可以直接全栈了,但是,我不得要给这部分人泼盆冷水。

从 JetBrains 的角度,可以理解他们的策略,他们当然希望 Kotlin 可以跨平台发展,这样可以覆盖的面更广,一旦成功之后,将会极大的提升开发效率,减少企业的开发成本,也会让越来越多的领域接受使用 Kotlin。

但是这条路很难走,超级难。要知道以跨平台著称的 Java 直到现在,也没法完全的跨平台,Java 的跨平台也只限于 PC 端,无论你是 Windows、Mac 还是 Linux 都可以直接运行 Java 程序,现在虽然 Java 也可以用来开发 Android,但是涉及到移动端,这不是真正的跨平台,Android 开发只是使用了 Java 语言而已,其内在的底层架构和开发方式跟传统的 Java 程序开发差异很大。

移动互联网时代,其实很多编程语言都在探索跨平台开发,可能有些人不知道,Ruby 领域有个产品叫做 RubyMotion,这个产品可以让你使用 Ruby 语言开发原生 Android、iOS 以及 OSX 应用,而且得到了 Ruby 创始人 Matz 的支持,但是 RubyMotion 自 2012 年创立以来,至今 5 年时间,没有多少人了解使用这款产品,甚至如果我不提,我估计不少人甚至听都没听过,现如今使用 Ruby 编程语言的大部分开发者还都是用 Rails 来进行 Web 开发,因为 Rails 这个框架开发 Web 最大的优势是用你喜欢的 Ruby 语言可以很快速的开发 Web 网站。

前两年,Facebook 推出了 React Native,旨在解决移动端跨平台的问题,一经推出,引起无数开发者的关注与支持,然而即使这种「富二代」的跨平台框架,从项目开源到现在至今也有 2 年多时间,而背后 Facebook 花费的研究时间更是远超 2 年,目前 React Native 依然还不成熟,还存在各种各样的问题,现今的 App 开发主流仍然是原生开发,甚至很长一段时间依然会是这样。

Kotlin 的跨平台梦是挺好的,做成了确实牛逼,但是往往理想终究抵不住现实,一旦 Kotlin 定位跨平台策略,那么所涉及的技术复杂度、工作重心都会发生变化,更何况,想要跨平台到 iOS,是很难得到苹果的支持的,要知道苹果有个「亲儿子」Swift,在对待 Kotlin 的态度上是断不会像 Google 那样的开放,更何况 Swift 也一波三折,连 Swift 创始人都远走他乡,足以说明,一门新的语言让开发者拥抱有多么困难。

所以,从我个人的角度,因为 Google 与 Oracle Java 的版权问题,Google 对 Kotlin 的态度非常支持,在今年的 Google IO 2017 大会上明确宣布 Kotlin 成为 Android 开发的官方语言,最新发布的 Android Studio 3.0 更是内置了对 Kotlin 的支持,Google 的支持加上 Kotlin 本身语法的优势,我很看好 Kotlin 在 Android 领域的发展,我认为 Kotlin 官方应该抓住机会,先从 Android 领域着手,把主要精力放在 Android 开发上,争取让大部分 Android 开发者接受、使用 Kotlin,之后再慢慢的扩散到其他领域,如果一开始精力就放在跨平台上,结果可能会适得其反。

我之前写过一些未来很有潜力的编程语言,很多读者问我怎么没提到 Kotlin?虽然 Kotlin 语言可以做很多事,比如写脚本、开发 Android、与 js 交互等,但我个人觉得 Kotlin 目前的机会还在 Android 上,Google 的支持以及大量的 Android 开发者的基数,如果 Kotlin 能抓住机会,抓住众多 Android 开发者的用户,那么才算是有潜力,在其他领域的应用,目前来看很难让别的开发者接受并使用。

当然了,Kotlin 官方也可能只是拿跨平台造个势而已,但是无论是造势还是真的下注在跨平台,这都是一个漫长而艰难的道路,如果是出于兴趣,想多了解下 Kotlin,那么是支持的,而那些抱着学好 Kotlin 就可以变身全栈工程师的开发者们,建议还是洗洗睡吧。

PS:想要学习 Kotlin 的可以在公众号「googdev」回复关键字「kotlin」 获取相关学习资料,觉得写的不错可以点赞、帮转下,谢谢。

版权声明:本文已在我的公众号 stormzhang 原创首发,转载请务必注明出处!

什么是kotlin?

什么是Kotlin? Kotlin,如前面所说,它是JetBrains开发的基于JVM的语言。JetBrains因为创造了一个强大的Java开发IDE被大家所熟知。Android Studio,官...
  • qq_23381995
  • qq_23381995
  • 2017年05月21日 16:22
  • 492

Kotlin项目练习记录

Kotlin项目练习记录
  • shayubuhuifei
  • shayubuhuifei
  • 2017年08月02日 21:25
  • 181

Kotlin入坑(一)学习资料

距离谷歌将Kotlin作为官方语言已经过去几个月了,前几天Kotlin官方刚举办了KotlinConf大会,大会上公布了Kotlin的一些进展,也宣布了Kotlin支持ios和web开发。当然跨平台开...
  • mingyunxiaohai
  • mingyunxiaohai
  • 2017年11月09日 16:01
  • 133

Kotlin在Android上令人惊叹的技巧

我已经在这个Blog(http://antonioleiva.com/kotlin)里讨论了很多Kotlin了,现在Google也正在讨论Kotlin,Kotlin 1.0 RC 已经发布了,毫无疑问...
  • cenzr
  • cenzr
  • 2017年06月09日 08:15
  • 1544

你应该切换到Kotlin开发

Kotlin,是时候从Java转变到Kotlin语言开发了
  • wuyinlei
  • wuyinlei
  • 2017年05月24日 22:33
  • 2268

Kotlin-->范围选择进度条, 双向SeekBar

首先了解下, 自定义View的三部曲.1:onMeasure方法此方法主要目的, 就是根据xml的 android:layout_width="wrap_content" andr...
  • angcyo
  • angcyo
  • 2017年09月19日 11:11
  • 512

RxJava+Retrofit+OkHttp深入浅出-终极封装四(多文件下载之断点续传)

Rxjava+ReTrofit+okHttp深入浅出-终极封装三(多文件下载之断点续传)背景断点续传下载一直是移动开发中必不可少的一项重要的技术,同样的Rxjava和Retrofit的结合让这个技术解...
  • u014610664
  • u014610664
  • 2016年10月24日 14:33
  • 13435

Kotlin学习之委托机制

委托模式可以很好的替代实现继承,kotlin本身支持需要零样板代码,一个类Derived 可以继承Base并委托它所有的public 方法到一个指定的类: interface Base { ...
  • u014134488
  • u014134488
  • 2016年04月11日 17:56
  • 3439

Kotlin系列一(基本语法)

前言  前两天在Google IO 大会上宣布Kotlin成为开发Android的官方语言,之前就对Kotlin有一定的了解和关注,但是一直没花时间学习,那么,现在Kotlin成为官方语言了,想必一定...
  • a172131234
  • a172131234
  • 2017年05月23日 11:01
  • 1085
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我看 Kotlin
举报原因:
原因补充:

(最多只允许输入30个字)