温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

​什么是iOS开发?怎么学习iOS?

发布时间:2020-05-23 17:55:38 来源:亿速云 阅读:311 作者:鸽子 栏目:移动开发

iOS开发的标准语言是objective-c。是c的一种超集, 它是对c的扩展,支持面向对象编程。像后来的一些高级语言java,c#等都借鉴了该语言的面向对象特性。 当然在iOS开发过程中,也支持c/c++语言与原生的objective-c混编。

个人认为iOS开发这个职业,远比目前从别人口中得知的更持久、而且坚固!
早在去年,库克就已经将“苹果倒闭”这几个字眼解释的很清楚,一个储备资金2600亿美元的公司可没有想象中那么脆弱!

攻克难关,是每个真正做研发的开发者所具备的品质,也是技术成长最快的方式!信念:iOS本身就不是一个很难学习的技术,坚持下去就能胜利!独立:从别人口中得知的,永远是别人脑子里的东西,你的脑子里装了些什么?一直保持学习的心:当前互联网技术更新迭代技术大家都有目共睹,也许睡醒之后就是下一个技术红利期,怎样让自己领先于别的开发者,保持学习的习惯!目标:目标和责任是支撑你走下去的重要支柱!实现你的目标也是你增加自信的根源!模仿:取其精华,去其糟粕!这是缩短你学习时间,增加技术层面的重要动作!优秀的第三方或者APP往往倾注了作者最优秀的代码思想,所以尝试把它装到你的脑子里吧~

你的职业规划是什么?

从iOS这个行业来说,找不到工作只能从自身找原因!
因为简历写的不好?因为现在大部分公司不要iOS开发?因为没有学历?
不,都是因为你菜
iOS本身薪资待遇就优于其他大部分语言,不对你要求高,对谁要求高?

程序员本来就是一个需要努力,需要技术的行业!文凭和经验技术,两者分开哪个都可以给你带来好的结果,文凭高是因为别人前20年的努力,技术好事因为别人后5-10年的努力,所以不需要抱怨!想要好的回报,就需要付出你的时间、精力和头发!

种一棵树最好的时间,是十年前或者今天!
不管是想转行还是坚持,现在就开始做吧!

外包&产品

其本质的区别就是,模式不一样!
说明白点,搬运和创造!

先说外包公司的模式吧,一个好的外包公司,可能福利会好很多,阶级斗争不是很明显,大家就像打工的一样,拿着工资和项目提成,项目比较紧,成熟的外包公司拥有统一化的管理,和优秀的代码规范;

但如果是比较差的外包公司,那就不一样了,整体项目以完成为目的,不需要维护,往往只需要做出来一个雏形,不会到处崩溃,交货之后,此app将再也没有关系,如果需要维护,就再交钱。不论好与坏的外包公司,他的盈利模式就像是流水线,只需要出货量,不要求质量。这对于刚刚步入程序员行列的人会很不利,会养成不用维护,不用注重用户体验,不用做流畅度,耗电量,并发量的测试的坏习惯,得过且过。

总之不用考虑太多。这也是市面上大公司有些会看你之前的工作经历的原因,如果是外包,对不起,我们不要。

产品公司的模式,就是升职加薪,干得越久福利越好,万一你比较幸运,有幸成为未来几年要火的产品的开发者,那就是offer不断啊。产品公司往往分为有成品项目和创业两种。

成品项目人员变动一般较少,阶级斗争比较严重,为了职位更上一层楼,勾心斗角。不过在开发团队还是比较罕见的,大家大部分都是想跳槽的。

创业公司往往需要人才,全面性的人才,就单单说iOS,一个创业公司可能会要求你会 直播,支付,蓝牙,聊天,这也都是老功能了,现在都是什么 AR啊 人脸识别啊。你不学习新知识,注定被淘汰。外包公司也有一点好处就是,涉及的应用多,那功能也就自然而然比较多。

iOS开发进阶学习路线!

底层:

  • Runtime
    • 对象
    • 属性
    • 方法
    • 协议
  • 应用加载流程
  • Clang&LLVM
  • KVC&KVO
  • 多线程
  • Block
  • AOP切面编程
  • 性能优化
  • Socket
  • 自动打包
  • 持续集成
  • 单元测试

算法:

  • 线性表
  • 队列
  • 数组
  • 树和二叉树

目前来说,底层和算法基本是面试官最喜欢的方向,所以在下次面试前,打好基础是必须要完成的路线!
至于更多的技术,比如目前很火的音视频,视觉、flutter、swift这些!可以根据个人精力来学习,优先掌握本应该掌握的技术,再横向发展是我目前在做的!

视觉方向:如果是为了满足部分招聘需求的话,建议OpenGL ES和metal都需要掌握,虽然metal是苹果说要替代的框架!但是目前大部分公司还是优先于OpenGL的!

flutter方面:如果只是为了让自己面试或者简历中带有亮点,入门完成项目就行,毕竟深入探索需要花费大量的人力和时间成本,把这花在更快捷的技术上比较好!

swift方向:除非是专门做swift的公司,不然OC与swift的项目分化还是比较清楚的,同样,其实OC底层和swift底层有着比较大的相同原理,优先OC底层学习!毕竟这是你熟悉的语言。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI