在学习IOS开发前就应该知道的事

      我对Apple的认识是从iPod 开始,也是从那时候开始关注Apple的产品。直到大学毕业才有了属于自己的Apple设备   第一代ipad.随着产品和系统的更新如今已几乎没几款app可以流畅的在它上面了运行了,虽然ipad1失去了使用价值,(当然就那个板来说,切菜还是很好用的哦)但是对我来说却开启了一个青年对ios的热爱。好在大学专业有c语言,我接触到了编程,也了解到原来编程也是这么的有趣。工作后才逐渐具备了ios开发的设备。慢慢踏上了ios的开发之路。

      朋友提供了一个app项目,这是一款仿映客的可以进行直播的app,我负责UI的搭建。在Stack Overflow,cocoaChina,Baidu的帮助下,我用了2周时间完成它,当我把产品给一个同样搞ios开发的朋友看时,他跟我说,如果我用开源项目的话,1天就可以搞定。

过去一年多我经历了不少类似的事情,这些事情让我成长,让我能够成为一个更好的ios开发工程师。我想和大家分享一下我的经验。希望初学者可以不再犯我这些错误,一路平坦的走向成功。

重视基础

      刚开时学ios开发的时候,我直接在网易公开课上学习了斯坦福大学的ios开发课程。老外的讲解教授水平没的挑,虽然英文听不大懂,对照字幕多看几遍也就懂意思了。个人感觉这个视频非常有用,虽然我从中学到了很多,但它并没有教给我多少iOS开发语言的基础知识,开始写自己的app后,发现自己在基础知识方面欠缺很多,这导致我总是弄出来一些bug。

      如果你在面向对象编程的语言方面没啥经验的话,我建议在投身ios开发前先读一本这方面的经典书籍。例如:Programming in Objective-C,  Big Nerd Ranch Guide for Objective-C和 Swift的The Apple`s Guide

      当然Ray Wunderlich上的教程和Team Treehouse上的视频课程能教给你很多,但缺少基础知识的程序员就像无源之水,无本之木,总是长久不了的。

良师益友Github

      我对这个ios开源社区绝对时真爱。Github上面有无数的优质项目,如AFNetworking, Restkit, JSQMessage,甚是碉堡,你必须学会在这个社区里乘前人栽树之凉。当然还有cocoachina,cocoa4app等。

      遇到问题时,先别一根筋急着苦思冥想或者创建自己的库,不如先去这些开源社区找找有没相似问题的解决方案。很有可能某个开发者已经写好了一个符合你需求的开源项目。

      加入社区之旅,他们很乐意回答你的一切问题。你可以浏览那些好的开源项目,看看大牛们是如何组织代码的,自己也好学着点。

这里是Github上的一些最优质的ios资源:

精选的优质iOS生态系统,包括Objective-C和Swift资源

vsouza/awesome-ios: awesome-iso  

GitHub - vsouza/awesome-ios: A curated list of awesome iOS ecosystem

收集了很多优质的Swift资源

matteocrippa/awesome-swift: awesome-swift

GitHub - matteocrippa/awesome-swift: A collaborative list of awesome swift resources. Feel free to contribute!

优质IOS UI/UX库精选

cjwirth/awesome-ios-ui:awesome-ios-ui

GitHub - cjwirth/awesome-ios-ui: A curated list of awesome iOS UI/UX libraries

了解你的工具

      多数iOS开发者将Xcode作为开发首选工具。Xcodeyou很多强大的特性,如Storyboards,AutoLayout,如果学会使用这些的话,相信你的开发效率肯定能上一个台阶。出于某些限制,很多开发者会尽力避免使用Storyboards,但我个人认为Storyboards是快速布局的有力工具。

      学习使用Xcode快捷键。虽然开上去使用快捷键没节省几秒钟,但“不积小流,无以成江河”,久而久之省下的时间就多了。

      当然还有很多Xcode插件,这里不多写了引用这位朋友的

Xcode插件 -

  以上这些都是我亲测的有效手段,它们在提高开发方面给了我很大的帮助。

叙写此文的意旨在于记录自己的开发历程,分享自己的开发经验,希望可以帮助到更多的ios开发初学者。

你可能感兴趣的:(在学习IOS开发前就应该知道的事)