21世紀的編程講求高效,低門檻,低成本。作為一名程序員,你多少可能了解甚至從事過跨平臺開發、多端開發。
所謂"跨平臺",就是編寫一套代碼,編譯到多個平臺運行。比如,時下流行的小程序廠商眾多,有微信、QQ、百度、支付寶等等。如果每個廠商的小程序都要編寫一套代碼,那需要的開發周期和成本將是巨大的。然而,小程序的廠商雖然多,但所幸使用的技術都大同小異,所以一些針對小程序的跨平臺編程工具應運而生,它們的目的只有一個,就是一套代碼,多平臺運行。比較具有代表性的小程序跨平臺開發框架如:DCloud的uni-App、京東的taro等。針對PC桌面應用的跨平臺框架有electron。
而所謂"多端開發",即學習一套語言,編譯到多個應用端運行。一些常見的應用端,如:Android/ target=_blank class=infotextkey>安卓端(手機+pad)、IOS端(手機+pad)、WEB網站、PC端、小程序平臺等。它不一定是編寫一套代碼,就到處可以運行,有可能需要編寫多套代碼,但使用的是同一套編程語言或開發框架。為什么說是"不一定,有可能",因為在編譯到一些特定的應用端時,比如,只需要編譯到安卓端+IOS端+小程序平臺,由于都是在移動設備上運行,UI布局可共用,系統或平臺的API差異可通過框架實現兼容,所以同樣可做到跨平臺,只需編寫一次代碼。而WEB網站、PC桌面應用在電腦上運行,從系統API以及UI布局上都和移動設備存在比較大的差異,這樣就需要至少編寫兩套代碼以適配不同的系統API和UI布局。但即使如此,只需學習一套編程語言,就可以完成多個端的應用的開發,這也極大地降低了開發者或互聯網公司的開發周期和成本。
說到這里,可能已經有讀者想到了Facebook 的 React Native 和 google 的 Flutter。但今天的主題并不是它們,而是那鮮為人知的國產跨平臺的多端應用開發框架:官網-獵碼AMix
AMix其實是由國內一家公司研發的一款面向對象的強類型編程語言。它是為了滿足多端應用開發而誕生的新星。相較于JAVA,AMix在語法結構上做了許多優化,更簡潔而高效;而與JavaScript相比,AMix的面向對象和強類型特性使得它能夠實現大規模、復雜的程序,更易拓展、復用和維護。
AMix代碼(英文版)
AMix創造性地支持了中英兩套關鍵詞。即不僅支持英文關鍵詞,如: if、else、switch、while、for等,還支持中文關鍵詞,如:如果、否則、判斷、判斷循環、計次循環。同時,AMix官方團隊還分別封裝了中文和英文兩套應用開發組件包。這樣,不僅代碼關鍵詞可以使用中文,模塊組件也可以使用中文,實現全中文開發。這對于國人而言,極大地降低了編程的門檻,有利于國人能夠更快地學習入門編程,使得人人都可以學習編程,開發應用。
AMix代碼(中文版)
我們知道,市面上的開發工具常常將json或xml格式的文本作為項目配置或布局的描述文件。如nodejs項目中的package.json的內容為json格式,android項目中的布局文件的內容為xml格式。json和xml都依賴于嚴格的文本格式,在輸入數據的同時,還需要輸入額外的結構字符去格式化數據。一方面,開發者需要輸入大量的結構字符,降低了開發效率;另一方面,大量的結構字符增加了項目的冗余,加大了文本篇幅,提高了閱讀難度。為解決這些問題,AMix官方團隊給項目的配置和布局文件都設計了專門的語法,使用最少的結構字符來描述配置和布局,使得它們更簡潔易讀。
AMix布局代碼
AMix配置代碼
AMix語言非常適合用于多端應用的開發。AMix官方團隊發布的AMixStudio將可以使用AMix語言來開發原生安卓端、H5跨平臺移動端、WEB網站、PC跨平臺、小程序等多端多平臺的應用。
AMix編譯圖
AMixStudio是獵碼AMix團隊打造的專門用于多端應用開發的編程工具,功能非常強大。附一張截圖:
AMixStudio開發工具