盧建暉:移動跨平臺開發(fā)要領(lǐng)
原創(chuàng)在2014年微軟MVP ComCamp上,來自華南師范大學的微軟MVP同時也是程序設(shè)計總監(jiān)的盧建暉給大家做了《移動互聯(lián)時代的開發(fā)超人》的主題演講,在演講中,他講到移動跨平臺開發(fā)的要領(lǐng),這里我給大家總結(jié)一下。
目前,移動跨平臺開發(fā)的焦點聚集在HTML5上,但是使用HTML5會面臨性能和兼容的種種問題,因此跨平臺開發(fā)原生應(yīng)用成為目前***的解決方案。
盧建暉老師首先給大家介紹了Xamarin,這是使用C#進行移動跨平臺開發(fā)的工具,能夠開發(fā)原生應(yīng)用,支持Android、iOS、Windows Phone。雖然使用Xamarin能做出各個平臺的原生App,但實際上開發(fā)難度仍然不小,并且仍然需要學習各個平臺的開發(fā)。那么,Xamarin憑什么號稱為移動跨平臺開發(fā)的利器呢?
盧建暉講到,看一個跨平臺開發(fā)工具是否合格,主要有以下四個方面:
- 好的架構(gòu)
- 共享邏輯代碼
- 組件是否豐富
- 好的管理平臺(代碼版本管理、測試等)
其中,架構(gòu)表現(xiàn)在是否采用了符合跨平臺開發(fā)的設(shè)計模式。目前移動平臺的軟件開發(fā)架構(gòu)主要有三種模式:MVC、MVP和MVVM,其中iOS是典型的MVC模式,Android有MVC但也可以看做是MVP,WP平臺則是MVVM模式,在這三種模式中,什么模式更符合跨平臺開發(fā)的需要呢?盧建暉認為是MVVM模式,使用數(shù)據(jù)綁定能夠讓代碼更加清晰,并且邏輯代碼能夠很好的公用,一旦開發(fā)出之后就可以專注于各個平臺的UI設(shè)計了。
對于跨平臺開發(fā),支持的平臺越多,意味著能夠共享的代碼越少,特別是要開發(fā)出原生應(yīng)用,一些代碼庫的共享就成為很大的問題。Xamarin中采用Project Linker和Portable Class Library來共享庫,因此能夠做到一個代碼庫支持數(shù)個平臺。
在組件上,Xamarin也提供了豐富的組件,并且支持插件化的組件,來簡化開發(fā)的工作量。
***,Xamarin使用Visual Studio來進行項目的管理,能夠方便的進行版本管理和調(diào)試。
因此,Xamarin作為移動跨平臺的解決方案是合格的,它繼承了之前的Mono/C#跨平臺項目,因此發(fā)展已經(jīng)很成熟。
開發(fā)者們在進行移動跨平臺開發(fā)時,也可以想一想這些要領(lǐng),看自己的開發(fā)項目是否符合這些要求呢?