Kotlin 语言作为Android新的官方语言
苹果用 swift 作为官方语言替代 object-c ; 谷歌 刚开完io大会 也宣布 用 kotlin 作为官方语言 替代java。工具还是xcode ,android studio。
来自于著名的 IDE IntelliJ IDEA(Android Studio 基于此开发) 软件开发公司 JetBrains(位于东欧捷克)起源来自 JetBrains 的圣彼得堡团队,名称取自圣彼得堡附近的一个小岛 (Kotlin Island)。
介绍:
Kotlin 这是一种基于 JVM 的静态类型编程语言,拥有实用与高效等特征,由 JetBrains 开发。
Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。
JetBrains,作为目前广受欢迎的Java IDE IntelliJ 的提供商,在 Apache 许可下已经开源其Kotlin 编程语言。
Kotlin已正式成为Android官方开发语言。
语法及特点:
类似ES6, 用类似java语法 和 前端技术语法 来开发。。。。
(React Native和Weex和ionic3 都是这样混合开发)
Kotlin 支持类型推断,没有 Java 那样的啰嗦。
另外用 var 表示变量,val 表示常量更加的简洁
方法也很简单,连 function 都缩写成了 fun,平添了几分双关之意。
类的继承和实现很简单,使用:即可
Kotlin 每个句子都不需要加分号 (;)
在 Kotlin 中空指针异常得到了很好的解决。
支持方法扩展 this
Lambda, 高阶函数,Streams API, 函数式编程支持
所谓的高阶函数就是:可以接受函数作为参数也可以返回函数作为结果
字符串模板
与 Java 交互性好(Kotlin 和 Java 都属于基于 JVM 的编程语言)
(Kotlin 和 Java 的交互性很好,可以说是无缝连接。这表现在:
Kotlin 可以自由的引用 Java 的代码,反之亦然。
Kotlin 可以现有的全部的 Java 框架和库
Java 文件可以很轻松的借助 IntelliJ 的插件转成 kotlin
Kotlin 应用广泛:
Kotlin 对 Android 应用开发支持广泛,诸多工具,比如 kotterknife(ButterKnife Kotlin 版),RxKotlin,Anko 等等,当然还有已经存在的很多 Java 的库都是可以使用的。
除此之外,Kotlin 也可以编译成 Javascript。最近使用 Kotlin 写了一段抓取 proxy 的代码,实现起来非常快捷。甚至比纯 JavaScript 实现起来要快很多。)
性能:
Kotlin 的执行效率和 Java 代码的执行效率理论上一致的。有时候 Kotlin 可能会显得高一些,比如 Kotlin 提供了方法的 inline 设置,可以设置某些高频方法进行 inline 操作,减少了运行时的进栈出栈和保存状态的开销。
它简洁的语法,汇集诸多特性,高效率实现等等,已经在国外风生水起,国外的 Pintereset, Square, Flipboard 等公司已经开始应用到生产中。
关于转向 Kotlin:
是不是选择了 Kotlin 就意味着放弃 Java 呢,冷静下来想一想,其实并不 是那么回事,因为 Kotlin 与 Java 语法太相近,以及在 Kotlin 中无时无 刻不在和 Java 相关的东西打交道,所以这点顾虑不是问题的。

