移動開發領域,一種語言通喫多個開發平臺Windows Phone/Android/iOS-介紹猴子平臺。(轉)


移動開發領域,一種語言通喫多個開發平臺Windows Phone/Android/iOS

通常的原生開發工具及語言如下

1)Windows Mobile/Phone:

      I)原生APP:

                開發工具:Visual studio 2008+C#/Mobile,Visual studio 2010+C# /,自帶模擬器,技術嘛Silverlight/XNA均可

                開發工具:Delphi XE2 +Firemonkey+FPC

                                   其他的還有spaceport

     III)混合APP(Hybird App):

             藉由PhoneGap+HTML5+Javascript,你可能重新學習HTML5+Javascript到深入級別了。通過PhoneGap的不同平臺進行編譯。

 

2)Android:

 

     I)原生APP:

                開發工具:eclipse 需要ADT插件,開發語言Java

                開發工具:mono for android/C#,你可以使用MonoDevelop或者Visual studio/Mono plugin...,需要java環境運行模擬器。

                 開發工具:估計2012年到2013將推出,英巴卡迪諾正在開發Android的編譯環境,官方稱,

                                       現在還是通過Delphi X2 2 導出到PhoneGap上編譯。

                 其他的還有spaceport

     III)混合APP(Hybird App):

             藉由PhoneGap+HTML5+Javascript,你可能重新學習HTML5+Javascript到深入級別了。通過PhoneGap的不同平臺進行編譯。

 

3)iOS:

    

     I)原生APP:

                開發工具:Objective C語言,Mac os系統

                開發工具:monotouch for ios/C#,你可以使用MonoDevelop或者Visual studio/Mono plugin...,需要java環境運行模擬器。

                 開發工具:Delphi XE2 +Firemonkey

     III)混合APP(Hybird App):

             藉由PhoneGap+HTML5+Javascript,你可能重新學習HTML5+Javascript到深入級別了。通過PhoneGap的不同平臺進行編譯。

 

此外還有其他的手機平臺,例如諾基亞的塞班,Plam,黑莓(手機我見過一款,真不知道怎麼回事),手機太多了系統太多了,希望開發一套解決方案就搞定也就成了移動互聯開發領域頭痛的事情。

 

1)基於瀏覽器的Web APP開發。

WAP/HTML5.0的Web網站系列,這種按照WEB機制進行開發,幾乎大部分系統都能使用,市場仍然很廣,不可否認無論你使用PHP,.NET,JAVA也好,WEB大軍依然是最多的,WEB應用有他無法比擬的優勢。而且還有市場價值。

免費的,基本上很快學習一下WML,或者HTML5就行了。

 

2) WEB APP/HTML5通過PhoneGAP開發原生應用

這個也比較流行,畢竟支持的平臺相當廣泛,據說通喫7大移動開發平臺,而且PhoneGAP開源,很多人看好。

但是你明白PhoneGAP的機制,核心依然是WEB,外邊包裹了糖衣,我認爲,慢說支持7大平臺,只要PhoneGAP出現各種包,所有平臺支持也非常有可能,而且容易,

開發難度低,只要你會HTML5+Javascript基本上,而且還支持JQuery MobileE庫,Web開發正常開發,最後包括一下,對於特殊開發查查API就完全可以搞定。

開發要小心速度問題,一不小心,PhoneGap的雜種速度會很慢,而且各個平臺的兼容性你要小心測試。。

但是我試驗的速度不知道咋回事,不怎麼快。

 

3)英巴卡迪諾的Firemonkey開發Windows Phone7/IOS(收費)

Firemonkey據我瞭解,可能內部使用的是FPC的機制,現在不支持Linux/Android,但是明年或者今年就會推出Android版本。

原生程度很高,速度很快是沒有問題的,但是開發語言限於Borland C++/Borland Delphi的老牌程序員能搞,不過不難。開發效果不錯。真正在一個平臺上的一套代碼。

 

4)Novell的MONO平臺

免費的,但是可能收取服務費的,同英巴卡迪諾一樣,現在已經支持Windows Phone7/Android/iOS了,更重要的還支持大量的C#開發者,你可以使用C#開發這些應用了。不同的平臺代碼是不同的,更多的給C#開發人員提供了福音。

 

此外平板或者遊戲平臺還有Spaceport(基於HTML5)多平臺平臺等。

5)Mono和FireMonkey的機制和原理是類似,我們可以叫做"猴子平臺"。

      Mono:西班牙語爲猴子的意思。基於開源的跨平臺語言環境,Mono 是一個基於C#的的開源跨平臺環境

      Firemoney:直接翻譯:就是火猴子,不管什麼猴子,基於開源的跨平臺語言環境,是基於FPC(Pascal語言)的跨平臺環境。

     Java:Java是Sun公司推出的跨平臺的語言環境,現在歸Oracle。更多指的是JAVA環境本身。

 

 

最近體驗了一下MonoDevelp相當不錯,只要會C#就可以開發相當不錯的IOS應用!一般只要會ADO.NET+C#即可,不是深入討論不需要最爛的語言Obj C,但是爲了查詢版主,需要你能夠懂obj C即可,obj c本質上和C++不沾邊,我認爲哪個語言更像,C+Lisp+smalltalk的雜種狗。讀起來,既不像C,也不像lisp.

 

<code style="margin: 0px; padding: 0px;"><span class="pln" style="margin: 0px; padding: 0px;">label1 </span><span class="pun" style="margin: 0px; padding: 0px;">=</span><span class="pun" style="margin: 0px; padding: 0px;">[[</span><span class="typ" style="margin: 0px; padding: 0px;">UILabel</span><span class="pln" style="margin: 0px; padding: 0px;"> alloc</span><span class="pun" style="margin: 0px; padding: 0px;">]</span><span class="pln" style="margin: 0px; padding: 0px;"> init</span><span class="pun" style="margin: 0px; padding: 0px;">];
</span><span class="pln" style="margin: 0px; padding: 0px;">label1</span><span class="pun" style="margin: 0px; padding: 0px;">.</span><span class="pln" style="margin: 0px; padding: 0px;">text </span><span class="pun" style="margin: 0px; padding: 0px;">=</span><span class="pun" style="margin: 0px; padding: 0px;">@</span><span class="str" style="margin: 0px; padding: 0px;">"Hello"</span><span class="pun" style="margin: 0px; padding: 0px;">;
NSString * str = [[NSString alloc] initWithFormat:@"<a target=_blank href="mailto:%@%22,@%22abc" style="margin: 0px; padding: 0px; color: rgb(100, 102, 179);">%@",@"abc</a>"];</span><span class="pln" style="margin: 0px; padding: 0px;"> </span></code>

這麼簡單的句子:

 

alloc分配內存,ini初始化,設置對齊需要發送消息,就是大雜燴,那個參考smalltalk聽說專家說的(單詞有錯),

我看來,不想指針,更像lisp的脫殼子語法。

 

<code style="margin: 0px; padding: 0px;"><span class="pun" style="margin: 0px; padding: 0px;">[[</span><span class="typ" style="margin: 0px; padding: 0px;">UILabel</span><span class="pln" style="margin: 0px; padding: 0px;"> alloc</span><span class="pun" style="margin: 0px; padding: 0px;">]</span><span class="pln" style="margin: 0px; padding: 0px;"> init</span><span class="pun" style="margin: 0px; padding: 0px;">];實現,是執行裏面,脫掉馬甲,在執行外邊的烏龜殼,你的面向對象的思考就丟失了,
更多適應簡單C和LISP標記表達。當然習慣就很好。
但是JAVA和C的思想完全不同,雖然同族。但是思想模式完全不同。
可見MonoDevelop的意義。
</span></code>

 

 

 

Mono是開源的的,這個一個好消息,mono for android有一定的意義,但是意義不強,畢竟Java也不難。mono for android相對ADT快很多,但是如果熟練ADT不強。

 

我試過Firemonkey的開發速度更快,畢竟Delphi RAD創造了開發的奇蹟,但是Firemonkey要購買DELPHI XE2,現在懂DELPHI都是老牌的程序員,比如我,我都放棄好久了。我真正體驗了開發效率,更加傻瓜開發IPhone,相比Mono差不多了,但是我還是推薦Mono,我更加看好開源的環境支撐起來的大舞臺。

HTML5:是WEB應用的未來,畢竟WEB的主流依然強勁,也是最大的開發羣體,這個前景更加廣闊。而且完全通喫。自身的侷限嗎,例如3D表現力,離線,SQL等,在HTML5都發展起來,而起3D的未來也不遙遠,我認爲原生爲基礎,WEB纔是高薪的所在。其實難度比原生簡單,但是市場覺得我們這個程序的命運。

相關的圖書很多,各位多學習跟上這個時代的潮流。

 

猴子時代+HTML5的新時代來臨。

 

綜上所述:

1)首先:你根據上面的描述,可以發現除了第一種web,Mono外,基本上原生的開發基本上都是開發平臺提供商開發根據各種平臺開發了針對性平臺,你可以一次使用一種語言進行和計算機溝通,多次編譯就可以了。非常方便縮小了開發週期而已。

2)第二你可以看到Android系統逐漸成爲市場的新霸主,微軟也在奮勇直追,三國形式已經形成。

然而其他的比如塞班等逐漸淡化,諾基亞看到了低端,不知道諾基亞要做什麼,要放棄嗎??

3)第三,開發移動開發不是很難了,越來越容易了。那個蹩腳的Objective C都能替換,IOS的市場會更大,但是Objective C開發人員羣多了C#,C++,DELPHI了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章