libGDX与Kotlin 移动游戏开发(2)
首先:Java是伟大的语言。这是自己大学学习的第一门编程语言,而且是第一流行(这并不说明Java是世界上最好)的编程语言(2016年统计数据),C紧随其后(根据TIOBE排行榜)。所以,为什么要用Java之外的语言?对自己来说,学习了一门不同的编程语言,而且由于Kotlin拥有一些有趣有点,自己想尝试一下。对于每一个程序员来说,编写更为精准和智能化的代码无疑是一件有趣的事情。
Kotlin下的Hello World:
https://gist.github.com/Majirefy/fcb4d7289a108b5b66740e47612b294e
Java下的Hello World:
https://gist.github.com/Majirefy/b595ba5423f3e4ee9f4274752ddae69d
可以看出,两者的语法形式相似,但是两者的语法结构不同。
Kotlin特点
接下来介绍一下Kotlin语言的一些特点:
- 100%与Java兼容。可以在Java中调用Kotlin或者在Kotlin中使用Java。
https://gist.github.com/Majirefy/c6887ff34970762aa16d608922963031
- libGDX支持Kotlin,除非要输出Web程序:GWT被用在web平台,其甚至连Java 1.6都不支持。GWT也需要源代码,这并不容易获取。所以如果真的需要将游戏在浏览器的WebGL下运行,要么使用Java而非Kotlin,或者使用GWT以外的框架,如TeaVM。这里有一个范例工程帮助编译。
- 比Java更简洁的语法(没有引入新的关键词、分号可以省略)。
- Kotlin源自IntelliJ IDEA的开发者JetBrains,IntelliJ IDEA附带了一个“Convert Java to Kotlin(将Java转为Kotlin)”的按键。
- 更适用于Android,因为Kotlin与Java 6完全兼容,不会损失Java中的功能。
- Null-safe类型(在编译时反馈空指针异常而不是在运行时报错)。类型系统通过代码判别空(null)引用,这是Kotlin相比于很多编程语言的巨大优势。Kotlin能够区分一个饮用是否可以为空(null)。
https://gist.github.com/Majirefy/d7a255013b493fecf48e5a858fbbee39
- 易于使用的单例模式:
https://gist.github.com/Majirefy/4afe7d523af70e404330022b183289ee
在线试验Kotlin
请移步Try Kotlin。
1 条回复
[…] 目前尚不支持使用Kotlin构建HTML程序(如果需要,使用Java或GWT,Google Web Toolkit)。在上一篇文章中叙述了原因。试试将TeaVM作为GWT的替代品。 […]