你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發基礎 >> 那些在學習iOS開發前就應該知道的事(part 1)

那些在學習iOS開發前就應該知道的事(part 1)

編輯:IOS開發基礎

英文原文:Things I wish I had known before starting iOS development—Part 1

設計師設計出來了一個不錯的引導界面,然而當我看到設計稿的時候,我們的app也沒幾天就要上線了。這個界面模仿了Evernote iOS app的風格。

1.gif

我以迅雷不及掩耳盜鈴之勢開始在Xcode上編程,用了page view controller和scroll view。在Stack Overflow和Google的幫助下,我用了2天把它完成了。當我把產品給一個同樣搞iOS開發的朋友看時,他跟我說,如果我用了這個開源項目的話,一個小時就可以搞定一切。

過去這一年我經歷了不少類似的事情,這些事情讓我成長,讓我能夠成為一個更好的iOS開發工程師。我想跟大家分享一下我的經驗,希望你們可以不再犯我這些錯誤,一路平坦走向成功。

重視基礎

剛開始學iOS開發的時候,我直接去學習了斯坦福大學的這門課程,非常有用。然而,雖然我從課程中學到了很多,但它並沒有教給我多少iOS開發語言的基礎知識——當時的iOS開發語言主要是Objective-C。開始寫自己的app以後,我發現自己在基礎知識方面欠缺很多,這導致我老是弄出來一些bug。

如果你在面向對象編程的語言方面沒啥經驗的話,我建議你在投身進行iOS開發之前先讀一本這方面的經典書籍。我最喜歡的兩本是Big Nerd Ranch Guide for Objective-C和Swift的The Apple's Guide。

2.jpeg

沒錯,Ray Wenderlich上的教程和Team Treehouse上的視頻課程能教給你很多,但缺少基礎知識的程序員就像無源之水、無本之木,總是長久不了的。

良師益友Github

我對這個iOS開源社區絕對是真愛。Github上面有無數的優質項目,如AFNetworking, Restkit、JSQMessages,甚是碉堡。你必須學會在這個社區裡乘前人栽樹之涼。

遇到問題時,先別一根筋急著苦思冥想或創建自己的庫,不如先去GitHub或Google找一下有沒有相似問題的解決方法。很有可能某個開發者已經寫好了一個符合你需求的開源項目。

通過Facebook Groups或Slack chat來開始社區之旅吧!他們很樂意回答你的一切問題。你可以浏覽那些好的開源項目,看看大牛們是如何組織代碼的,自己也學著點。

這裡是GitHub上一些最優質的iOS資源。

vsouza/awesome-ios:awesome-ios——精選的優質iOS生態系統,包括Objective-C和Swift項目。

blob.png

matteocrippa/awesome-swift:awesome-swift——收集了很多優質的swift資源。你也可以來貢獻自己的力量!

blob.png

cjwirth/awesome-ios-ui:awesome-ios-ui——優質iOS UI/UX庫精選。

blob.png

如果你想找一些iOS的最佳實踐以供自己模仿學習,那請看下面這些。

futurice/ios-good-practices:ios-good-practices——為iOS開發者提供靈感,作者是Futurice的開發者們。

blob.png

了解你的工具

多數iOS開發者將Xcode作為開發的首選工具。Xcode有很多強大的特性,如Storyboards、Auto Layout,如果學會用這些的話,相信你的開發效率肯定能上一個台階。出於某些限制,很多開發者會盡力避免使用Storyboards,但我個人認為,Storyboards是快速布局的有力工具。

學習使用Xcode中的快捷鍵。雖然看上去使用快捷鍵沒節省幾秒鐘,但“不積小流,無以成江海“,久而久之省下的時間就多了。以上這些都是我親測有效的手段,它們在提高開發效率方面給了我很大幫助。

  1. 使用Cocoapods來進行依賴管理。你的團隊會因此輕松很多。

  2. 在項目早期就學會使用持續整合(continuos integration),這樣就可以避免未來可能出現的冗余工作。

  3. 使用Testflight來分發測試版本。在被蘋果收購之後,Testflight變得更加簡單易用了,每個人都可以通過它來使用iTunes賬號進行測試版本的分發。

  4. 在app中整合Crashlytics,這樣當app崩潰的時候你就可以獲取Crash報告了。

  5. 如果你不想自己弄後端服務器的話,Parse為我們提供了很好的服務。

讀一些優質博客和資訊

前文已經介紹了一些很棒的iOS開源社區。很多優質的博客是由經驗豐富的iOS開發者撰寫的,每周都會有一些精彩的內容呈現。我最喜歡的一些包括:

Cocoa with Love:在本博客中,我將專注於使用和管理用戶界面中字符串的最佳實踐。這是一個相當...

可能是最好的iOS博客。作者是Matt Galaghar。Matt做事情的方式是大師級的。

iOS Dev Weekly:訂閱本博客,輕松獲得每周最棒的iOS開發網頁精選。由Dave Verwer精選並發布...

blob.png

嚴格來說這不算個博客,但它每周都有超級超級棒的內容更新。作者是Dave Verwer。

NSHipster:Playgrounds並不是Swift語言本身的特性,它們其實是很棒的展示……

blob.png

NSHipster對Objective-C和Cocoa進行拾遺的雜志。它由Mattt Thompson每周更新。

Ray wenderlich:高質量的編程教程:iOS、Android、Mac,還有更多!

blob.png


Ray Wenderlich的博客(對初學者超有用)

Custom Controls for iOS and OS X - Cocoa Controls:暫無描述

blob.png

Peter Steinberger:蘋果在Xcode 6中增加了對NS_DESIGNATED_INITIALIZER 標志的支持,同時也將其添加到了各種各樣的框架中……

blob.png

Matt Gemmell:基於我的寫作項目進行簡要更新。它或許會引起一些人的興趣……

blob.png

Natasha The Robot:僅僅是又一個WordPress站點

在這些博客中挑選干貨,認真閱讀,相信你會變成一個更好的iOS開發者。

設計也能變輕松

很多開發者對於iOS的設計方面談虎色變。我們總是對設計敬而遠之,一股腦兒都扔給設計師去做。但其實,只要稍稍努力,你也可以學會設計自己的app。

現在,設計師和開發者之間的界限日益模糊,因為好多成功的iOS獨立開發者包攬了所有app設計、開發和營銷工作。我將在下一部分談到營銷方面的事。如果你想設計自己的iOS app的話,不妨學一下Sketch這個工具。Sketch專為應用設計和網頁設計而生,簡單易上手。

Bohemian Coding - Sketch 3Sketch是簡單易用的輕量級軟件,它強大、靈活而快速。最後……

blob.png

你可以在網上找到大量的Sketch資源和插件,它們能讓你有趣而簡單地工作。一旦完成了設計工作,你可以立刻用這個神器將它們整合在一起。

Free mobile & web prototyping for designers - Marvel將草圖和設計轉化為可交互的Web、iPhone、iPad、Android和Apple Watch原型和模板……

blob.png

下一部分,我將談一談在開發自己的app時的必要方法,並且講一些iOS應用的營銷技巧。

CocoaChina原創翻譯,轉載請注明!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved