手機開發平臺

歡迎轉載,轉載請註明出處。作者:手機即信息 博客:http://canco.javaeye.com

    近來無事,把手機開發平臺的學習指南、教程和資料總結一下,方便大家參考。
    手機客戶端軟件開發最大的困難就是平臺不統一,手機開發平臺太多。
    手機可分爲智能手機開發和feather phone手機。開發平臺可分爲開放式平臺和封閉式平臺,開放式平臺包括symbian、windows mobile、linux、iPhone、Android、BlackBerry、j2me、brew等,支持手機應用程序通過OTA下載和安裝;封閉式平臺包括MTK、展訊、TI、飛利浦等。下面分別介紹。
1. Symbian:
Symbian平臺爲目前智能手機市場的老大,智能手機全球市場佔70%以上,在歐洲和亞洲佔絕對優勢,只是在美國市場份額少得可憐,希望今年nokia在美國發力,趕上其它智能手機。根據UI風格的不同,Symbian分爲s60和UIQ兩個平臺,其中nokia使用s60平臺,索愛和moto採用UIQ平臺。Symbian平臺由於發展時間較長,又是市場老大,目前中文資料也較多,不像幾年前剛接觸時只有英文資料。以下書籍值得推薦:
《SYMBIAN OS軟件開發開發--應用C++開發智能手機應用程序入門》(其中UI部分爲UIQ平臺),
《Series 60 應用程序開發》(以s60平臺爲主,重點推薦)
《Symbian OS C++手機應用開發 (第2卷)》
另外今年將出來一本有關uiq3.0的新書,值得期待。
關於symbian的開發網站和論壇:
諾基亞論壇:最好的symbian論壇,
http://discussion.forum.nokia.com/forum/forumdisplay.php?f=6,其中還有中文論壇。
UIQ官方論壇:http://developer.uiq.com/
Symbian公司中文論壇:http://developer.symbian.com/forum/forum.jspa?forumID=37
NewLC網站:http://www.newlc.com/
索愛uiq官方論壇:http://developer.sonyericsson.com/category.jspa?categoryID=3
索愛uiq中文論壇http://developer.sonyericsson.com/forum.jspa?forumID=133

2.windows mobile:
智能手機全球市場中windows mobile佔12%左右市場份額。開發與windows平臺類似,所以熟悉windows開發的能很快上手。目前沒有較好的針對windows mobile的書,經典書籍《Windows 程序設計(第5版)》對於開發win32程序依然是最好的,經典的書就是牛啊!雖然pocket pc支持MFC,但smartphone不支持,所以爲了更好的移植,用win32開發較好。由本書做基礎,再參考windows mobile的sdk以及示例代碼,應該能很快上手。
關於windows mobile的開發網站和論壇:
Windows mobile中文社區:http://www.winbile.net/BBS/
Pocket pc forum:http://www.windowsmobiledn.com/forum/
微軟官方網站:http://www.microsoft.com/windowsmobile/developers/default.mspx

3. linux:
智能手機全球市場中linux手機僅佔可憐的4.4%市場份額。原來moto還出過不少linux手機,如A768、A1200、E680、E2、E6、V8等,07年8月份還信誓旦旦預測60%手機採用Linux OS,但moto後來回購了UIQ的股份,又與微軟合作,還加入了google的開放手機聯盟,看來要拋棄自己的linux平臺了。另外,moto的策略是linux+j2me的模式,雖然採用linux os,但並不對外開放linux的sdk,只有和moto合作的廠家才能獲得native linux sdk,所以導致目前linux手機開發的資料和論壇較少。雖然有民間linux高手破解了moto的linux的sdk,可以開發native linux的程序,但native linux的程序不能直接安裝在moto的linux手機上,還必須安裝一個插件,這對普通用戶又是難以跨越的一個門檻。所以個人覺得native linux手機的開發將走向末路。大部分linux手機的ui開發都是基於QT,關於QT開發,可參考《C++ GUI Qt3編程》、《精通Qt4編程》,如果有moto官方的sdk,參考API文檔以及一些示例代碼,將可以較快上手,如果沒有官方的sdk,那就要話很長時間hack了。目前沒有很好的關於linux手機開發的論壇,個人推薦陳罡的博客http://www.cublog.cn/u/26691/,內有moto a1200開發隨筆,對於熟悉和了解手機native linux開發有很大幫助。

