在寫這篇文章之前,我想介紹一下我自己,以及寫這篇文章的初衷。
我於今年6月份本科畢業,在過去的一年裡在蘇州某軟件公司作為Android開發實習了一年。從今年2月份開始,我一直在上海某互聯網航運公司出差,從事全國航運方面APP的開發。由於上個月要回學校畢業,所以就請假回學校邊做公司的項目邊准備畢業的事情。
在完成項目的Android版本開發後,我覺得正好可以利用這一整塊時間自學一下iOS開發,然後再做一個完全相同的iOS版本出來,效果圖如下:
眾所周知,iOS的開發語言有Swift和OC兩種。Swift是蘋果2014年推出的iOS編程語言,Swift 結合了 C 和 Objective-C 的優點並且不受C兼容性的限制。
如果是出於興趣學習iOS開發,我建議選擇Swift語言開發iOS應用。如果你是一位Android開發者,想快速了解iOS開發,那麼我更建議選擇Swift開發了,因為當你有了Java語言基礎以後,你會發現Swift和Java真是太像了。
關於Java和Swift語言的對比,請泛讀這篇文章:《從Java到Swift》
客觀上來講,我在蘇州的iOS同事們使用的開發語言都是OC,我以前浏覽過他們編寫的OC代碼,當時我對OC的第一印象就是:奇怪、別扭。然後我就去網上浏覽了OC的語法,了解了大概也就放棄了。我這裡推薦使用Swift開發,是因為作為Swift語言相比OC更加易學,如果你想在極短的時間裡學會基礎的iOS編程,那麼選擇Swift語言開發是再好不過了。當你有了Swift基礎以後,再去學OC也是一件比較輕松的事情。
因此,你需要盡快學習一下Swift基礎,這裡推薦大家觀看該視頻學習:《斯坦福大學公開課:iOS 8開發》
我花了兩天時間學完了前7節課,並且跟著視頻敲完了課上的demo,總體來說,這是一份高質量的Swift語言入門課程。
當你看完了《斯坦福大學公開課:iOS 8開發》的前6節課,你就應該能夠看懂Swift代碼了,此時你迫不及待地想開發一個iOS應用,比如開發一個簡單的todo app。那麼趕緊開始學習iOS的基本控件吧,請點擊該課程學習:《使用Swift開發iOS8 App實戰》,學完該課程,你可以跟著老師學會編寫如下demo:
十二生肖APP
女神畫廊APP
ToDo APP
至此,你掌握了如下知識點:常用UIKit控件的使用,Storyboards和Segues,Navigation Controller,Auto Layout基礎,Container View Controllers,Tab Bar Controller,現在開發一個練手的APP已經輕而易舉了。
語言的學習最終還是要靠自學。目前咱們在開發過程中遇到的問題,基本上都可以通過Google、Stack Overflow搜索到解決方案。當我學完上面兩個課程以後,我清楚的意識到,要想實現我真正需要開發的iOS項目功能(參考前言裡貼出的效果圖),我還需要學習UICollectionView的使用,它類似於Android裡的GridView,學習為UITableView添加下拉刷新……
另外,網絡請求也是一個完整的項目應該具備的模塊,請點擊該鏈接學習iOS網絡請求的調用:Swift Weather APP。我們在開發Android應用時喜歡使用功能較為完善的網絡請求框架,比如Retrofit、OkHttp等,在基於Swift的iOS應用開發中,推薦大家使用Alamofire網絡請求框架開發。
我從零基礎開始學習Swift語言,到完成項目的iOS版本開發,一共花了半個月左右的時間。當然,Android開發依然是我的主要工作,iOS開發只能算一個興趣。我希望接下來的時間能夠撿起我的JavaWeb基礎,和其他同事一起協作開發服務器端,朝全棧開發工程師方向努力。
最後,衷心希望本文能夠對想自學iOS開發的同學有所幫助。