本篇为KMP技术的技术及实践系列文章的第二篇。在这篇技术文章中我们会以百人移动研发团队的工程化视角,探讨Kotlin Multiplatform的核心技术及优化。DTI28资讯网——每日最新资讯28at.com
Kotlin: 语言与编译
人们在用自然语言沟通时,内容可以不明确,甚至小的错误,而听的人仍然可能理解说的人想要说的内容。但电脑不同,电脑“只做被告知要做的事”,无法理解程式设计者想要写的程式。语言的定义、编程以及编程输入的组合需完整定义程式执行时的外部特性。 而程序语言正是人类和计算机的桥梁, 顺着这个逻辑,我们把我们日常的编程工作和一些核心概念结合起来。DTI28资讯网——每日最新资讯28at.com
- 人控制计算机,所以编程语言是给人写的。那么自然就要符合人类的思维习惯,例如面向对象,函数式编程等。这也是为什么有那么多的编程语言的不同之处。
- 计算机世界只有0/1,而交付0/1对人类来说在现代实在太困难了,所以我们发明了了指令集架构,发明了汇编,发明了各种例如JVM的字节码。而这些也就是计算机所需要的输入。
- 人类的思维和计算机的所需要的输入之间有一个翻译的过程,这个过程就是编译器。编译器的目的就是把人类的思维翻译成不同level的计算机所需要的输入。
- 我们通过编程语言与计算机沟通,那么自然希望这个语言是一种扩展性强的,让我们不被语言语法本身所限制,通常对人类抽象层面越高的语言他们的表达能力反而更弱,这也是插件系统的重要性所在。插件主要的作用就是在不增加原语言复杂度的前提下扩展出更强的能力,当然并不是所有的语言都通过插件体系来实现核心能力(例如类似的compose&swiftui,前者是通过插件生态扩展能力,后者(虽然在swift5.9 之后支持了macro的插件体系)依然是通过为语言本身增加更多的表达能力来达成。
接下来我们就结合KMP从编程语言的角度来刨析实际工程化中的实践。DTI28资讯网——每日最新资讯28at.com
语言(language)
默认可见性为public
本文链接:http://www.28at.com/showinfo-26-97283-0.html工程化视角的 Kotlin Multiplatform 核心解读及优化
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com
上一篇: ECMAScript 2024 正式发布,新特性一览!
下一篇: 从此告别程序崩溃:Python 中的异常处理秘籍
标签: