本篇為KMP技術的技術及實踐系列文章的第二篇。在這篇技術文章中我們會以百人移動研發(fā)團隊的工程化視角,探討Kotlin Multiplatform的核心技術及優(yōu)化。NdJ28資訊網——每日最新資訊28at.com
Kotlin: 語言與編譯
人們在用自然語言溝通時,內容可以不明確,甚至小的錯誤,而聽的人仍然可能理解說的人想要說的內容。但電腦不同,電腦“只做被告知要做的事”,無法理解程式設計者想要寫的程式。語言的定義、編程以及編程輸入的組合需完整定義程式執(zhí)行時的外部特性。 而程序語言正是人類和計算機的橋梁, 順著這個邏輯,我們把我們日常的編程工作和一些核心概念結合起來。NdJ28資訊網——每日最新資訊28at.com
- 人控制計算機,所以編程語言是給人寫的。那么自然就要符合人類的思維習慣,例如面向對象,函數式編程等。這也是為什么有那么多的編程語言的不同之處。
- 計算機世界只有0/1,而交付0/1對人類來說在現代實在太困難了,所以我們發(fā)明了了指令集架構,發(fā)明了匯編,發(fā)明了各種例如JVM的字節(jié)碼。而這些也就是計算機所需要的輸入。
- 人類的思維和計算機的所需要的輸入之間有一個翻譯的過程,這個過程就是編譯器。編譯器的目的就是把人類的思維翻譯成不同level的計算機所需要的輸入。
- 我們通過編程語言與計算機溝通,那么自然希望這個語言是一種擴展性強的,讓我們不被語言語法本身所限制,通常對人類抽象層面越高的語言他們的表達能力反而更弱,這也是插件系統(tǒng)的重要性所在。插件主要的作用就是在不增加原語言復雜度的前提下擴展出更強的能力,當然并不是所有的語言都通過插件體系來實現核心能力(例如類似的compose&swiftui,前者是通過插件生態(tài)擴展能力,后者(雖然在swift5.9 之后支持了macro的插件體系)依然是通過為語言本身增加更多的表達能力來達成。
接下來我們就結合KMP從編程語言的角度來刨析實際工程化中的實踐。NdJ28資訊網——每日最新資訊28at.com
語言(language)
默認可見性為public
本文鏈接:http://www.www897cc.com/showinfo-26-97283-0.html工程化視角的 Kotlin Multiplatform 核心解讀及優(yōu)化
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: ECMAScript 2024 正式發(fā)布,新特性一覽!
下一篇: 從此告別程序崩潰:Python 中的異常處理秘籍
標簽: