C#開發者如何建構移動應用
其它 | 作者:慧都控件網 | 2013-01-15 13:35:36| 閱讀 646次 有用 (3) 評論 (0) 收藏
概述:移動應用程式的開發作為現在炙手可熱的話題,但移動APP又有其特殊性,讓傳統的.Net開發者面臨着程式維護和HTML5應用的挑戰,本文或者能為您解決這兩個問題帶來一個新的思路。
移動應用程式的開發作為現在炙手可熱的話題,.Net開發者當然也蠢蠢欲動。但移動APP又有其特殊性,讓傳統的.Net開發者面臨着許多挑戰,其中一個就是他可能面對的是他并不熟悉的程式設計語言或維護着多個代碼庫。另外一個可能想不通就是HTML5在移動應用開發中發揮的作用。本文或者能為您解決這兩個問題帶來一個新的思路。
一個移動應用程式,可以通過REST傳輸JSON或者通過SOAP傳輸XML,來實作資料的傳輸。移動APP的運作方式其實與Windows Forms或者Windows Presentation Foundation (WPF) 環境相類似,其環境是狀态化的,是以是将資料本地化存儲的。移動應用程式有很多種,接下來為大家簡單分類一下。
原生的移動APP
每一個移動應用平台,都擁有針對自己特定作業系統的開發APP的軟體開發工具包(SDK)。例如,Android和黑莓的應用程式是使用Java語言開發的(黑莓手機支援一些其他的技術),這兩個平台上的應用程式在Mac或PC上都可以開發。而iPhone的原生APP則需要在Mac上使用的Objective-C語言開發。Windows Phone需要開發人員在PC上使用Silverlight或XNA工具開發,最新的Windows 8則需要使用JavaScript,當然Win8仍然支援Visual Basic,C#和XAML。
使用原生語言的SDK開發移動應用程式是充滿兩面性的。優點是您可以通路完整的API,甚至還能實作對APP的仿真測試。然後缺點就在于,使用原生SDK的編碼量非常巨大,而且對于.Net開發人員,學習每個平台的開發語言和技術也非常消耗時間,而且原生SDK對硬體(Mac和PC)也有一定的要求。
是以這時就是第三方提供的開發控件大展拳腳的時候了,第三方提供的強大的控件,除了能開發原生的應用程式之外,還能夠幫助.Net開發者大大提高開發效率。使用MonoTouch和Mono for Android技術,能讓開發者使用C#來開發适用于iPhone和Android的應用程式。使用MonoTouch和Mono for Android的C# API來開發應用程式,MonoTouch和Mono for Android環境能将其編譯成ARM彙編語言代碼,MonoTouch和Mono for Android應用程式可以共享一個通用的代碼庫,允許額外再利用。
Resco MobileApp Studio采用了MonoTouch和Mono for Android技術,他是一個基于Microsoft Visual Studio的開發者平台,但可用于開發多種移動應用程式的開發。比如Win Mobile, WinCE, Tablet PC, Windows phone7, iOS, Android等,值得注意的是,開發出來的程式都是原生的,非常具有競争優勢。
對于開發iPhone的原生應用,可以采用Mono技術的圖表控件TeeChart Mobile,使用Objective C的NetAdvantage Ultimate中的NUCliOS等。
對于Android的原生應用,可是使用aiCharts for Android來建立圖表。
Windows Phone原生開發控件就非常的多了,專門移動開發的有BCGMobile for windows phone、ComponentOne Studio® for windows phone等。
HTML5的移動APP
現在很火的HTLM5可以用于移動應用程式的開發,相信大家都不陌生了。相當多的移動裝置都支援使用HTML5,CSS3和JavaScript引擎的應用程式,這些APP通常被稱為基于浏覽器的應用程式。
關于HTML5和原生的移動應用的差別和實作,在這裡就不細說了,詳情可以參考:iOS APP開發控件大盤點。
HTML5的一大特點就是跨平台,是以采用HTML5開發的移動APP,通用于iPhone、Android和Windows Phone。
其代表的第三方控件有DevExpress最新推出的DXTREME ENTERPRISE,包含最新的HTML5,CSS和JavaScript工具,支援建立漂亮的跨平台和多裝置(等)應用程式。支援Apache Cordova(PhoneGap),實作基于觸摸的應用程式。
除此之外,還有界面控件有ComponentOne Studio、TMS IntraWeb iPhone Controls Pack,圖表控件有AnyChart、ComponentArt等。