Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> ios和android一並學習的體會

ios和android一並學習的體會

編輯:關於Android編程

如果說為什麼要同時學習這兩種不同的移動平台,其實有一定的“閒”的因素在裡面。

相對於ios,android我是早半年接觸的。最開始學習的時候也就是j2ee學習的延續,通過看視頻連帶看書學了大概一個月的時間,對android有了一個基本的了解。本來是想做個小項目練練手的,由於各種原因沒有實現,就把android擱在邊上了。

後來自己買了一個MacBook,於是就看起了ios。最開始學習Objective-C的基本語法以及ios初級編程的時候,因為之前的基礎還可以,我用了大概4天的時間,說起來也不算是多了,然後又是各種原因放下了。

這兩段學習經歷使我對移動開發的架構有了更加深入地認識。於是上個月開始,我又重新開始學習這倆。

當我再次搭起android的開發環境的時候,我竟然不知所措,我幾乎忘記了android是什麼東西,於是用了幾天的時候從新從頭開始找了基本android入門的書看起來。然而手頭上的書確實很out的,無法趕上時代。對於像我這樣“盲目”追求最新的程序員來講這是無法忍受的。於是我找到了最根本的文檔,android的官方文檔。由於英語能力有限之前沒有好好地看過這些東西,為了閱讀和學習英語,我就做起了翻譯官方文檔的工作。用了一周了時間看並使用各種工具翻譯了幾篇base的文章,結果重新建立了android在我心中的體系結構。(說真的其實android的文檔太難翻譯,主要是沒有想java的那樣都是一些比較容易理解的段句子,android的文檔編輯者仿佛是為了炫耀自己的文字能力使用各種長句子,讓像我這樣的非母語者很傷神,有時還要推測一些作者的意思。但是後來發現ios沒有這麼系統由結構性的文檔,我就感謝google的厚道了)。之後,我用一些我新學到的技術做了幾個小的demo。感覺學著無趣,就又開始學習ios了。

我本想用同樣的方法去學習ios,畢竟ios7一來變化的比android大的多得多。而且Xcode5之後原來熟悉的東西都不見了,原來學ios內存管理是一個重點,Xcode5之前還可以手動選擇是否自己來干了內存,現在是必須交給Xcode,你一用release什麼的就報錯。還好之前學習內存管理還是學的不錯不然現在都無法做相關的測試了。(但是從發展的角度講這些改變對於一個語言或者是ios這個系統來講都是不錯的,這樣的強制改變避免了像java這樣的碎片化)

我們不妨比較一下這倆的開發區別:

1.開發工具(IDE)的區別

android作為一個開源的系統,它的首選的是最為著名的開源IDE——eclipse。作為幾乎是萬能的ide,eclipse也為開發android提供了類似開發web的插件。這使原來的開發者能夠快速地切換到android的開發。最早進行android開發的程序員都有過沒android搭建開環境的痛苦經歷,周來android官網上提供了打包定制的android版的eclipse下載,再次降低了android的入手難度。另說一句,google還真為android開發了一個新的ide,我下下來用了一下,結果果斷拋棄,正是比javabean還不如的官方ide。

而ios果斷自負的使用了自己的Xcode,而且開發ios還非得Xcode,至少我還沒有發現其他的。如果eclipse是一個現代的ide,Xcode在某些方面更像是後現代的ide。而且隨著ios以及Xcode的發展,有時候會覺得自己寫的代碼帶了一些偽代碼的影子,比如裡面的一些帶“@”的關鍵字的語法,就像是偽代碼。Xcode值得一提的是不讓我們去注意View後面的XMl,而是直接給一個誰都看得明白的頁面,而eclipse則還很專業地提供源碼,以至於學習android不少人都是手動編輯xml開始的。還有就是Xcode引入了“連線”,將代碼與圖形通過連線的方式關聯起來,相當MVC的感覺。完全將開發者從神降為了凡人,可謂是讓人人都能編程的後現代之作。

我總覺得eclipse的靈魂是“Alt+/”給人的快感,在這方面強大的提示功能是Xcode所沒有的,而eclipse的跨平台性也是值得稱道的。

2.java和Objective-C的區別

從歷史來講Objective-C更為悠久。java捨棄了指針的概念,以及卓越的垃圾處理、內存管理機制為人稱道且簡單易學使它能夠花了不到十年時間就能成為最受歡迎的語言。然而太多人的關注與奉獻使網絡上出現了各種各樣的開源框架,而令人難以選擇。再這java版本的更新卻不真正拋棄一些落後的包或工具類,使初學者學習的時候難以區分。而且java的維護者始終缺乏大版本更新的勇氣,使開發者面對而有難以想說明的痛楚,於是關注度漸漸降低。

而Objective-C,它的誕生時間幾乎和C++差不多。但是,幾年前基本沒幾個人聽過。直到iphone的興起,它的關注度迅速升到前三超過c++,僅次與java,C。但是Objective-C太過於奇葩,帶有一些古老語言的特性,[],@的使用是作為特別的或許也是為了表現出它的與眾不同。如果沒有Xcode的輔助性,Objective-C的開發效率不比VC高多少。但從語言來講如今可能是不合事宜了,但Xcode的卓越使我們不能僅僅從語言的本身來看待,而相反有了一些獨特之處。畢竟OC運行起來比java快得多,而在移動開發領域,這點是很重要的。

3.開發文檔、資料的比較

看過ios的文檔之後,才能體會到android開發文檔的良心之作。相對於android開發文檔的深入淺出,面對ios我不知道從那入手。android文檔的一部分,顯然是一個很好的教程。比一些市面上能買的書還要講的好。而反觀ios,就是開發文檔,你有什麼問題,不清楚什麼方法的使用就找吧。

而網絡上的資料顯然也沒有android的豐富多彩。


綜合來講,我個人還是比較喜歡ios的。基於對美的熱愛,我無法相信一個ide也能做的這樣的漂亮。例外iphone給人的高富帥的感覺,令人想到ios的開發者也是一個高富帥,基於這樣的向往,給我內心扎下了很好的印象。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved