從一個開發人員的角度比較Windows Mobile與Android

來源:互聯網
上載者:User

                             

 

 

當前就移動系統來說,最火的兩個系統應該是WM和Android了,自己工作的關係兩個系統都有所接觸,在這裡想談一下我對兩個系統的認識,希望同大家一起分享。

    開發工具

     Windows Mobile的主流開發工具肯定是VS了,Android是Eclipse,兩個比較來說,從移動開發方面來說,VS無疑要好過Eclipse,從調試來說,VS+ActiveSync對於模擬器和真機的支援做的很不錯,VS的調試器比Eclipse要強好多,開發Android程式,經常會由於調試麻煩,退化到不用調試器,而是使用Logcat來定位錯誤,原因是adb(Android中類似於ActiveSync一樣的同步工具)真的還是一個beta的產品,能用但不好用。但是Android可以在Linux開發,我也相信,在大多數企業級開發中,基於成本的考慮,企業也會一般選擇ubuntu來進行開發,在Linux的世界裡,免費開源才是王道。   

    SDK資源

     MSDN+Emulator+廣闊的部落格資源(但我們Windows Mobile 部落格園小組就有很多資料),Windows Mobile的開發非常豐富,而Android也因為事剛剛推出的系統,學習的資源很少,google開放的SDK也並不全面,經常在開發Android的時候,一個小小的問題通常都會研究很久,代碼資源就更少了,而且一個事實是:很多廠商都在定製自己的Android,這樣Android可能會因為不同的裁剪修改而讓SDK統一不起來,進而讓Anroid程式不能相互相容。

     開發語言與系統結構

     JAVA與C#,不分伯仲,語言的特性來說,就不用細說了, 這裡想從一個HelloWorld來談一下在開發思路上,兩者有多少不同。對於Windows Mobile來說,

一個HelloWorld,只需要建立一個工程,拖個Lable和Button,在Button響應事件裡寫:this.lable1.Text="Hello Wolrd";

    而Android,也需要建立一個Anroid工程,完了之後,就不能拖拽了,如果要實現一個和上面一樣的效果,首先得建立一個Activity(這個東西類似於一個Form減去UI的東西,他加上View就能實現和Form一樣的UI),然後到layout裡,添加一個Layout.xml,這個事用來配置Form上Lable和Button的布局,然後,在Activiy中要寫上一句: setContentView(R.id.Layout),R這個類是自動產生的類,類似於WM中Designer.cs,然後擷取以下Layout中的Button,

 Button button = (Button) findViewById(R.id.btn);

       button.setOnClickListener(new OnClickListener()    {   

            public void onClick(View v)        {    

             TextView text=(TextView)findeViewById(R.id.text);

            text.setText("Hello World");

}

完事之後,Debug一下。比較下來,確實麻煩一點。

     另外我想說一下Anroid中的Intent,在WM中,表單之間是可以相互引用 ,這樣可以實現功能和介面上的跳轉,而Android中Activity是不建議進行相互間引用的,他們之間是通過Intent相互連信的,Intent不但可以實現應用程式內的通訊,還可以實現同一平台下應用程式之間的相互連信的,這一點來說,WM正是欠缺的。

 

 

     UI設計

     Windows Mobile 6.5發布了,從整個UI Framework上來說,並沒有做多大的改動,WM的UI從一開始就在被PC綁架,很多使用者都不認可這種Windows的UI,可能在Windows Mobile 7,微軟會覺悟過來,抄襲模仿一下iphone,到時候做到很炫應該沒什麼問題,而Android的UI風格和iphone有些相似(肯定有模仿借鑒),如果要設計漂亮酷炫的UI,Android肯定會贏過WM,一個Dialog,在Android下可以設計任意喜歡View,然後把View Set到Acitivty上(並不是說WM不能做,重寫MessageBox類,通過GDI,費點勁也能做出來,但是他和整個OS UI風格肯定是不相稱),而對於基礎控制項來說,無論ListView,特殊Button,TabView等,比較WM來說,在縮放,切換行為,滑動的動畫效果來說,WM肯定是很土的。其實使用C++,在WM也有很多炫酷的應用,比如說Pointui ,但是開發成本很大,而且WM要贏,OS的UI Framework才是比拼的重點,這樣之上的APP才能有更加豐富的應用。

 

     開放性

     這個肯定是Android大贏了,包括iphone,Symbian,MTK等,Android的開放效能使支援他的硬體更加多元,很多廠商電訊廠商也加入進來,比如說AT&T,T-Moible,ChinaMobile等,電訊廠商希望定製服務,讓廠商製造他們指定的定製系統,來擷取消費者的服務費用。不花錢的系統誰都喜歡,WM的高額授權費用和Windows Mobile的不開源(也不可能開源),讓WM比較開發系統來說生命力上還是差很多的,Android與WM的博弈,並不是MS與Google的正面交鋒,而是google扔給了全世界喜歡免費Mobile OS的廠商,讓他們來和MS幹,而Android的大贏,將會是手機廠商(比如說摩托,三星等因為手機賣了很多而且沒給別人交授權費),行動電信業者(因為用的人多了,交的網路流量費,流氓服務費也收的多了),半導體公司(高通,TI等,晶片出貨量大了),軟體公司(各個公司有各個公司的小算盤,比如說Google,肯定是搜尋廣告壟斷了Android,app軟體在以後的app Market裡收錢。。。)

 

     類庫和應用軟體

      這裡想說一下瀏覽器和資料庫,WM有Mobile IE和Sqlserver Compact,Android有WebKit和SqlLite,未來的移動作業系統將會是Web OS特性的系統,本人覺得WM最欠缺的也就是這個方面,未來的Web應用將會更加多元化,web程式和本地程式對使用者來說應該是透明的,Android中一個非常大的亮點就是Widget,在Home上Widget的數量要遠遠大於本地應用,因為Widget是輕量級的,誇平台的。 Moible IE的核心與WebKit是不同的,但是使用HTML+JS+CSS的應用程式,將使Widget無論在PC還是各種手機上,只要有瀏覽器,就又可以至少跑起來,也希望MS不要冒天下之大不惟,再搞一套自己的JS標準。在WM 6.5中,Mobile IE雖然有不錯的進步,但創新的應用還是遠遠不夠的,希望MS在WM上能少一點抄襲模仿,多一點創新性革命性的應用。另外,Android整合sqlLite,這樣很容易能夠配合著做一些複雜的資訊處理應用,包括Android中SMS,MAIL等也都是使用SQLLITE,WM的SQLSERVER比較起來還是有點大,以後希望WM直接整合進去,並且推出一套類似於Android的ContentProvider(對資料庫,XML等資訊載體進行集中管理存取的對象),能夠更加方便高效的使用這些資訊載體。

     雲端運算

     在本次的MWC上,MS推出了MyPhone,這是個很實用的雲應用,對於Android與WM來說,討論雲端運算並沒有太多意義,這裡只是想說google與MS的競爭,對於Google來說,己出的Android未來肯定會獲得google的移動精確搜尋,google地圖等雲端運算的支援 ,對於MS來說這些都是短板,希望MS趕緊把yahoo搜尋搞定,將來手機服務才是王道,也許Android與WM都會退化成一個帶著瀏覽器的OS,那個時候,才是MS與google死掐最激烈的時候。

 

轉自:http://www.cnblogs.com/abob/archive/2009/02/27/1399693.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.