iphone開發學習筆記三

來源:互聯網
上載者:User

經過一段時間的學習,看文檔,算是對Mac OS,Objective C有了一些基本的瞭解,直正要學會iphone 開發還是要通過實戰。在選擇開發工具,對於選擇XCode+Objective C 還是用 MonoTouch 幾經反覆,經過激烈的心理鬥爭,最終選擇兩種都支援  . 我的目標是將地圖開發包移植到 iPhone (iOS)和 Mac OS上,原始代碼是Java 和 C# ,似乎選擇 MonoTouch 是個正確的選擇,而且事實上.Net 平台上C#代碼基本上可以不用修改在MonoTouch 編譯通過,移植工作量很小,似乎沒什麼挑戰性。另外經過幾周的Objective C和 Cocoa Touch學習,對於開發人員來說XCode+Objecitve C實在不是什麼好用的開發環境,Objective C本質上還是C,重新回到用C寫代碼真是不習慣,滿腦的指標又回來。。。
但用MonoTouch 基本上沒什麼工作量,也就不能較深入的瞭解iOS,另外用MonoTouch也有兩個比較大的缺點:一是編譯後可執行程式較大,iphone不帶.Net 運行環境,MonoTouch 編譯後的程式需要包含MonoTouch運行環境,我查到網上一個資料,一個簡單的”Hello world”,用Objective C寫,最後大約50k,而用MonoTouch大約是5M. 另一個缺點可能是致命的,不是技術上的而是來自Apple限制,Apple在新的開發人員協議中明確指出在iphone寫程式只能是C,C++,Objective C或是JavaScripts,有點變態的規定,儘管Apple很難強制執行這個政策,但對用MonoTouch開發iphone 4還是一個很大的風險。最終我還是決定兩個都支援。其實主要是支援Objective C 介面。MonoTouch 介面支援工作量很小。
下面就說說移植的工作量,在後面的文章中陸續介紹在移植中碰到的問題及解決方案,C#和Objective C是兩種異常迥異的語言,.Net Framework 和 Cocoa Touch Framework 也大不相同。移植工作是一個非常有挑戰性的工作:)。
是引路蜂地圖開發包的包之間關係圖。其中綠色為對外開放的API.
所用的平台API涉及到 String, Collections ( Array, Hashtable etc) (Util), Network (Http etc) ,Ajax (Json), 檔案操作 (RMS),加密解密 (Crypto),二維圖形 (Drawing) ,最後是地理資訊系統(GIS)。
這些平台API在 .Net Framework 和 Cocoa Touch 實現不同,C#和 Objective C文法不同,都給移植增加了工作量。在之後的文章會慢慢介紹。

 

 





摘自 引路蜂移動軟體

聯繫我們

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