接觸 iOS App 開發至今也快要兩年了,把一些心得感想記錄下來,或許能幫助一些人。


事前準備

進入這個世界,有些東西是你需要事先準備好的,說穿了,就是你的設備跟知識。

一台蘋果電腦

開發蘋果的東西,沒有蘋果電腦怎麼行呢?如果你手頭拮据的話,買台 Mac Mini 就能動工了,但如果預算足夠的話,建議買台 MacBook Air 或 MacBook Pro,方便你能隨時移動,走到哪就寫到哪。至於要買 Pro 或是 Air,那就看你需求跟預算了,反正若只是要開發程式,這兩者都綽綽有餘。

熟悉 C 語言以及物件導向

開發 iOS App 用的程式語言是 Objective-C,它是 C 語言的 superset,支援所有 C 語言的功能,並且加上物件導向的能力。所以你只要熟悉 C 語言以及物件導向的觀念,就可以快速上手 Objective-C,剩下的就只是習慣 Objective-C 的語法及特性而已。

英文能力不能太差

Objective-C 有個特色就是它寫出來的程式碼「就像在閱讀一段句子、一篇文章」,你怎麼說話的,就怎麼寫程式 - 當然,指的是用英文說話。所以你英文能力不能太差,否則你將無法寫出順暢的程式碼,也無法輕易看懂別人的程式碼。這是它跟其他常見的程式語言最大的不同點,一開始可能會不太適應,但久了之後你會愛上它的。另外你會需要看大量的文件,這些幾乎都是英文,所以需要有一定的英文底子。


入門

好了,事前準備都完成了,接下來可以開始動工。我當初完全是自學,所以我的分享基本上就是我自學的過程。我自學的方式很簡單,就是大量閱讀(看教學、看書、看官方文件)跟實做,實做的部份我幫不了你,所以來聊聊我看了哪些東西。

  1. Stanford University: CS193p
    這是國外史丹佛大學的開放課程,你可以在 iTunes U 找到它,整個課程看完之後,對於如何開發就已經有一定的理解了。我強烈建議一定要先看完這整套課程,再繼續去閱讀其他的東西。它大概也是 iOS 開發最有名的課程,我相信很多開發者其實都是「同學」。

  2. iOS 5 & iOS 6 by Tutorials
    當你對如何開發有個基本的理解,知道整個開發流程要怎麼套起來,可是卻對許多比較細節的部份還懵懵懂懂,這時候你需要的是有人一步步告訴你每個元件是做什麼用的、還有要怎麼去用它。因此你需要看這本書,它是由國外知名的 iOS 開發教學網站所編寫的,每一篇教學都從頭到尾寫得很仔細,非常適合新手。有了它,你將可以減少許多摸索的時間。


進階

當你對基礎開發已經有一定的熟悉度之後,我建議你一定要看看以下這幾本書,它們會讓你知道更多 Objective-C 的細節,也會知道如何寫出更好、更有效率的程式碼。但,拜託,如果你對基礎還很不熟的話,請千萬不要來看這些東西,學會一些花俏的技巧、腦袋塞了一堆一知半解的理論,對你來說不是件好事。

  1. iOS 6 Programming: Pushing the Limits
    由 Rob Napier 跟 Mugunth Kumar 共同撰寫的這本書,提到該如何設計程式架構,以及怎麼做才能讓 App 執行得更順暢。看了之後你會發覺「阿~原來要這樣子設計架構比較順」或是「原來還有這種技巧」。

  2. Effective Objective-C 2.0: 52 Specific Ways to Improve Your iOS and OS X Programs
    由 Matt Galloway 撰寫的這本書,講到了許多比較細節的東西,包含一些語言特性是如何運作的,以及開發的一些 Best Practice。適當的使用他提到的方法,會讓你更輕易的完成某些功能,也能讓程式碼更簡潔、更不易出錯。

  3. WWDC Videos
    每年蘋果開發者大會(WWDC)總是會推出一堆新東西,開發者們要接收這些資訊的最快方法就是把這些大會錄影看過一遍。當然,我們的時間有限,只要挑感興趣的看就好。


網路資源

現在網路這麼發達,很多資訊都在網路上流通,當然吸收新知最快最方便的管道就是透過無遠弗屆的網路。底下列出我有在觀看的部落格跟我 follow 的 twitter,我每天從這些地方吸收到許多的新知。

