我们对于IOS的了解最多应该就是苹果手机独有的IOS系统吧,也可以说是单任务管理器,这可以说是一个优势,但是随着技术提升IOS慢慢有被超越的趋势,但是很多大公司还是需要这方面的开发人才,那么今天我们来谈谈IOS开发的入门所需要要具备的知识和技能,如果想要成为一个高薪技术人才那么你们就要努力了。
一、基本的CS知识
其实我们一直被一种观念所误导,高学历并不代表你的本事就会比一般人强,重要还是在经验方面。由于对数据和结构的不熟悉,你在开发过程中会出现错误,所以我们刚入门的新手最好还是首先多去了解一下关于CS脚本的知识,多看关于CS的书籍,这样才能让你成长起来,这也是入门来说最容易懂的一门课程。
二、Swift还是Objective-C
这里有两种语言,一种是新的语言swift,另一种较为传统的object-C在框架的架构上你一定要选其中一种来写代码,如果想详细去了解你们上网搜索,对我来说大多数工作时间开一个Safari页面去看Apple的文档并不是偶然的事情,为了让自己更好的写类、结构体、循环、函数分配变量、表达式求值的水平。我建议你还是多去学习一下这门关于代码的课程。
技术人员一定要有一门自己最熟练的语言用来开发,无论是object-C或者是swif,如果项目繁多可以用swift,其他一般都用object-C,两者都是开发apple平台软件的编程语言,swift是最近才崛起。编译器最终会把它翻译成C语言,也就是说编译器最终面对的其实都是C语言代码。
三、框架和API
还是和我之前说过的道理类似,我不认为你必须能对所有的iOSAPI倒背如流,但是你需要清晰的知道到哪里找起。
UIKit(UITableView,UIButton,UINavigationController,gesturerecognizers)
界面生成器(故事板,Segues,和奇怪的。xib)
基础类型(NSArray,NSDictionary,NSString)以及它们的迅速对应(数组,字符串字典和)HTTPAPI(NSURLSession,基本的RESTAPI概念,用nsjsonserializatioN做JSON解析)
GrandCentralDispatch(GCD,NSOperationQueue)
数据持久化(nscoding,nsuserdefaults,CoreData)
内存管理(什么是循环引用,以及弧的基本原理)
四、开发中的设计模式
如果想把你的开发变得更容易,那么你就要重视你的设计模式,特别在IOS中设计框架常常被广泛利用,这样给你的工作省略了很多功夫,你的代码会更加清晰,在没有感觉的情况下你会做出很多不一样的东西,还可以活学活用。
代理模式(大多数iOSAPI的主要模式,你必须理解掌握它)
所谓代理,其实更像是传送门。因为它主要就是用来在不同ViewController之间传送数据用的。假设有MVC分离和secondVC两个。如果你花时间改进你的代码。,用户在MVC输入的一个值要在firstVC里用到
五、熟悉开发环境
IOS开发需要一台Mac,而Android可以要也可以用window,你要去熟悉它的开发环境,如果你不熟练的情况下就算给你一台Mac你也很难把代码写进去,最好用标准或者低配置做起。
六、UX/UI
交互设计这应该是设计师的版块吧,但是在界面交互中互动最多的就是用户和人机进行交互,如果你了产品的架构和和线框图的情况,那么你的开发从何入手,从哪里开始,所以我们要懂一点线框图的原理,方便日后的开发。
IOS开发工具有很多种,但是下面的是较为常用的也是我推荐你们的工具,我简单的介绍一下它们的特点吧!
1.Xcode具有统一的用户界面设计,编码、测试、调试都在一个简单的窗口内完成;是开发OSX和iOS应用程序的最快捷的方式。
2.Git版本控制它可以帮助你跟踪、分支、合并和管理代码版本。
3.JIRA或者Bugzilla基本就是JIRA,你也是不需要成为使用它的专家,但是你应该至少把它玩个大概,第一次看见它界面的时候别怕。
4.CocoaPods是一个用来帮助我们管理第三方依赖库的工具。它可以解决库与库之间的依赖关系,下载库的源代码,同时通过创建一个Xcode的workspace来将这些第三方库和我们的工程连接起来,供我们开发使用。
七、见解
swift可以说是苹果公司向要取代object-C的语言,因为很多的语法上的东西swift都可以替代,,当你对swift有了深的了解之后,就算以后有人问你你都可以介绍给别人听,回答“我觉得,还行吧”可不是正确的答案
八、工作能力
当我们应聘这方面的工作时候,很多面试官为了考察你的能力叫你去编写一种代码,那么我们可以通过把APP结合到applestore发布上去,同样能展示出你做项目的能力,在这里我推荐你用GitHub,这能助你获得成功。