跨平台開發方式
目前市面有許多跨平台的開發方式,以下將逐一介紹
Unity
一個專業的遊戲開發引擎,並且開發效果最接近原生APP,能維持高性能。相對而言,也要付出較高的學習成本。可以各式的PC平台,手機平台甚至是PlayStation, Wii以及Xbox上執行。
參考資料 http://unity3d.com/
XAMARIN
2011年原本在Novell的Mono專案團隊,獨立成立一家公司命名為Xamarin,原本是在Linux上執行C#程式的一個開放原始碼專案,後來陸續發表支援iOS的Mono Touch framework以及Mono For Android Framework。可以使用C#撰寫出iOS, Android, Windows, Mac的原生程式碼。
參考資料 http://xamarin.com/
Apache Cordova
2009年在舊金山召開的iPhoneDevCamp大會,Nitobi的工程師Brock Whitten、Rob Ellis和Andre Charland提出了PhoneGap框架的概念:在iPhone,Android跟BlackBerry 系統內架設起Web介面和原生程式之間的橋樑,讓開發人員得以使用HTML5、JavaScript、CSS等web標準技術開發原生程式,實現一次編譯到處執行。Adobe在2011年10月4日收購了Nitobi軟體,將PhoneGap原始碼捐獻給Apache軟體基金會(Apache Software Foundation; ASF),ASF重新命名為Apache Callback,1.4版發布後,接著Apache Callback的名稱變更為Apache Cordova,Cordova在2011年10月進入了Apache軟體基金會,並且在2012年10月正式成為Apache的頂級專案。
Cordova是一款開放原始碼的行動裝置開發框架,旨在讓開發者使用HTML、Javascript、CSS等Web APIs開發跨平臺的行動裝置應用程式。也可以利用JavaScript存取這些介面可以使用諸如攝影機、羅盤等硬體系統資源。Cordova之所以能讓網頁技術在原生環境中執行,其中主要兩個關鍵點為:
- 運用WebView元件,整合成瀏覽器環境
- 將一系列的相關資源都包附在網站應用程式資料夾中
因為現在市面上的手機有著各式各樣的作業系統,所以我們透過Cordova來幫我們完成跨平台的效果,並減少使用者因為使用平台不同而造成的問題。 圖 1可以看出Cordova製作出的應用程式與原生的應用程式之間的差異。原生的應用程式是透過原生程式碼(如:Android與Java、iOS與Objective-C)去呼叫裝置的相關資源(如:相機、電池狀況、設備狀況等等)。但是Cordova不需要去撰寫原生的程式碼,只需要透過HTML、Javascript、CSS就能夠達到與原生程式碼相同的功能。
圖 1. Cordova結構圖
圖 1-1. Visual Studio結合Cordova
參考資料
http://adon988.logdown.com/posts/249660-visual-studio-2015-and-apache-cordova
https://cordova.apache.org/