[70] 智能手機開發語言和趨勢

來源:互聯網
上載者:User
目前在智能手機開發領域,按照作業系統來說,有三大平台:Symbian、Windows Mobile(以下簡稱Windows)、Linux。Palm已經完全出局了,不需要再考慮。另外還有兩大陣營:J2ME陣營(跨多種作業系統,包括Windows)和.NET CF陣營(只能運行在Windows上,以下簡稱.NET)。

這些平台上的開發語言套件括:
Symbian:C++、Java、Python
Windows:C#、C++、VB、Java
Linux:C++、Java...

J2ME陣營:Java
.NET陣營:C#

        以上順序也是按照它們在不同平台上被使用人數多少的順序。可以看出,對於只針對某個作業系統平台開發的產品,Java並未佔據優勢。

        J2ME相比.NET來說,優勢主要在遊戲開發方面,但是.NET有著更加廣泛的用途。在MIDP 2.0中,核心部分所加入的主要是對於3D圖形、多媒體、Game API的支援,用來支援遊戲的開發。因為在制定MIDP 2.0規範時時間有限,所以將其他很多重要的功能都放入了可選包中,而不是作為MIDP 2.0的核心內容。因此儘管很多手機都聲稱支援MIDP 2.0,但是可能沒有安裝某個可選包,使得使用了這個可選包的軟體在這款手機上無法運行。例如,假如沒有安裝PDA可選包,就無法訪問手機的本地檔案系統、無法讀取通訊錄、無法讀取信箱中儲存的簡訊。而這些功能是開發個人資訊備份/恢複軟體所必需的。不過這種情況會隨著時間的推移而逐漸好轉,新推出的智能手機中都包括了越來越多的可選包,Nokia、Motorola、索愛等大廠商對於J2ME的支援力度是非常大的。除了可選包未安裝這個限制之外,J2ME應用運行在嚴格的沙箱之中,要開發使用除系統記憶體、顯示、聲音控制之外的其他資源(例如,本地檔案系統、通訊錄、信箱),所開發的應用必需經過簽名,這個開發過程相當的繁瑣。

        正是因為目前大多數Symbian手機上J2ME版本太老,功能非常有限,所以除非開發遊戲類應用,大多數Symbian開發人員都選擇使用C++做開發,因為C++可以訪問系統所有的資源。然而,Symbian C++儘管有很多優點,但是對於開發人員卻是很不友好的,學習門檻相當高(一大堆的清規戒律,好像是魯提轄上了五台山),從物件導向設計的角度來看問題也很多(與MFC類似,也許有人認為物件導向在手機開發中並不是很重要)。沒有半年時間想成為Symbian C++的高手相當困難,這個巨大的sink lost需要經過謹慎的權衡。
        在Symbian上使用Python做開發的人還很少,優缺點目前還不大清楚。
        順便說一下,Nokia今年上半年推出了開發工具Carbide,針對Symbian C++和J2ME分成兩個版本,這兩個版本都是基於Eclipse的。

        在Windows上也可以做J2ME開發,如果手機安裝了MIDP 2.0的支援就可以直接使用,如果沒有安裝,需要開發人員另外安裝。Windows上比較好用的是IBM的J9 VM,但是J9 VM僅包括MIDP 2.0的核心部分,而不包括大量的可選包。如果你只是開發遊戲,那應該是夠用了。
        不過Windows開發人員首選的還是C#,C#開發效率大大高於C++,效能也很不錯。相比Java來說,可以更加容易地訪問所需要的資源,因此開發效率也更高。Windows上前幾年使用的Embed VC++、Embed VB兩個工具已經退居二線。

        Linux上可以使用C++和Java做開發,筆者對於在Linux上如何做開發沒有任何經驗,在此略過。

        綜上所述,目前在手機開發中佔據統治地位的是三大語言:C++、Java與C#。
        J2ME與.NET兩大平台相比,J2ME在遊戲開發方面有優勢,而.NET在遊戲以外其他領域的開發(例如:移動公司專屬應用程式)更有優勢。但是由於J2ME得到了手機一線大廠的力捧,因此前途不可限量。目前銷售Windows智能手機的廠商主要還是一些新興的排名稍靠後的廠商(聯想、多普達、夏新...)。
        移動智能應用比較發達的國家是日本和美國。在日本是以遊戲類應用為主,在美國是以移動公司專屬應用程式為主。中國將來走的道路,大概會與日本相同。因此在3G上馬後,J2ME應用在國內的爆發是可以預期的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.