热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

我看Kotlin

阅读文本大概需要2分钟。前几天,Kotlin官方在旧金山举办了第一届的KotlinConf大会,大会上公布了Kotlin相关的一些进展,其中,宣布了一条重大消息:Kotlin支持i

我看 Kotlin

阅读文本大概需要 2 分钟。

前几天,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 的可以回复关键字「kotlin」 获取相关学习资料,觉得写的不错可以点赞、帮转下,谢谢。


推荐阅读:

Google 中国招聘啦

如何选择 Offer?



一个不羁的码农,

我的世界不只有 Coding!


我看 Kotlin


赞助商


Udacity 最近双十一有优惠活动,想要学习一些编程课程的同学,可以扫码为自己的未来投资。


我看 Kotlin


推荐阅读
  • 2019 年 Firebase 峰会上发布的新功能
    作者FrancisMa,HeadofProductFirebase的使命是帮助移动开发者和Web开发者迈向成功,但考虑到Firebase每个月有超过200万个活跃的应 ... [详细]
  • 互联网世界 9 种基本的商业模式
    互联网世界9种基本的商业模式一个商业模式是运行一个公司的方法;通过该模式的运作,一个公司能维持自己的生存,就是说,能有收益。商业模式意味着一个公司是如何通过在价值链中定位自己,从而获 ... [详细]
  • ———Java培训、Android培训、iOS培训、.Net培训、期待与您交流!———一、引用计数器每个OC对象都有自己的引用计数器,表示“对象被引用 ... [详细]
  • 媒介这里大部份是本身碰到过的状况,另有一部份自创了偕行的文章,假如人人有碰到别的坑,迎接提出来一同研讨。学问要点1.Meta标签1.制止用户缩放页面,页面强迫让文档的宽度与装备的宽 ... [详细]
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
  • Mono为何能跨平台
    概念JIT编译(JITcompilation),运行时需要代码时,将Microsoft中间语言(MSIL)转换为机器码的编译。CLR(CommonLa ... [详细]
  • gitlab重置password
    ruby没怎么学,自己搭建的gitlab的rootpassword又忘了。幸好看见此帖子,试验okhttp:roland.kierkels.netgitreset-your-git ... [详细]
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
  • 这篇文章主要讲解了“如何应对Android面试”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何应对 ... [详细]
  • 1、DashAPI文档Dash是一个API文档浏览器,使用户可以使用离线功能即时搜索无数API。程序员使用Dash可访问iOS,MacOS, ... [详细]
  • 与.Net大师Jeffrey Richter面对面交流——TUP对话大师系列活动回顾(多图配详细文字)...
    与.Net大师JeffreyRichter面对面交流——TUP对话大师系列活动回顾(多图配文字)上周末很有幸参加了CSDN举行的TUP活动, ... [详细]
  • POCOCLibraies属于功能广泛、轻量级别的开源框架库,它拥有媲美Boost库的功能以及较小的体积广泛应用在物联网平台、工业自动化等领域。POCOCLibrai ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • 1、概述首先和大家一起回顾一下Java消息服务,在我之前的博客《Java消息队列-JMS概述》中,我为大家分析了:然后在另一篇博客《Java消息队列-ActiveMq实战》中 ... [详细]
  • 使用CocoaPods管理依赖库
    这篇内容将介绍Mac和iOS开发中必备的一个依赖库管理工具CocoaPods。在iOS开发中势必会用到一些第三方依赖库,比如大家都熟悉的ASIHttpRequest、AFNetwo ... [详细]
author-avatar
qk墨砚轩
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有