Android 台灣中文網
標題:
Android VS iOS開發詳細對比Apple勝出
[打印本頁]
作者:
aas54432
時間:
2013-11-19 19:36
標題:
Android VS iOS開發詳細對比Apple勝出
本帖最後由 aas54432 於 2013-11-19 21:20 編輯
登錄/註冊後可看大圖
【新聞內容】
登錄/註冊後可看大圖
18.jpg
(23.95 KB, 下載次數: 3)
下載附件
保存到相冊
2013-11-19 19:35 上傳
隨著Android手機市場份額超過80%,業界內關於“Android和iOS哪個系統更好”的爭論也變得越來越熱。不過拋開軟件經理與投資者,真正影響這場紛爭的其實是開發者!只有讓這些開發者更舒心,平台才會發展的更迅猛。
我就是一名任職於HappyFunCorp的軟件工程師,最近剛剛為iOS和Android平台編寫了一些程序,因此讓我來說說在我進行編程的過程中,使用這兩個平台的感受。
首先介紹一下背景:在此之前我曾經編寫過許多Android和iOS的應用,有個人應用也有專業應用。在編寫這些應用時,我不得不提到一款擴平台的開發工具Xamarin。如果你對於C#很熟悉,而不太了解Java和Objective-C語言,那麼這款跨平台的開發工具將會是你開發應用的首選工具。
開發環境
你當然可以像往常一樣,通過文本文件寫代碼,不過如果你使用整合開發環境,那麼編程無疑會變得更高效。
蘋果的開發環境是Xcode,在Xcode上工作是一件十分愉悅的事情。它反應迅速,功能強大,同時又十分順手。它的調試器可以做到無縫工作,同時反應十分快速。
而Android平台呢?目前的開發環境是Eclipse,由Android外掛程序調試,表現相當糟糕。遲緩,拖沓,同時操作又違背常理,複雜的一團糟,與Xcode相差甚遠。而更不要提Android模擬器了,每次啟動都要好幾分鐘,而其中一半時間都無法連接到Android Debug Bridge。
從目前來看,谷歌也已經意識到了問題,他們正在開發一套全新的Android Studio IDE:
Android Studio目前已經提供了預覽版的下載,其中一些功能還沒有完成,開發者在使用的過程中會遭遇到許多bug。如果你對於使用這樣一款半成品覺得十分不爽,那麼或許你可以通過下載ADT Bundle來替代它。
雖然谷歌開始重視開發環境這一點還是值得令開發者欣喜的,不過反應速度還是慢的讓人吃驚,要知道,距離我購買第一款Android手機已經過去了四年半,而四年半的時間,開發環境仍然一團糟。
獲勝者:iOS 勝出一條街
配置
與蘋果的Xcode相比,Android擁有一個清單文件,通過Eclipse可以將你的應用在這個文件中進行存儲或編輯。當應用運行出現錯誤的時候,我還是更希望可以得到更清晰的錯誤信息。而Android應用的配置明顯更簡單卻更優雅。
獲勝者:Android
交互設計
你可能已經猜到,蘋果肯定會獲得這一輪比拼的勝利。蘋果的界面生成器可以快速生成美觀的用戶界面。不過它也存在著一個問題,隨著我試用界面生成器的時間越長,我就越不喜歡它。雖然它對於簡化有著很深刻的理解,可是隨著時間流逝、應用進化,這些簡化看起來卻更複雜更混亂,而我同樣不喜歡蘋果在一年前為Storyboard添加的多屏幕功能。
Android理論上來說擁有一套相同的視效開發工具,在實際使用中只要你編寫XML文件,那麼在編寫結束之後,它會自動適應不同屏幕尺寸並完成佈局。
在這一環節中,競爭程度要比你想像的更激烈,儘管我認為兩個系統都有著自己的優勢,不過我還是認為iOS勝出。首先,它更加簡潔:只有三種屏幕尺寸需要適配,而Android則明顯要復雜許多。第二,默認的iOS視覺元素要比Android的好看太多了。
獲勝者:iOS
語言
Android應用的語言是Java,而iOS的應用語言則為Objective-C。在編程的最開始,我選擇使用Java,而沒有選擇Objective-C,因為當時對於Java更熟悉。但是我很快就發現自己越來越喜歡Objective-C。它比Java更易用也更簡潔。它有category,可是Java沒有;它有block,可是Java沒有。
獲勝者:iOS
API
Android和iOS都為開發者提供了海量的軟件資料庫,而籠統的說,這些資料庫也十分相似:這些API中有一些提供了手機的使用功能,有些提供了網絡連接功能,這些部分大多歸於控制器來完成。對於iOS ViewController來說,它的作用等同於Android Activity。
但iOS卻具有Android所沒有的一些框架和功能。Android並沒有iOS強勁的Core Data框架。這個框架使用十分方便,而且設計也相當簡潔。
獲勝者:iOS
網絡
網絡連接通常是在後台運行的,因此它們不會對應用本身造成太多影響。Android提供了AsyncTask,用於檢測用戶當前是否在線。而iOS也提供了相應的功能,不過它們因為級別還很低,因此表現還不是很讓人滿意。
不過你可以通過許多開源的資料庫讓這部分變得更加簡單。我通過使用AFNetworking,可以讓連接變得十分簡單。但這個工具卻不支持Android,因為Java不能完成block操作。
獲勝者:Android的第一方獲勝,但iOS的第三方資料庫也相當出色
最終獲勝者是
雖然Android在一些地方有其獨特的優勢,不過總體來說,在為iOS編寫出色的應用還是要比Android簡單許多。而考慮到iOS用戶往往擁有著更健康的付費使用習慣,開發者也很自然的會選擇優先為iOS開發應用。新的Android Studio IDE可能會提升一些Android的開發體驗,不過還遠遠不夠。
【文章來源】
:
http://techcrunch.com/2013/11/16/the-state-of-the-art/
【特此聲明】
文章大部份都來自左岸,文章內有“國內、我國” 皆為疏忽,請至下方留言會有獎賞。
【評分美德】
評分是美德,轉貼新聞雖然不累,但您評分應該也不累
評分是系統給的,即使只有1幫助,轉貼者會很欣慰的
歡迎光臨 Android 台灣中文網 (https://apk.tw/)
Powered by Discuz! X3.1