4. MTK:
MTK最近幾年異軍突起,近70%的國產手機採用MTK的芯片和平臺,黑手機更幾乎是MTK的代名詞。國內廠家只有夏新沒有采用MTK的方案。MTK的模式名爲“Turn-key”的全面解決方案,廠商採用了這個方案,只需要加一個手機外殼即可成品——這能大大降低了出貨時間,一般廠家只修改界面、鈴聲以及增加一些應用軟件。有關MTK平臺的介紹,見環球企業家雜誌的文章“國產手機操縱者聯發科的祕密”http://www.cnbeta.com/articles/45580.htm
MTK是私有平臺,目前沒有書籍介紹MTK平臺,所以只能從網上查找MTK的資料。以下資料大家可以從網上獲得,對於瞭解MTK很有幫助:《mtk 訓練課程.pdf》、《MMI Platform Source Code Training.pdf》主要是MMI界面開發介紹、《MMI Resource & Customization Tool.pdf》MMI資源工具介紹。
最近,MTK平臺MMI設計牛人FUGUI自己編寫了一本有關mtk平臺MMI開發的實例教程,書名爲《MMI實例培訓教程》(本書大家通過Google下載到),此書深入淺出,全面的介紹了MTK平臺MMI開發的各個方面,通過本書,開發人員將能很快進入MTK平臺開發領域,實爲MTK平臺MMI開發的聖經!MTK平臺的操作系統爲nucleus,有關nucleus的介紹網上有一篇文章《Nucleus實時操作系統分析報告》。MTK平臺主要用C語言開發,所以要熟悉MTK開發,首先必須熟悉掌握C語言,MTK的sdk與vc6集成,MMI的各控件和窗口之間通過回調函數實現通訊。
關於MTK的開發網站和論壇:
我愛研發網:http://www.52rd.com/ 上面幾篇文章和書籍都能從本網站找到。
手機研發論壇:http://www.1mp.cc/bbs/index.asp


5. 展訊:
展訊平臺07年也發展很快,利用MTK下半年PA放大器缺貨的機會,趁勢而入,搶走mtk很多市場份額。展訊的開發模式和MTK的很類似,基本也是給廠家提供整體解決方案,與MTK的差別見此鏈接http://www.chinabyte.com/telecom/267/2507267.shtml。國內主要是夏新、聯想、文泰等採用展訊平臺。展訊平臺採用的嵌入式操作系統是threadx,關於threadx的有一本中文書《嵌入式實時操作系統的多線程計算:基於ThreadX和ARM》。同MTK平臺一樣,爲封閉平臺,開發語言爲C,開發環境爲vc6, MMI的各控件和窗口之間與windows類似通過消息進制實現通訊。另外也沒有書籍介紹展訊平臺,以下資料值得推薦:
《Spreadtrum_SAP.ppt》
《MMK_Kernel軟件API接口說明書.doc》
《MMK_Window_Table開發說明書.doc》
《展訊平臺MMI窗口開發說明書.pdf》
《展訊手機平臺軟件簡介.pdf》
關於展訊的開發網站和論壇:
我愛研發網:http://www.52rd.com/ 上面幾篇文章都能從本網站找到。
手機研發論壇:http://www.1mp.cc/bbs/index.asp

6. J2ME:
J2ME平臺爲手機上運用最廣泛的開放式平臺,絕大部分手機均已經支持J2ME了。關於J2ME的書籍數不勝數,個人推薦以下書籍:
《j2me技術手冊》
《J2ME開發大全》
《J2ME移動應用程序開發》
關於J2ME的開發網站和論壇:
J2ME開發網:http://www.j2medev.com/Index.html
中國Java手機網:http://www.cnjm.net/
以及各手機廠商的官方java論壇

7. Brew
Brew 的全稱是無線二進制運行時環境。Brew平臺是高通公司開發的,從無線應用程序開發、設備配置、應用程序分發以及計費和支付的完整端到端解決方案中的無線應用程序開發部分。目前絕大部分CDMA手機都支持Brew平臺。學習Brew平臺,首先需要熟悉c語言。學習步驟和方法可參考” BREW高手之路-解析BREW學習過程”。
學習書籍:
《深入BREW手機遊戲開發》
《BREW 技術開發與應用》
這些書雖然不夠深入,但對於入門還是可以參考的。
關於Brew的開發網站和論壇:
Brew官方論壇:http://brewforums.qualcomm.com/index.php

8. iPhone
Windows平臺iPhone開發環境搭建方法見筆者的文章《Windows平臺上iPhone基於cygwin開發環境的搭建方法》
http://canco.javaeye.com/admin/blogs/199106


開發入門介紹見筆者的文章《iPhone手機開發平臺入門介紹和教程》
http://canco.javaeye.com/admin/blogs/199144


9. Blackberry,Android
黑莓公司BlackBerry手機和Google的Android手機均只支持java開發。BlackBerry的開發網站和論壇:
BlackBerry開發者指南:http://www.cnblogs.com/confach/category/36451.htmlBlackBerry官方網站:http://na.blackberry.com/eng/developers/community.jsphttp://bbs.maxpda.com/forum-184-1.html
Android的開發網站和論壇:
http://www.androiddev.net.cn/bbs/
http://www.androidin.com/http://www.androidcn.net/
http://bbs.maxpda.com/forum-190-1.html


10. 其它Feather phone平臺
其它feather phone平臺,如TI、飛利浦、英飛凌(Infineon)、飛思卡爾(Freescale)、Broadcom、Skyworks等平臺,由於平臺私有,並且不提供第三方sdk,所以也沒有相關資料和文檔,希望有了解的朋友介紹一下。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章