简介
移动终端开发技术
终端:手机、手表、电视、无人汽车、可穿戴设备等等
(1)原生开发
android studio 开发android app;
xcode开发ios app;
可以调用本地设备能力。
(2)混合开发
像原生开发,但是实现的技术是前端技术。
ionic、uniapp
(3)移动Web开发
Html5,Js、Vue、React、AngularJs
小程序
(4)多端原生开发:
Flutter
本课程以Kotlin语言开发为主。
1.什么是Kotlin?****
Kotlin是由JetBrains公司开发的,面向多平台应用的静态编程语言。2017年由google正式宣布将Kotlin作为Android开发的主要语言。可以被编译成Java字节码,100%兼容Java语言,也可以编译成Javascript。
应用领域:
(1)服务端开发 什么是服务端开发? 基于互联网技术部署在服务可运行的程序,满足客户端请求。 开发技术:java Web(jsp、spring、spring mvc、mybatis、sprintboot)、PHP、Asp.net MVC、Python(Flask)
(2)Android 开发 kotlin兼容jdk6,在老设备上也可以运行
(3)Javascript开发 凡是Javascript可以开发的地方,都可以使用Kotlin来开发。
2.Kotlin的特点****
(1)简洁
减少了样本代码;
减少代码量;
(2)安全
使用java代码,当变量没有赋值实例时,会出现空指针异常。
kotlin对于null类型的变量在编译前就给出提示。
编译器可以进行类型推断。
(3)互操作型
Kotlin可以调用Java,java可以调用kotlin
3.Kotlin的开发工具和环境搭建****
(1)Android Studio
版本3之后默认提供kotlin插件
(2)IntelliJ IDEA
需要安装Kotlin插件
(3)Eclipse
需要安装Kotlin插件
(4)Compiler
任何记事本+编译器
4.第一个Kotlin示例程序****
(1)使用android studio开发
(2)使用vs code(记事本)开发
先编译:
kotlinc MyTest2.kt -include-runtime -d MyTest2.jar
再运行:
java -jar MyTest2.jar
效果:
需要架包三连评论~ 么么叽么么叽么么哒!
补充说明
自 2019 年 Google I/O 以来,Kotlin 就成为了 Android 移动开发的首选。
使用 Kotlin 进行 Android 开发,可以受益于:
- 代码更少、可读性更强。花更少的时间来编写代码与理解他人的代码。
- 成熟的语言与环境。自 2011 年创建以来,Kotlin 不仅通过语言而且通过强大的工具在整个生态系统中不断发展。 现在,它已无缝集成到 Android Studio 中, 并被许多公司积极用于开发 Android 应用程序。
- Android Jetpack 与其他库中的 Kotlin 支持。KTX 扩展 为现有的 Android 库添加了 Kotlin 语言特性,如协程、扩展函数、lambdas 与命名参数。
- 与 Java 的互操作性。可以在应用程序中将 Kotlin 与 Java 编程语言一起使用, 而无需将所有代码迁移到 Kotlin。
- 支持多平台开发。不仅可以使用 Kotlin 开发 Android,还可以开发 iOS、后端与 Web 应用程序。 享受在平台之间共享公共代码的好处。
- 代码安全。更少的代码与更好的可读性导致更少的错误。Kotlin 编译器检测这些剩余的错误,从而使代码安全。
- 易学易用。Kotlin 非常易于学习,尤其是对于 Java 开发人员而言。
- 大社区。Kotlin 得到了社区的大力支持与许多贡献,该社区在全世界范围内都在增长。 根据 Google 的说法,Play 商店前 1000 个应用中有 60% 以上使用 Kotlin。
Kotlin 非常适合开发服务器端应用程序,可以让你编写简明且表现力强的代码, 同时保持与现有基于 Java 的技术栈的完全兼容性以及平滑的学习曲线:
- 表现力:Kotlin 的革新式语言功能,例如支持类型安全的构建器和委托属性,有助于构建强大而易于使用的抽象。
- 可伸缩性:Kotlin 对协程的支持有助于构建服务器端应用程序, 伸缩到适度的硬件要求以应对大量的客户端。
- 互操作性:Kotlin 与所有基于 Java 的框架完全兼容,可以让你保持熟悉的技术栈,同时获得更现代化语言的优势。
- 迁移:Kotlin 支持大型代码库从 Java 到 Kotlin 逐步迁移。你可以开始用 Kotlin 编写新代码,同时系统中较旧部分继续用 Java。
- 工具:除了很棒的 IDE 支持之外,Kotlin 还为 IntelliJ IDEA Ultimate 的插件提供了框架特定的工具(例如 Spring)。
- 学习曲线:对于 Java 开发人员,Kotlin 入门很容易。包含在 Kotlin 插件中的自动 Java 到 Kotlin 的转换器有助于迈出第一步。Kotlin 心印 通过一系列互动练习提供了语言主要功能的指南。
使用 Kotlin 进行服务器端开发的框架
- Spring 利用 Kotlin 的语言功能提供更简洁的 API, 从版本 5.0 开始。在线项目生成器可以让你用 Kotlin 快速生成一个新项目。
- Vert.x 是在 JVM 上构建响应式 Web 应用程序的框架, 为 Kotlin 提供了专门支持,包括完整的文档。
- Ktor 是 JetBrains 为在 Kotlin 中创建 Web 应用程序而构建的框架,利用协程实现高可伸缩性,并提供易于使用且合乎惯用法的 API。
- kotlinx.html 是可在 Web 应用程序中用于构建 HTML 的 DSL。 它可以作为传统模板系统(如JSP和FreeMarker)的替代品。
- Micronaut 是基于 JVM 的现代全栈框架,用于构建模块化、易于测试的微服务与无服务器应用程序。它带有许多内置的便捷功能。
- http4k is the functional toolkit with a tiny footprint for Kotlin HTTP applications, written in pure Kotlin. The library is based on the "Your Server as a Function" paper from Twitter and represents modeling both HTTP Servers and Clients as simple Kotlin functions that can be composed together.
- Javalin 是用于 Kotlin 与 Java 的非常轻量级的 Web 框架,支持 WebSockets、HTTP2 与异步请求。
- 通过相应 Java 驱动程序进行持久化的可用选项包括直接 JDBC 访问、JPA 以及使用 NoSQL 数据库。 对于 JPA,kotlin-jpa 编译器插件使 Kotlin 编译的类适应框架的要求。
部署 Kotlin 服务器端应用程序
Kotlin 应用程序可以部署到支持 Java Web 应用程序的任何主机,包括 Amazon Web Services、 Google Cloud Platform 等。
要在 Heroku 上部署 Kotlin 应用程序,可以按照 Heroku 官方教程来做。
AWS Labs 提供了一个示例项目,展示了 Kotlin 编写 AWS Lambda 函数的使用。
谷歌云平台(Google Cloud Platform)提供了一系列将 Kotlin 应用程序部署到 GCP 的教程,包括 Ktor 与 App Engine 应用及 Spring 与 App engine 应用。此外, 还有一个交互式代码实验室(interactive code lab)用于部署 Kotlin Spring 应用程序。
Kotlin 用于服务器端的用户
Corda 是一个开源的分布式分类帐平台,由各大银行提供支持 ,完全由 Kotlin 构建。
JetBrains 账户,负责 JetBrains 整个许可证销售和验证过程的系统 100% 由 Kotlin 编写,自 2015 年生产运行以来,一直没有重大问题。
下一步
-
使用 Http Servlet 创建 Web 应用程序及使用 Spring Boot 创建 RESTful Web 服务教程将向你展示如何在 Kotlin 中构建和运行非常小的 Web 应用程序。
-
Micronaut 还提供了很多详细的指南,展示了如何使用 Kotlin 构建微服务。
-
http4k provides the CLI to generate fully formed projects, and a starter repo to generate an entire CD pipeline using GitHub, Travis, and Heroku with a single bash command.