使用F#開發iOS和Android原生應用
英文原文:F# Native App Development on iOS and Android
從 Xamarin 4.8 開始,F#已經可以通過使用 Xamarin 支持 iOS 和 Android 原生編程了,并且可以有效地在兩個平臺上創建原生應用。讓我們看看一些經驗報告。
Rachel Reese 是 Firefly Logic 的高級軟件工程師,最近在 Nashville .NET 用戶小組會上做了一個演講,展示了如何完全用F#語言寫出絕對原生并且跨平臺的移動應用程序。Rachel 還將F#和 Apple 的新 Swift 語言做了有趣的特性對比。在 Rachel 看來,很多F#語言的特性,像識別聯合、模式匹配、自定義運算符、可選擇類型、REPL,這些在 Swift 中都可以找到,從語言層面講 Apple 為 iOS 和 OS X 開發的新語言還是缺少了一些重要的在F#語言上擁有的特性,如類型提供者、類型推斷、同步和異步支持等等。她評論到:
隨著每個新 Xamarin Studio 版本的發布,其手機相關模塊在程序編程方面會做的越來越好。
</blockquote>Faisal Waris 是 iOS 和 Android 咨詢顧問,最近總結了他使用F#語言為 Android 開發的一個復雜 app 的經驗。Faisal 的 app 有 6000 多行代碼,還有一個包含自定義控件的復雜 UI,另外還有復雜的后臺處理。他說:
Xamarin 對F#語言的支持現在非常好,我很樂意推薦它用來開發產品。當我開始使用的 Xamarin 的時候,它對F#語言的支持還處于測試階段,我也遇到了很多問題。可是,Xamarin 團隊的響應非常積極,并且很快就能將插件開發到穩定、好用的地步……要代替這 6K 行代碼,等效的 Java 代碼將在 50K LOC 范圍并且會相當復雜。我認為F#語言是移動計算機處理技術中一種極好的語言。
</blockquote>Faisal 同時也是 VL 的作者,VL 是F#語言中一種 DSL 工具,它允許在 iOS 控件的布局上指定自動布局約束。Faisal 說,由于 VL 自動布局約束使用強類型方式指定,所以它允許在早期捕獲一些布局問題。VL 使用了F#的 Algebraic 數據類型、匹配模式和操作符重載,同時也提供了一個展示F#靈活性和表現力的很好的例子。
軟件工程師 Neil Danson 在最近的一次F#unctional 倫敦聚會上 做了一個很好的關于用F#語言開發 iOS app 的介紹。Neil 說,F#快速,因為它編譯成原生代碼,同時F#也具有完整性,提供所有可用的 API。不過它沒有 Objective-C 速度快并且F# app 要更慢的啟動時間,Neil 補充道。Neil 還提到,F#特別適合移動應用開發,是因為它的異步行為允許方便的利用非阻塞I/O和多核 CPU,以及它的跨平臺的可移植性。在他的 BitBucket 賬號上,可以下載他為 iOS 和 Android 平臺完整實現的兩個游戲應用 Pacman 和 Pissed off owls.
F#是一種使用類型推斷以及支持命令式和面向對象范式的強類型函數語言。F#由包括 Microsoft 和開放貢獻者在內的F#軟件基金會開發。F#軟件基金會也提供了開源、跨平臺的F#編譯器。
為 iOS 和 Android 平臺開發F# app,可以使用 Windows 平臺的 Visual F#工具,或者 Mac 平臺F#工具,或者 Xamarin Studio 。
來自: InfoQ<span id="shareA4" class="fl"> </span>
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!