跨平臺打造移動原生應用的10大武器
編譯工具對開發者的影響是直觀的,開發者使用JavaScript等語言寫出應用的程式碼,再將它們編譯成原生程式碼。通過原生的API,完成跨平臺的操作,最終分發到本地的應用商店中。由此可見,編譯工具的選擇可以直接降低開發成本,整個團隊可以間接地快速捕捉市場、提高收益。今天我們為大家介紹了10款主流的原生轉換編譯工具,開發者們可以根據不同的特點來選取,提高自己程式設計的效率。
Adobe Air是針對網路與桌面應用的結合所開發出來的技術,可以不必經由瀏覽器而對網路上的雲端程式做控制,是一款允許你利用現有的web開發技能(包括Flash, Flex, HTML, JavaScript, Ajax)優勢,建立和配置跨平臺(或跨作業系統)的桌面RIA應用。
其特點如下:
- 網路應用離線化:同傳統的Web相比,AIR的優勢在於有客戶端的優勢,可以離線執行程式,在需要的時候偶爾連線一下網路,比如可以離線寫部落格,釋出的時候連線一下網路。
- 跨平臺、低開發成本:跟傳統的桌面應用程式相比,AIR程式可以跨平臺,支援多作業系統,開發成本較低。
- 出色的互動表現:AIR憑藉Flash技術本身的特徵可以帶來更吸引人的互動表現,相比其他傳統的Web技術要出色。
- 執行速度更快:因為AIR程式均是在本地執行,而網路應用程式在網路客戶端和伺服器之間進行呼叫,需要呼叫大量資料和程式碼,所以AIR程式的執行速度要快一些。
Firemonkey是一個基於CPU/GPU混合架構的業務應用平臺,能夠幫助開發人員設計出Windows、Mac和iOS裝置上的視覺絢麗的本地應用程式。 Firemonkey允許開發人員建立具有快速的本地效能、動畫和影像效果、企業級的資料連線以及互動式資料視覺化的富HD和3D的圖形應用程式。
使用類似Flash的功能來開發遊戲或者應用,雖然不如上面的一些工具簡單,但你也無須懂特別高深的程式語言,還能對已有的程式碼迴圈利用,開發好之後,可以在電腦或者其它裝置上立即進行測試,無需反覆導程式碼。
J2ObjC(Java to Objective-C)是Google出品的一個開源的命令列工具,允許開發者將Java程式碼轉換成適用於iOS平臺的Objective-C程式碼。這意味著,開發者編寫的Java程式碼可以成為iOS應用程式的一部分,且無需對生成的檔案進行編輯。
J2ObjC支援Java語言和執行時的大部分特性,包括異常、內部類/匿名類、泛型型別、執行緒和反射等,同時也支援轉換和執行JUnit測試。
LiveCode 原名 Revolution,是一款源自 HyperTalk 的用於快速應用程式開發語言。LiveCode 語法結構和自然語言接近,比較適合程式設計初學者掌握。此外 LiveCode 具有良好的跨平臺支援,可以建立 Linux、OS X 和 Win 桌面應用, Android 和 iOS 手機版的應用,以及無 GUI 的伺服器端應用。
LiveCode 5.X 及更早的執行時環境僅有閉源版本,若想用其進行開源軟體開發限制非常大。經過今年年初的 KickStarter 募集後,成功推出改良核心的 6.0 版本,包含了支援拖拽佈局的 IDE 和多平臺部署分發工具,可安裝於 Linux、OS X 和 Win 系統上。
Mono是一個由Novell公司(先前是Ximian)主持的專案。該專案的目標是建立一系列符合ECMA標準(Ecma-334 和 Ecma-335)的.NET工具,包括C#編譯器和共通用語言執行庫。與微軟的.NET Framework不同,Mono專案不僅可以執行於Windows系統上,還可以執行於Linux,FreeBSD,Unix,OS X 和 Solaris。
J2ME Polish是用於開發J2ME應用的工具集: 從一份原始碼中為多種裝置和多種語言建立應用的建造工具(build tools)。一個裝置資料庫,您的應用可以用它通過預處理為不同的手機進行調整。 一套使用者介面(GUI),,可以在應用程式程式碼之外進行設計。 工具類(Utiliy classes),如BitMapFont 和ArrayList。 編輯修改二進位制檔案的獨立工具。
Qt是一個跨平臺的C++圖形使用者介面應用程式框架。它提供給應用程式開發者建立藝術級的圖形使用者介面所需的所用功能。Qt是完全物件導向的,很容易擴充套件,並且允許真正地元件程式設計。
使用Qt的公司包括三維建模(Autodesk Maya)、Adobe Photoshop Elements(Adobe影像處理)、Skype、 VLC 播放器。歐洲太空總署、谷歌、HP、盧卡斯影業和Opera移動瀏覽器也都有使用Qt技術。
Sencha 是由 ExtJS、jQTouch 以及 Raphael 三個專案合併而成的一個新專案。Sencha Touch 是全球領先的應用程式開發框架,其設計旨在充分利用HTML5、CSS3 和Javascript 來實現最高階別的功能、靈活性和優化。Sencha Touch 是針對下一代具有觸控式螢幕裝置的跨平臺框架。其特點如下:
- 基於最新的WEB標準:HTML5,CSS3,JavaScript。整個庫在壓縮和gzip後大約80KB,通過禁用一些元件還會使它更小。
- 支援世界上最好的裝置。Beta版相容Android和iOS,Android上的開發人員還可以使用一些專為Android定製的主題。
- 增強的觸控事件。在touchstart、touchend等標準事件基礎上,增加了一組自定義事件資料整合,如tap、swipe、pinch、rotate等。
- 資料整合。提供了強大的資料包,通過Ajax、JSONp、YQL等方式繫結到元件模板,寫入本地離線儲存。
Codename One是一個針對移動應用開發者的、開源的、跨平臺的Java工具,旨在幫助Java開發者通過單一程式碼庫來針對所有移動(智慧手機和平板電腦)平臺構建本地應用。
Codename One由Chen Fishbein和Shai Almog開發,這兩人都曾供職於Sun公司。Fishbein稱,Codename One使移動應用開發工作更加快速、容易,Java開發者可以構建iPhone/iPad (iOS)、Android、Windows Phone、Blackberry等平臺上的應用,且無需在應用效能、功能或開發簡易性方面妥協。
相關文章
- Flutter嚐鮮:跨平臺移動應用開發Flutter
- 《React Native跨平臺移動應用開發》讀後鬼扯React Native
- CrossApp 0.1.5 釋出:跨平臺移動應用開發引擎ROSAPP
- 跨平臺移動應用開發引擎CrossApp更新至0.1.8ROSAPP
- 用 Visual Studio Code 做基於 .NET MAUI 跨平臺移動應用開發UI
- 移動跨平臺開發深度解析
- 移動端跨平臺開發的深度解析
- 使用Termux打造你的移動開發平臺UX移動開發
- 移動跨平臺技術方案總結
- 高效打造跨平臺桌面應用:Electron載入伺服器端JS伺服器JS
- 移動開發的跨平臺技術演進移動開發
- 使用Electron構建跨平臺的桌面應用
- 5大移動應用開發平臺推薦
- 從 React Native 到 Flutter,移動跨平臺方案的真相React NativeFlutter
- 打造跨平臺.NET Core後臺服務
- Flutter:手拉手帶你極速構建漂亮的跨平臺(iOS/Android)移動應用 ✿ 初識FlutteriOSAndroid
- 淺談 2018 移動端跨平臺開發方案
- Flutter:移動端跨平臺技術演進之路Flutter
- 移動端跨平臺技術之下的變與不變
- 跨平臺移動應用開發迎來“大殺器”,Xamarin.Essentials正式版釋出
- Flutter:手拉手帶你極速構建漂亮的跨平臺(iOS/Android)移動應用 ✿ 環境搭建FlutteriOSAndroid
- [譯] PWA 會取代原生移動應用嗎?
- 用傳輸表空間跨平臺遷移資料
- Electron構建跨平臺應用Mac/Windows/LinuxMacWindowsLinux
- [譯] 使用 Flutter 實現跨平臺移動端開發Flutter
- 淺談移動跨平臺開發框架的發展歷程框架
- 移動應用程式發展趨勢:跨平臺開發、隱私保護、使用者體驗等
- Flutter 基礎(一)移動開發的跨平臺技術演進Flutter移動開發
- 移動跨平臺框架Flutter介紹和學習線路框架Flutter
- 最火移動端跨平臺方案盤點:ReactNative、weex、FlutterReactFlutter
- 移動跨平臺方案對比:WEEX、React Native、Flutter和PWAReact NativeFlutter
- HTML5到跨平臺App應用深度解析HTMLAPP
- 跨平臺桌面應用 Electron 嘗試(VS2019)
- 原生移動應用框架React Native與Flutter比較框架React NativeFlutter
- MediaPipe - 跨平臺機器學習應用開發框架API機器學習框架
- 藉助Unity AR Foundation構建跨平臺AR應用Unity
- cross-plateform 跨平臺應用程式-01-概覽ROSORM
- 用JS開發跨平臺桌面應用,從原理到實踐JS
- 推薦幾款實用的移動開發平臺移動開發