Kotlin入门与实战 - (EPUB全文下载)
文件大小:0.31 mb。
文件格式:epub 格式。
书籍内容:
Kotlin入门与实战
第1章 Kotlin简介
第2章 Kotlin初体验
第3章 Kotlin快速入门
第二部分 Kotlin语法
第4章 Kotlin语法基础
第5章 类与接口
第6章 扩展函数与属性
第7章 数据类与密封类
第8章 集合与泛型
第9章 对象与委托
第10章 反射与注解
第11章 函数与Lambda表达式
第12章 协程
第13章 I/O操作与多线程
第14章 Kotlin DSL
第15章 Kotlin互操作
第16章 Kotlin Native开发
第三部分 Kotlin项目实例
第17章 使用Kotlin与Spring Boot开发服务端
第18章 使用Kotlin开发Android视频应用
第1章 Kotlin简介
1.1 Kotlin发展史
Kotlin是由JetBrains开发的针对JVM、Android和浏览器的静态编程语言,目前,在Apache组织的许可下已经开源。使用Kotlin,开发者可以很方便地开发移动Android应用、服务器程序和JavaScript程序。Kotlin可以将代码编译成Java字节码,也可以编译成JavaScript,以便在没有JVM的设备上运行。
Kotlin来源于一个岛屿的名字,这个小岛位于俄罗斯的圣彼得堡附近。之所以要命名为Kotlin,是因为Kotlin的主要开发工作就是由位于圣彼得堡的分公司团队完成的。
在纯命令式编程时代,Sun公司创造了Java和标准库,但一直以来Sun都没有为Java提供一款好用的IDE。在这样的局面下,IBM适时地推出了一款名为Eclipse的IDE,它成为对抗Sun公司的利器。
近十几年来,Eclipse凭借着开源和可扩展平台(OSGi),战胜了一个又一个对手(JBuilder、NetBeans等),奠定了Java标准开发环境的地位。然而,就像所有成功的产品一样,Eclipse一路荣光走来的同时也遇到了一系列的问题。所谓船大调头难,近年来,在JetBrains公司一系列产品的冲击下,Eclipse的市场份额正在慢慢下降。
作为目前广受欢迎的IDE提供商,JetBrains向开发者提供主流的软件开发环境:JavaScript、
.NET和Java等,如图1-1所示。这些IDE几乎覆盖了目前主流的编程语言。
在开发Kotlin之前,JetBrains团队一直使用Java来创建他们的IDE并进行业务逻辑开发。之所以开发Kotlin,是因为JetBrains 的工程师们在使用Java开发应用程序的过程中发现了大量的问题。为了提升开发效率,同时解决使用Java开发带来的问题,在借鉴了Scala、Groovy等语言后,他们决定开发一款致力于解决Java问题的编程语言Kotlin。
图1-1 JetBrains支持的编程环境
JetBrains深谙开发者的需求和痛处,在孜孜不倦地为开发者提供实用、高效的IDE的同时,也为开发者提供全新的编程语言以解决目前的技术问题。Kotlin的开发环境如图1-2所示。
图1-2 Kotlin支持的开发环境
作为一门全新的编程语言,从项目创建到1.2版本,Kotlin共经历了6年的发展,其发展历史大致如下。
2010年,JetBrains着手开发Kotlin项目。
2011年7月,JetBrains发布Kotlin项目。
2012年2月,JetBrains在Apache 2许可证下开源Kotlin项目源码。
2016年2月,JetBrains发布第一个稳定版本Kotlin 1.0并许诺保持向后兼容。
2017年3月,Kotlin 1.1版本发布,正式支持JavaScript,同时新增了诸多新功能和特性。
2017年5月,Google I/O大会上,Google官方确定支持Kotlin语言。
2017年11月,Kotlin 1.1.5发布,相比Kotlin 1.0版本,Kotlin有关的代码数目从210万行增长到1000多万行,对外提供的API越来越多,使用场景也越来越多。
2017年12月,Kotlin 1.2版本发布,除了性能上的明显提升,1.2版本的一个重要特性就是增加了多平台代码重用的能力。
1.2 面向对象编程概述
1.2.1 面向过程编程
面向过程的编程语言也称为结构化程序设计语言,是高级语言的一种,C语言是常见的面向过程语言。在面向过程程序设计中,问题被看作一系列需要完成的任务,函数则用于完成这些任务,解决问题的焦点集中于函数。
面向过程的概念最早由E.W.Dijkstra在1965年提出,是软件发展史上的一个重要里程碑。面向过程程序设计的主要特点是采用自顶向下、逐步求精的程序设计方法,使用3种基本控制结构构造程序,即任何程序都可由顺序、选择、循环3种基本控制结构构成。
面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计流程,面向过程往往需要把一个复杂的函数切分为若干易于控制和处理的子函数,即通过把大块函数切割成小块函数来降低系统的复杂度。
面向过程的程序设计语言往往具有如下一些特点。
1.严格的语法
面向过程语言的每一条语句的书写格式都有着严格的规定。
2.接近自然语言
机器语言程序晦涩难懂的原因主要有两个,一是机器语言使用二进制数来表示机器指令的操作码和存放操作数的存储单元地址,二是每一条机器指令只能执行简单操作。而面向过程语言为了达到简化程序设计过程的目的,对语法做了大量的改进和创新,使语句的格式尽量接近自然语言的格式,同时能够用一条语句来描述运算的过程。因此,接近自然语言的语法格式和描述运算过程的方法是面向过程语言的一大特色。
3.模块化设计
在面向过程编程设计中,一个程序可以分解为多个函数,通过函数调用过程,可以用一条函数调用语句来实现复杂函数的运算过程,从而降低系统的复杂度。
4.与编译器相关
虽然面向过程语言与计算机硬件结构无关,但用于将面向过程语言程序转换成机器语言程序的编译器与计算机硬件是有关的,在计算机硬件系统中,每一种 ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » Kotlin入门与实战 - (EPUB全文下载)