1. 程式人生 > >IOS和Android開發的一些個人感受

IOS和Android開發的一些個人感受

傲嬌的蘋果,賣萌的安卓。

從個人心理來說,Android的小機器人萌的入人心,

咬了一口的蘋果更注重了設計感,簡約精緻。

如果有出兩繫系統的周邊,我覺得還是android買點比較多點~

機器人比較好坳造型,蘋果 = =。

最近公司的產品 Android版本第二版也算到了收尾,新加了幾個功能性模組,我基本也就撿了幾個好玩的模組做了下。

然後IOS版本也是到了收尾,算算話,從6月策劃到現在9月底,其實以時間週期來說,進度算是一般般,或者是慢的了。

但是產品本身是一個延續性的東西,並且IOS平臺的版本是直接和Android平臺的版本同步,對於2期一些新功能,客戶端和服務端的新介面新增,

因此一些測試原因也拖長了時間。

另一點是公司沒有一個視覺設計或是專門UI方面的同事,對於應用的模型和介面設計基本都是,看看他人的產品覺得,喲,Aapp這部分介面設計不錯,

Bapp這個互動設計實現的人性化,Capp的這個功能,可以考慮加進去嘛?

這也就會導致,本以為快到收尾的版本,又因為馬上要修改點UI,互動邏輯,新添個小功能。(我會告訴你,我們的Android版本3,4月上線,

距離現在半年了吧~這第二版這持續的時間,有點蛋疼了)。

因此有時覺得,一個好的視覺設計和互動設計師,不僅是讓你的產品體驗性提升,同樣也能縮短點開發工期。

一:學ios開發和學android開發的心態

Android:給人覺得入門簡單,轉過來也容易,目前行業來說,無論薪資和就業都還算不錯,並且移動網際網路還在告訴發展。

而網際網路又是一個多激情多奇蹟,也多泡沫的社會。再簡單點心理來說,先混口飯吃,因為我揣著理想跑到菜市場,看到了排骨要20-23塊錢一斤。

IOS:其實大部分也是轉型過來,一方面覺得物依稀為貴的想法(雖然現在ios開發人員增長也迅速,但是從幾個月前公司找人翻簡歷來看,

30:1的比例~~非官方客觀比例,簡歷申請也會考慮主觀因素嘛),但是,反正ios開發競爭相對會柔和點,並且那會來說,薪資也會比同等的android人員好點;

另一點是覺得做ios開發比較酷,有木有?
因為一般人總覺得,ios開發比android開發感覺起來逼點(這個逼點自己體會吧,有人覺得開發ios用 的imac好炫,覺得蘋果產品就是好的一種心裡,
但是真讓你說哪裡好時,也就人與亦云,設計好,藝術感什麼的,當然,這也卻是。android因為各種山寨導致成了媒體說的屌絲產品,
當然,我寧願覺得這是一種自嘲文化。)

個人:1-2年左右的Android,然後又去學了IOS,因為公司環境和狀況的原因。有人說,你幹嘛轉ios啊,又是個背叛者有木有~

可能一方面是想接觸下多平臺開發,一方面是突然疲軟期。開發的疲軟期是突然覺得自己成長的好慢了,然後有點缺少激情。

確實,Android應用層開發很多時候確實會進入這個怪圈,又我們公司產品比較單一,基本開發完後就是各種適配,合作商戶版本修改,以及運維。

而剛好公司準備說開發自己的ios平臺,也沒人,我特麼一激動就上了(好吧,我不是一激動上的,我是有預謀)。畢竟學學多平臺開發也不是什麼壞事,

可以瞭解下兩個平臺操作習慣的差異性共性,以及借鑑。並且對於開發一個完整的新專案,我覺得做起來應該比維護來的跟有勁吧。

二:IOS和Android的開發期間的問題

1.使用者習慣性

雖然都是手機,但是,最後發現操作習慣,潛移默化的UI習慣,兩者也是很大的。

比較悲劇的是,一般常理來說,應用的移植方向都是ios移植成android,我們公司剛好倒過來了~

