Kotlin开发springboot项目(一)

Kotlin语言与Xtend语言有很多相似之处

为什么会存在这么多JVM语言?

现存的语言提供了太过受限制的功能,要不就是功能太过繁杂,导致语言的臃肿和复杂。

Rebel Labs的报道了概览了Java 8,Scala,Kotlin,Ceylon,Xtend,Groovy,Clojure和Fantom。但是如此多的JVM语言可供选择,我们如何会只看中这8种选择?

最开始只存在Java,它是用于在JVM上编程的唯一选择。但是这个行业很早就满足了对在JVM上面编程的更多和潜在的选择需求。在脚本领域首先出现了Jython,JVM的一种Python实现,还有Rhino和JavaScript的JVM引擎,它们出现在1997年,跟着就是2000年的BeanShell和2011年的JRuby。

由于对于动态定制应用程序的需求,在那时脚本设施的需求很旺盛。如今,像Oracle WebLogic和IBM WebSphere这些应用服务器都使用Jython脚本来执行自动化操作,而Rhino也被绑定在Java 6上面,使得JavaScript成了JVM上的一等公民。

然而,脚本设施不是唯一一个让基于JVM的可选编程语言滋生的因素。归因于Java的向后兼容性原则,为了提供一些Java或者它的标准库没有提供的新颖特性,可选语言开始出现了。Scala和Groovy就是最先提供了一些超越了Java的成功项目.

我们可以观察到一种有趣的现象:大部分新晋的编程语言都利用了静态类型。使用Scala,Ceylon,Xtend,Kotlin和Java本身的开发者都依赖于在编译时验证目标类型。Fantom在动态和静态类型之间找到黄金的平衡中点,而Groovy,尽管一开始是一种动态语言,但是如今也在其2012年的2.0发行版中也开始加入编译时的静态类型检查了。Clojure——有点Lisp的味道——是坚持使用动态类型,但唯一还收到合理拥泵的JVM编程语言,然而一些在企业的大型团队中工作的开发者择则认为这会是Clojure的一个缺陷。

运行在JVM上的新的编程语言,已经有从定制化应用程序的动态脚本语言,向着一般意义的静态的应用程序开发语言改变的趋势。

Java仍然是最常使用在JVM上的编程语言,而随着Java 8发行版的到来,Java将尝试在语法美学和多核编程方面,跟上时代的潮流。

Kotlin 是一个用于现代多平台应用的静态编程语言,由 JetBrains 开发。我们首先要面对的问题就是其他IDE对它的支持。目前还有多数人是Eclipse用户,切换到IntelliJ IDEA环境总是困难的,但如果你想用Kotlin环境进行开发,就需要安装相关插件。安装Kotlin插件式相当容易的,但尴尬的是没对其他IDE进行支持。2017年安卓大会,Kotlin成为了Android官方语言。

Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。

Xtend 是一种静态类型编程语言,它可以被翻译成可读的Java源代码。它支持现存的Java风格,而且被设计得比Java本身现存的Java API工作得更好。Xtend是一个构建实用抽象的强大和灵活的工具,并且配备了先进的EclipseIDE集成。因为Xtend和Xtent都是Eclipse项目。现在有很好Xtend的Eclipse IDE开发工具,它是由Xtext语言写成的。但是如果你选择了其他的IDE,如 IntelliJ IDEA那还是用Kotlin 吧。

Kotlin,类似 Xtend 一样,旨在提供一种更好的 Java 而非重建整个新平台。这两种语言都向下编译为字节码(虽然 Xtend 是首先转换成相应的 Java 代码,再让 Java 编译器完成繁重的工作),而且两者都引入了函数和扩展函数(在某个有限范围内静态地增加一个新方法到某个已有类型的能力)。Xtend 是基于 Eclipse 的,而 Kotlin 是基于 IntelliJ 的,两者都提供无界面构建。能够首先演变到其他 IDE 的语言有可能成为最后的赢家。

结论就是:Kotlin用IDEA ,Xtend 用eclipse。

如何配置Kotlin

Android studio是需要安装插件的,而IntellJ并不需要,因为大多数开发者用的Android studio

入门教程:

https://www.runoob.com/kotlin/kotlin-tutorial.html

在线工具:

https://c.runoob.com/compile/2960

一、IDEA中安装kotlin插件

重启IDEA。

二、创建Helloworld工程

三、测试

写一个打印"Hello, World!"的代码,鼠标点击编辑器左上角 kotlin图标并选择 Run 'AppKt'来运行代码

println方法点进去,发现其实就是对java原生的System.out.println() 方法的封装。