部落格

Twitter

我總是能從這些 twitter 的發文以及他們跟他人的交談互動中,學到一些新的東西。


寫在最後

現在要學習 iOS 開發的門檻已經比當初我學習的時候低太多了,如果你對這一塊有興趣有熱情,那就快跳進來吧!相對於其他平台的開發者而言,iOS 開發者最開心的事情就是一般使用者非常樂意接受新版的作業系統(根據 Apple 統計,目前 iOS 6 的普及率有 9x%,iOS 5 + iOS 6 有 99%),所以我們可以開心的使用最新的技術去打造 App;但相對的,最痛苦的事情就是我們得一直追著最新的技術,每年的 WWDC(蘋果開發者大會)大概是我們最期待也最害怕的時刻。

最後,就以這句大家耳熟能詳的話來總結吧:

Stay Hungry, Stay Foolish!

文章標籤

Nelson 發表在 痞客邦 留言(16) 人氣()

隨著 Google Reader 收山的腳步越來越接近,你是否已經找好替代品了呢?目前我是用 feedly 作為替代品,似乎這也是最多人的選擇。畢竟,它可以完整匯入 Google Reader 的訂閱清單,又有網頁版跟 iPhone / iPad / Android App,沒有理由不選擇它。

只是用了這麼久,雖然它一直都有在進步,我還是覺得它的 App 不夠好用,比不上我原本在用的 Mr. Reader,但在找到更好的替代品之前,也只好將就著用了。

終於,我找到更好的選擇了,那就是新版Mr. Reader!新版的 Mr. Reader 支援的訂閱來源變多了,目前它支援 BazQux ReaderFeedbinFeedHQfeedlyFeed WranglerFever

所以我現在網頁版就用 feedly,iPad App 就用 Mr. Reader,美好的日子又回來了。

或許你會好奇,為什麼我那麼愛用 Mr. Reader?理由當然有很多啦,像是我喜歡它的介面、高度可自訂、穩定、運作速度快、更新頻繁等等,但最重要的原因只有一個:它可以記住我每個文章來源的閱讀模式!有些來源是 RSS 全文輸出,有些來源要連回原始網頁看,有些來源要用 Pocket / Instapaper / Readibility 取得乾淨的全文,這些它通通都記得。

相信我,這個功能真的會讓你的閱讀體驗變得非常的流暢。光是這個功能就值得我花 $3.99 去購買它了!我之前也有特別寫一篇文章介紹 Mr. Reader,有興趣的人可以去看看:)

PS: 除了 Mr. Readerfeedly 之外,NewsifyReederReeder for iPad 也是值得一試的 iOS App。

Nelson 發表在 痞客邦 留言(0) 人氣()

之前去了一次老梅,終於看到那魂牽夢縈已久的綠石槽,當時就下定決心要再找一天回來,看能不能拍到日出。終於讓我盼到一個沒下雨的假日 (是說,時常都在假日下雨是怎樣...),就跟 Vicjuan 七早八早從汐止衝去老梅啦。

上次我只帶了相機,其他什麼設備都沒帶,這次特地準備了腳架跟 ND16 減光鏡,希望能拍出一些不一樣的東西。

文章標籤

Nelson 發表在 痞客邦 留言(0) 人氣()

前一陣子剛結完婚,很幸運的遇到許多好廠商的幫助,婚禮辦下來也受到親朋好友一致的好評與詢問。乾脆寫一篇文章來表揚一下所有合作的廠商,幫它們打打廣告,或許剛好有人需要廠商資訊也說不定!

Nelson 發表在 痞客邦 留言(1) 人氣()

老梅石槽是我一直想去拍攝的一個景點,長長的海岩線被大自然刻劃出特殊的槽狀地形,每年大約三到五月就會佈滿綠色的海藻。在今年終於有空可以去看看這個嚮往已久的外拍景點,還好當天的天氣超級好,我在那裡待了一整個下午,也照了好幾張照片,非常的心滿意足!

底下選出幾張個人特別喜歡的照片跟各位分享,有興趣看完整版的人可以到我的 flickr 看看

2013-03-17_24

Nelson 發表在 痞客邦 留言(0) 人氣()