我们对于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,这能助你获得成功。
简单的解释了关于ios开发的一些能力及其应用,这只是我个人的心得当然还有很多更有效的方法你可以自己去发掘,但是适合自己的才是 好的,不要盲目从众,现在这个技术项目目前还是处于很火的阶段,如果你想要进入这个领域那么你就要不断的强化自己才能在激烈的竞争中争取一席位。也希望大神们来分享更多ios的技巧。