介面框架最簡單的可能就是說,back互動的改動,但是後來發現,一些手勢編輯,無文字按鈕的使用者辨識邏輯性。

如果純粹是把android的移植過去,因為本身Android因為螢幕關係,提供空間域比較寬廣,可以將操作互動按鈕基本都顯示

的佈局在螢幕上,但是,ios啊,我次奧,我手指太粗了麼,按鈕一密集,絕對是對視覺效果,操作效果都是個硬傷。

因此會引入很多ios系統預設傳承的一些操作習慣,比如手勢按鈕的刪除,各種menu,info按鈕的無文字化,編輯(增刪改)的操作的預設邏輯流程等。

2.適配

這個其實也沒啥說的,但是個人認為只是螢幕適配問題倒是不大,畢竟android也就那麼幾種螢幕大小吧,問題一些機型和硬體的適配,

碰上幾款山寨到沒節操的機子,算是個悲劇。

Ios螢幕圖片資源適配相對來說簡單多了。

然後是考慮sdk版本的相容,apple本身也提供了一些類做為版本相容性的判斷等,並且大部分應用時候,開發過程中是Latest版本sdk來開發,

但是基本都保持向下相容,因為對於大部分應用新特性運用的不多。

3.程式語言風格

這塊覺得兩者還好,一般應用級別的app,基本都是用了一層語言,然後oc用慣了其實跟java感覺差不多。

ios會運用到一些c語言風格的初級程式碼,如巨集等。

說語言的入門難度,我覺得可能是java以前一直用著,然後時間久了覺得沒什麼太多難度,

ios因為是OC,略有改動的語言書寫規範,但是這個也不是問題,最後唯一扯到一起的共同點就是API的熟識度了。

也就是SDK學習,個人覺得Android稍微簡單點,簡單原因1:資料比較多,翻譯的也比較成熟,開放原始碼,對api程式碼結構性也可以

有一個感性認識。相對ios,資料也還算可以,但是比較單一,基本買的sdk書或是教程,就那麼個學習流程。想深入學習,基本只能自己去

看官方英文api。

三:簡單說

我學ios的時候,一直有朋友說,搞了1年多android,你不幹了啊?倘若我在說一句,總做應用層應用有點厭倦,估計就有人會鄙視的說:

你可以學系框架層,底層啊,ndk開發啊。

首先,我只是說學習ios,而非轉ios~對於Android其實來說,水還是真的挺深的,但是你要考慮的你的工作環境以及情況。

很多時候深入學習和接觸一個新的或是深的事物的成功,都需要外界環境來孕育,比如,我有個朋友,因為工作關係別調到去做系統定製了,

原本就說要學習框架啊什麼的,這倒剛好給他提供了一個孕育環境,雖然剛過去時叫他改某個系統模組時搞了1個禮拜,然後一點都不會啊,

現在,編譯原始碼,定製個launch,新增個模組,也算不是什麼大礙了。

而我一直接觸應用層,特麼去下個ndk接觸玩玩,也只能說,“嗷,熟悉了下環境搭建,然後跑通個helloword了".

ios的我我覺得更多的是一個經驗論的過程,說實話,apple的系統太封閉性了,僅僅提供給你了文件和介面,就讓你呼叫,

這就好比給你量汽車,一個使用說明,你瞭解不到裡面。這也是有利有弊的,不可否認的是統一性和簡潔性。

弊端是當我android程式設計過程中跳sdk原始碼跳習慣了,ios看到某個類突然想看內部實現時,發現,沒地兒可跳~

因此最近也漸漸發現,如果是純粹編碼,程式碼閱讀等,Android的樂趣性更高。

而對於最終的產品性,那就仁者見仁智者見智了。

但是就產品本身而言,都是需要實踐論和經驗論的。

當然說了上面,我的意思是,或許ios更需要時間積累,android會注重深入研究。

以上自是個人一點小感受。

做Android的時候,閱讀原始碼等一些深入理解會不禁頓生樂趣:噢,原來這樣。

最ios時,樂趣可能更多體現在應用跑起來時視覺和操作:喔,不錯哦,勞資的應用確實挺酷的(當然,前提你有個不錯的視覺或是美工)。