课程咨询 :186-8884-0703
课程咨询QQ:192750396

  • iOS开发小白晋级必读——如何成为专家?

    发布:深圳iOS培训      来源:达内新闻      时间:2016-03-31

  • 最近一段时间,越来越多的学生开始学习iOS开发,他们要求深圳ios培训(sz.ios.tedu.cn)专家列出一些入门iOS开发所需要了解的内容清单。这对于一篇博文来说似乎是一个很好的主题。没有费很多精力,我整理了一个清单,介绍了在成为一个iOS入门级开发者的路上你需要知道的东西(以下顺序不分先后)。

    计算机科学基础知识

    我不认为获得一个计算机科学博士学位是上手移动应用开发的必要条件,它应该被归在"绝对有帮助"的一类,但理解最基础的数据结构和算法就能让新手开发者防止被自己的代码绕进去。因此,对于初学者而言,我会推荐在YouTube上观看哈佛CS50课程的方法来开始学习,你很容易更上课程的进度而且这些课程看起来也着实有趣。

    Swift还是Objective-C?

    同样,我没有说你必须对这两门语言的认识要到能够写一些博客,或者教课的程度,但你至少应该能够在不经常查阅语法的前提下用其中至少一种语言来写代码。API是一个难题,尤其是在iOS中,框架每年更新,方法经常被废弃。对我来说在Safari标签中放入Apple Documentation以便工作中查阅是稀松平常的事情。API的东西多到难以记住全部。你只需要能够在没有任何外界帮助下写一些类、结构体、循环、函数(类方法和实例方法),以及定义变量和表达式就足够了。

    如今我们处在一个很奇特的时代,雇佣只懂Objective-C的人也是能够被接受。Swift还很年轻,除非你被一家拥有很多项目更新流转的公司聘用,否则你仍旧会在大部分时间使用Objective-C做开发。尽管如此,有很多公司愿意冒险使用Swift(包括我正供职的这家),而且我不认为在你只会Swift的前提下找到一个工作会比较困难。关键是你要精于你所选择的语言,并对另一门语言的了解至少是能够到看得懂代码。

    框架和API

    iOS开发小白晋级必读——如何成为专家?

    正如我之前说的那样,我认为没有必要记住iOS所有的API,但你应该有一个好的切入点。

    UIKit (UITableView、UIButton、UINavigationController以及GestureRecognizers)

    Interface Builder (Storyboards、Segues和奇怪的.xib)

    基本数据类型(NSArray、NSDictionary以及NSString),与之对应的Swift中的类型(Array、Dictionary和String),HTTP API (NSURLSession,基本的REST API概念,用NSJSONSerialization解析处理JSON)

    Grand Central Dispatch (GCD、NSOperationQueue)

    持久化(NSCoding、NSUserDefaults和CoreData)

    内存管理(什么是循环引用以及ARC基础)

    开发模式

    模式很重要,它能让开发更轻松,让你的代码更整洁。确保你了解最基本的模式,它们被广泛使用在iOS框架中,不了解这些你很难在开发中施展拳脚(还有很多其他的模式,但这些可以作为你刚开始学习的起点)。

    代理(这是很多iOS的API会涉及到的,你必须清楚地理解它)

    Model View Controller (我不认为Apple在鼓励使用最好的MVC分离上做的足够出色,但如果你花时间正确实践它,它会是一个能帮助你提升代码质量的重要模式。同样,基本上都会出现在任何面试问题的列表里。)

    Subclassing (几乎所有用户接口都是某个类的子类)

    单例(这个模式绝对被滥用了...请有节制地使用)

    熟悉开发环境

    这看起来像是显而易见的,但如果你没有Mac电脑,去买一台!如果你没有iOS设备,去买一台!如果你没有使用过或者不熟悉一个设备却在为它做开发,这会变得相当困难。同样,没有Mac电脑来做开发也会很困难。我的第一台Mac设备是2009款的13寸MacBook Pro配上第一代iPod Touch。从低端设备入手是非常合适的。我在这两个设备上投入了将近1500刀,但从长期看来确实值这个价。

    UX/UI

    通常来说,UX和UI是设计师负责的内容,但是你应该理解Apple人机界面指南。你需要知道原型和线框图之间的区别,并在开发过程中使用这两者。

    工具

    你应该熟练掌握一些常用的开发工具。

    Xcode (必须的)

    Git Source Control (一些公司可能使用的是Subversion或者Mercurial,但git对于你入门来说足够了。)

    JIRA或Bugzilla (以JIRA为例,你不需要成为使用它的专家,但你至少要熟练到不像第一次接触它时那么恐惧。)

    CocoaPods (这是一个用来管理依赖和第三方代码的工具,我从未听说有不使用这个的公司。)

    主见

    对iOS、Swift、甚至一个特定的API持有自己的观点是一个很好的给面试官了解你对某一块知识理解深度的方式(对iOS、Swift、甚至一个特定的API持有自己的观点可以让面试官很好地了解你对某个开发主题的深入情况。)。这也能让我们看到你的学习热情。如果你在一场面试中被问到:"从你的角度如何看待Swift?"答:"还不错",这并不是正确的回答,你应该告诉他们你对optional的态度,你是如何使用一个新语言特性的。这里并没有列举出很多错误的回答,最重要的是要言而有物。

    学习档案

    行胜于言。如果你真的很注重一场面试,把你的一些简单的app整理在一起(如果能在App Store中启动它们就更好了)。展示独立完成一个项目让你的话语更有分量。这是我极力推荐的方式。GitHub也是一个很好的平台,但如果你展示你的GitHub,尽量让你的代码对于那些想测试一下的面试官来说能够轻松编译。

    更多ios培训、ios就业、ios薪资、ios教程等内容,请访问达内深圳ios培训官方网站!众多资深ios大神级讲师为您答疑解惑!

    “我们不生产技术,而是教育的传授者,更是it技术的搬运工。”

上一篇:那些专业的程序员是如何减压的?

下一篇:iPhone夜间模式用吗?iPhone夜间模式怎么用?

最新开班日期  |  更多

3G-IOS软件工程师就业班

3G-IOS软件工程师就业班

开班日期:6月30日

3G-IOS软件工程师就业班

3G-IOS软件工程师就业班

开班日期:6月30日

3G-IOS软件工程师周末班

3G-IOS软件工程师周末班

开班日期:6月30日

3G-IOS软件工程师周末班

3G-IOS软件工程师周末班

开班日期:6月30日

  • 深圳市龙岗区横岗力嘉路2013文化创客园A栋——深圳IOS培训中心龙岗校区
    深圳市宝安区共乐路西乡商会大厦10楼——深圳IOS培训中心宝安校区
  • 课程培训电话:186-8884-0703
    课程咨询QQ:192750396     全国服务监督电话:400-111-8989
  • 服务邮箱 tousu@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56