Kotlin 语言作为Android新的官方语言的更多相关文章
- 认识一下Kotlin语言,Android平台的Swift
今天在CSDN首页偶然看到一个贴子JetBrains正式公布Kotlin 1.0:JVM和Android上更好用的语言 看完后,感觉Kotlin语法非常简洁,有一系列动态语言的特点,Lambda表达式 ...
- kotlin, 一种新的android平台一级开发语言
最近看到一则科技新闻, 大致内容是google将kotlin语言作为android应用开发的一级语言, 与java并驾齐驱, 这是一个开发界的大事件大新闻, 连google的亲儿子go语言也没有这种待 ...
- 用Kotlin语言重新编写Plaid APP:经验教训(I)
原文标题:Converting Plaid to Kotlin: Lessons learned (Part 1) 原文链接:http://antonioleiva.com/plaid-kotlin- ...
- 安卓开发(2)—— Kotlin语言概述
安卓开发(2)-- Kotlin语言概述 Android的官方文档都优先采用Kotlin语言了,学它来进行Android开发已经是一种大势所趋了. 这里只讲解部分的语法. 如何运行Kotlin代码 这 ...
- Android Kotlin —— 语言结合
2017 Google I/O 大会开始就宣布,将Kotlin语言作为安卓开发的一级编程语言. Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发. Ko ...
- 释放Android的函数式能量(I):Kotlin语言的Lambda表达式
原文标题:Unleash functional power on Android (I): Kotlin lambdas 原文链接:http://antonioleiva.com/operator-o ...
- Kotlin 语言高级安卓开发入门
过去一年,使用 Kotlin 来为安卓开发的人越来越多.即使那些现在还没有使用这个语言的开发者,也会对这个语言的精髓产生共鸣,它给现在 Java 开发增加了简单并且强大的范式.Jake Wharton ...
- Kotlin 语言下设计模式的不同实现
偶然在 Github 上看到 dbacinski 写的 Kotlin 语言下设计模式的不同实现(这里的不同是相对于 Java 语言的),有些实现非常好,但是有些实现的例子不是很赞同.所以自己写了 Ko ...
- 为什么推荐你用 Kotlin语言?
谷歌大牛说:为什么 Kotlin 比你们用的那些垃圾语言都好 原标题:谷歌大牛说:为什么 Kotlin 比你们用的那些垃圾语言都好 编译:伯乐在线/黄小非 [伯乐在线/程序员的那些事 导读]:5月18 ...
随机推荐
- vue-cli项目中使用rem
1.安装px2rem插件 npm install px2rem-loader lib-flexible --save 2.在main.js中引入lib-flexible import 'lib-fle ...
- 详细解读 :java.sql.SQLException: Connection is read-only. Queries leading to data modification are not allowed,Java报错之Connection is read-only.
问题分析: 实际开发项目中,进行insert的时候,产生这个问题是Spring框架的一个安全权限保护方法,对于方法调用的事物保护,一般配置如下: <!-- 事务管理 属性 --> < ...
- vue+大文件分片上传
最近公司在使用vue做工程项目,实现大文件分片上传. 网上找了一天,发现网上很多代码都存在很多问题,最后终于找到了一个符合要求的项目. 工程如下: 对项目的大文件上传功能做出分析,怎么实现大文件分片上 ...
- Cmd Markdown语法参考
https://www.zybuluo.com/mdeditor markdown语法说明 Markdown中公式的写法 $$P(X=k)=C_n^kp^k(1-p)^{n-k}$$ 欢迎使用 Cmd ...
- mysql-5.7.19 压缩安装 设置密码
初始化完毕后,如果没使用新版本的客户端登入,还会报告类似下面的错误: mysql -uroot -p Enter password: ERROR 1862 (HY000): Your password ...
- 20145232 韩文浩 《Java程序设计》第4周学习总结
教材学习内容总结 · Chapter 继承与多态 继承:避免多个类间重复定义共同行为.继承可以理解为一个对象从另一个对象获取属性的过程. 所有Java的类均是由java.lang.Object类继承而 ...
- css,jQuery,js部分注释
注释:在开头加上<!--,以-->结尾 alt属性,也被称为alt text, 是当图片无法加载时显示的替代文本 action属性的值指定了表单提交到服务器的地址 除了分别指定元素的 pa ...
- python处理excel之读:xlrd模块
# -*- coding:utf-8 -*- import xlrd path = r'D:/工作簿1(已自动还原).xlsx' # 打开excel文件读取数据 data = xlrd.open_wo ...
- CentOS下双网卡绑定-bond0
网卡绑定就是多张网卡逻辑上作为一张网卡用.可分为,负载均衡绑定和冗余绑定两种. 加载bonding驱动 #modprobe bonding 1.编辑虚拟网络接口配置文件 [root@test~]# ...
- java 异步机制与同步机制的区别
所谓异步输入输出机制,是指在进行输入输出处理时,不必等到输入输出处理完毕才返回.所以异步的同义语是非阻塞(None Blocking). 网上有很多网友用很通俗的比喻 把同步和异步讲解的很透彻 转过 ...