使用 Apache Cordova 開發工具開發 iOS 應用程式
有些開發人員也許已經正在使 Xamarin 及 C++ 來開發 iOS 應用程式,而 Visual Studio 2015 中還提供給應用程式開發人員一個使用 JavaScript 就能容易、迅速地開發跨 iOS、Android 及 Windows 應用程式的工具——Apache Cordova 開發工具非常適合運用於需要快速進入市場、容易維護、並且需要重覆使用程式碼的專案上,Apache Cordova 建構於標準的 Web 技術之上,並且提供了一個具有彈性的擴充套件模型,讓您可以整合巨大而蓬勃發展的 web 前端開發社群資源來進行開發。而開發中的各個層面都有開放源碼的生態系支撐,除了透過 Cordova 的擴充套件存取系統 API 之外,也可以透過 AngularJS、Ionic 或是 Onsen UI 這些函式庫來加強操作介面的開發,而更棒的是,Cordova 專案是使用 Node.js 來建置,這表示可以無縫結合 Node.js 的生態系及大量現成的好用工具,如 Gulp 這類型的 task runner。總而言之,使用 Apache Cordova 來開發應用程式專案能夠十分順利結合 Web 技術的彈性及保有存取系統資源的能力,最重要的,透過這個技術開發出來的應用程式也可以不受平台限制。
經過這一年多來的努力,我們已經提升了不少使用 Apache Cordova 開發工具來開發 iOS 應用程式的開發體驗,在這篇文章中,我會整理幾個重要的功能,並且特別著重在一些未來將持續改進的部份。
Ionic 及 Monaca 範本
對任何一個應用程式來說,操作介面始終是很關鍵的部份,如同我們幾週前宣佈的,我們整合了 Monaca 及 Ionic 這兩個十分受歡迎的 UI 開發框架,透過它們可以把 Web 應用程式帶向另一個境界——在 iOS 上有更好的操作體驗。更棒的是,Monaca 的 Onsen UI 提供了一個非常厲害的佈景主題功能,同時 Ionic 也有提供以 SASS 為基礎的佈景主題功能,這讓你可以把應用程式做得更像目標平台上的長相。
現在 Visual Studio 已經可以支援這兩套開發框架的專案範本了。
透過 Visual Studio 建置及偵錯 iOS 應用程式
在 Apache Cordova 專案中,透過在 Mac OSX 上執行一個遠端工具來進行專案建置、模擬執行以及偵錯,您可以在您的開發機器(Mac)上安裝這個遠端工具,或是使用 MaclnCloud 或 MacStadium 這類型的雲端解決方案來幫你建罝 iOS 專案,這些雲端解決方案都可以協助你建置 iOS 或 Xcode 等專案,也包含 iOS 模擬器及產生上架應用程式用的憑證檔案,甚至還可以透過 Application Loader 直接上架到市集。
如果是自己在 Mac OSX 上安裝了遠端工具,並且設定正確後,您便可以在 Visual Studio 中選擇「遠端機器」或「模擬器 -*」來進行 iOS 應用程式的建置、偵錯及部署,而且也會掛載 Visual Studio 中強大的 JavaScript 除錯器、DOM 檢閱器及 JavaScript 主控台,幫助您更方便除錯,這個遠端工具會自動下載合適的 Cordova 版本工具來完成建置,所以除非更換 Cordova 版本,您不必再做額外的設定。所以當應用程式順利建置完成,您就可以結合 Visual Studio 中的各項強大偵錯功能來進行診斷介面、追蹤每個元素套用的 CSS 樣式規則、在程式中設定中斷點、動態計算 JavaScript 算式以及檢視 console.* 的訊息等等工作。
iOS 與 Visual Studio Online
Apache Cordova 開發工具產生的專案都是 Apache Cordova Command Line interface (CLI) 專案,所以很適合整合不同的建置或 CI(持續整合)系統。Team Foundation Services (TFS) 2015 提供了一個新的跨平台工具讓 TFS 可以直接在 OSX 上建置專案,這同時也讓 Visual Studio Online (VSO) 一樣能建置使用 Cordova 開發的 iOS 應用程式,甚至是原生的 Xcode 專案。
VSO 跨平台工具的基礎是以 Node.js 所開發的,它透過簡單的 HTTPS 連接 TFS2015 伺服器及 Visual Studio Online 來完成工作,如此一來,你的 OSX 開發機器僅須透過 HTTP 連接到 TFS/VSO 即可輕易設定建置的工作。
同樣令人興奮的是,您也可以透過我們在 Visual Studio Online 上的免費工具來嘗試這個跨平台工具以及建置 iOS 專案的功能,只要點擊 BUILD.PREVIEW 的選單以及在你的 Mac 機器或 MaclnCloud 或 MacStadium 等雲端服務上設定遠端工具後就可以完成設定。
我們推薦您現在就註冊使用 Visual Studio Online,並且觀看 TFS 2015 及 VSO 的教學手冊,讓您的 Visual Studio 2015 Cordova 專案可以套用這些功能,在未來的幾個月內,我們會持續加強這部份的功能。
Microsoft 的應用程式及開發服務
除了開發工具及 VSO 的功能,在其它 Microsoft 的平台及服務上,iOS 也是首要支援的目標。
Microsoft Intune
我們已經介紹了如何將 VSO 與您的 iOS 應用程式開發做整合,但不能不瞭解的是,要如何使用 Microsoft Intune 在企業內部署您所開發的 iOS 應用程式。
Intune 提供了完整的 Mobile Device Management 解決方案,它可以控管企業內部的 iOS、Android、Windows 及 Windows Phone 的安全性,同樣也完全支援控管 iOS 裝置,並且能夠透過企業內部的應用程式市集來部署企業應用程式,以及限制部份應用程式的功能以確保安全性。透過這個解決方案,您使用 Apache Cordova 所開發的 iOS 應用程式也可以藉由這樣的方式部署到員工的 iOS 裝置中。
另一方面,Intune 也有許多 Mobile Application Management 的功能用來控管行動裝置內應用程式的權限以確保安全,目前我們已經為 iOS 開發了一個工具,未來您將可以看到更完整的解決方案。
Microsoft 應用程式服務
Microsoft 提供了許多應用程式服務來協助開發人員加速開發,這些應用程式服務都不限定使用 Microsoft 的裝置或平台,Apache Cordova 專案也可以透過 Microsoft 撰寫的一些 Cordova 擴充套件來使用這些服務。
以下列出一些已經提供 Cordova 擴充套件的服務做例子:
- Azure Mobile Service - Azure 團隊釋出了完整支援 iOS 裝置的 Azure Mobile Service 擴充套件,幫助您快速地整合 Azure Mobile Service。
- Active Directory - Active Directory 團隊釋出了 ADAL 及 AD Graph 擴充套件,讓您的應用程式更容易結合 Active Directory 功能。
- Office 365 - 現在已經可以透過 Outlook Services 及 File / Discovery Services 擴充套件來整合 Office 365 上的服務。
- Application Insights - Application Insights 團隊最近釋出了 Application Insights 擴充套件來讓你在 iOS 應用程式中分析使用者行為等使用數據。
雖然有些擴充套件還是初期開發的版本,但由此也可以看得出來 Microsoft 許多團隊都投資在 Apache Cordova 的生態系及社群,我們也會持續協助 Cordova 發展成為快速、可靠及容易開發的服務。
命令列整合及 Visual Studio Code
最後,但當然不只如此,我們已經開始讓 Visual Studio 2015 「可與命令列交互操作」,如果在同一個 Cordova 的專案團隊中,有些人使用 Mac 電腦,有些人使用 Windows,在這個情況下只需要在專案中安裝正確版本的 Apache Cordova Command Line Interface (CLI) 即可保持專案在不同環境下仍能正常運作。我們也開發了一個 Cordova 擴充套件來處理一些 Visual Studio 的功能,在未來的幾個月內你會看到更多的整合及加強。
而且現在 Visual Studio 及 Visual Studio Code 都能直接處理檔案系統的結構,所以只需要直接開啟 Cordova 專案的目錄就可以開始編輯專案內的檔案了,您也可以使用 Gulp 工具以及相關的擴充套件,這樣在 Visual Studio 中可以透過 Task Runner Explorer 來操作,而在 Visual Studio Code 中可以使用命令列操作。
針對 iOS 應用程式專案,你也可以在 Mac 開發機上用 Cordova 命令列工具下 "cordova prepare ios" 的指令產生 Xcode iOS 的專案檔,這並不會影響與 Windows 開發人員使用 Visual Studio 來開發的問題。
不過我們同時也在進行其它的計劃讓整個工作流程更加順暢。
結論
自從我們在 2014 年 6 月的 TechEd 中第一次宣佈了 Apache Cordova 開發工具的技術預覽版本以來,我們一直都致力於提升這套開發工具的功能及整合。在 Visual Studio 2015 中,我們終於可以宣稱我們正式支援這個開發工具了,這都要歸功於早期採用者們不管從 Visual Studio 還是 Cordova 社群中所提供的寶貴建議,非常感謝你們!我們希望在不久的將來讓你們看到更多更好的功能。
如果您還沒有試過 Apache Cordova 開發工具,可以下載 Visual Studio 2015 Community 或企業版 RC,並且在安裝時確定有勾選安裝「Tools for Apache Cordova」。
別忘了我們隨時歡迎你們提供建議及意見回饋,您可以透過 UserVoice、傳送笑臉/哭臉的功能、Twitter、StackOverflow 或是 email 來聯絡我們,如果您有興趣協助我們改進文件資料,也可以參考這篇文章來瞭解如何貢獻。
關於其它 Microsoft 技術在 iOS 上的支援,您可以參考 C++、Visual Studio Code 以及 Visual Studio Online 團隊的部落格,以及我們的 Any Dev, Any App 網站。
本文翻譯自 Developing for iOS using the Tools for Apache Cordova 一文。