Kotlin开发springboot项目(一)的更多相关文章

  1. Kotlin开发springboot项目(三)

    Kotlin开发springboot项目(三) 在线工具 https://www.sojson.com IDEA中Kotlin生成可执行文件1,项目使用Gradle构建2,在model的build.g ...

  2. Kotlin开发springboot项目(二)

    Kotlin开发springboot项目(二) 中文学习网站: https://www.kotlincn.net/ 研究一下kotlin的demo: https://github.com/JetBra ...

  3. Maven多模块开发SpringBoot项目自定义第三方依赖版本

    参考:官方文档 - Build System of Maven https://blog.didispace.com/books/spring-boot-reference/IX. 'How-to' ...

  4. 用Kotlin开发Android应用(I):介绍

    关于Kotlin,网上已有一些介绍的文章,包括Antonio Leiva的这组blog翻译稿.不过,我还是想跟进它们.翻译它们,以锻炼自己的英文翻译.各位高手发现问题,请及时“拍砖”. 原文题目:Ko ...

  5. spring-boot项目建立

    使用idea来开发spring-boot项目,对于community版本的idea,由于没有spring-boot插件,所有对于开发spring-boot的web项目来说不是很方便,所以安装Ultim ...

  6. SpringBoot项目创建及入门基础

    一:快速构建springboot项目 进入https://start.spring.io/,选择相应的springboot版本,包名,项目名,依赖 图中选择web,利用tomcat服务器进行开发 sp ...

  7. 如何SpringBoot项目改为外置Tomcat启动

    正常情况下,我们开发 SpringBoot 项目,由于内置了Tomcat,所以项目可以直接启动,部署到服务器的时候,直接打成 jar 包,就可以运行了 (使用内置 Tomcat 的话,可以在 appl ...

  8. SpringBoot项目的几种创建方式,启动、和访问

    最常用的4种方式,但除了这些以外,还有其他方式: ①在线创建 ②STS构建 ③Intell  Idea内置构建工具 ④Maven创建 STS官网:https://start.spring.io  .S ...

  9. 用Kotlin开发Android应用(II):创建新项目

    这是关于Kotlin的第二篇.各位高手发现问题,请继续“拍砖”. 原文标题:Kotlin for Android(II): Create a new project 原文链接:http://anton ...

随机推荐

  1. Matlab c2d()函数的用法

    1.c2d()函数的用法 c2d()函数的作用是将s域的表达式转化成z域的表达式,s=0对应z=1. c2d()函数转化的方法有多种: ①zoh, 零阶保持器法,又称阶跃响应不变法: ②foh ,一阶 ...

  2. 为什么说要搞定微服务架构,先搞定RPC框架

    今天开始聊一些微服务的实践,第一块,RPC框架的原理及实践,为什么说要搞定微服务架构,先搞定RPC框架呢? 一.需求缘起 服务化的一个好处就是,不限定服务的提供方使用什么技术选型,能够实现大公司跨团队 ...

  3. isinstance、issubbclass

    目录 isinstance issubclass subclasses Python提供了如下两个函数来检查类型: isinstance(obj, class_or_tuple):检查 obj 是否为 ...

  4. chrome 模拟发送请求的方法

    chrome f12 看到了web页面的请求,有时候想修改一下参数重新执行一下怎么办? 如果是get方法.参数不多可以直接在浏览器中打开.否则post方法参数多时很多人会复制到postman中执行,但 ...

  5. Node.js 入门篇

    Node.js 使用C++开发的. Node.js是一个事件驱动服务端JavaScript环境,只要能够安装相应的模块包,就可以开发出需要的服务端程序,如HTTP服务端程序.Socket程序等. No ...

  6. 前端Vue项目——初始化及导航栏

    一.项目初始化 创建webpack模板项目如下所示: MacBook-Pro:PycharmProjects hqs$ vue init webpack luffy_project ? Project ...

  7. python读写、创建文件、文件夹等等

    python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目 ...

  8. 整理在Spring IOC容器初始化后可以处理特定逻辑的多种实现方式

    Spring框架的核心是依赖注入.切面:Spring Boot是在Spring框架的基础上为其提供许多默认配置.默认约定(约定优于配置),从而达到减少或减化配置进而可开箱即用.快速上手:Spring ...

  9. [BAT脚本] 1、BAT脚本FOR循环操作文件和命令返回实例

    Wednesday, 31. October 2018 08:18PM - beautifulzzzz 一.需求 需要在windows上实现一个bat脚本解析json,将json转换为自己想要的key ...

  10. 【转】PyQt弹出式对话框的常用方法及标准按钮类型

    pyQt之弹出式对话框(QMessageBox)的常用方法及标准按钮类型 一.控件说明 QMessageBox是一种通用的弹出式对话框,用于显示消息,允许用户通过单击不同的标准按钮对消息进行反馈,且每 ...