你知道在iOS开发的工作中为什么有人4k有人40k吗?

 前言

  如果你有志于将iOS开发作为职业,或者已经是一位iOS开发者,那么你应该听说过唐巧的名字。唐巧,2012年从网易有道离开参与创业, 目前是猿题库iOS高级研发工程师。难得的是,他本身是一线的iOS开发者,同时又对iOS开发在国内的布道做了不少的工作,身影活跃于博客、微博、微信公众账号等地。从2011年以来,唐巧开始在博客分享自己写的iOS开发技术文章,CocoaChina 也曾多次转载过他的博客文章,后来他成为InfoQ兼职编辑,除了发表技术文章之外,还负责整理《iOS移动开发周报》,至今已有35期,他的微博和微信公众账号粉丝都超过1万,可以说是iOS开发领域的“大V”。并且他的新书《iOS开发进阶》已经和大家见面,也引得他的粉丝的一份热潮

在这里我还是要推荐下我自己建的iOS开发学习群:681503716(验证编号:大鲨),群里都是学ios开发的,如果你正在学习ios ,小编欢迎你加入(闲聊,广告,培训勿扰~),今天分享的这个案例已经上传到群文件,大家都是软件开发党,不定期分享干货(只有iOS软件开发相关的),包括我自己整理的一份2018最新的iOS进阶资料和高级开发教程

  丨iOS开发的更新换代

  移动开发真正火起来其实就是最近这三年,iOS 开发技术因为发展也就才这么几年,所以值得做的事情还有很多,这就造成了每年苹果的 WWDC 都会推出一堆新的特性和 API。整体上来说,这对业界是好事情。在技术更新过程中产生一些坑,是在所难免的事情。所以希望大家都能用一个比较平和的心态去搞定这些坑。

  我之前写过一篇《iOS 开发如何提高》的文章,简单总结来说,就是多读、多写、多思考、多讨论。多读主要包括:阅读博客、图书、WWDC 视频、官方文档、开源项目。多写就没什么好说了,没有写过几十万行代码是不能算熟悉一门语言的。多思考和讨论这个需要个人主动一些,遇到问题喜欢多问为什么,在多次重构和思考的过程中,我们就会慢慢积累出一类问题的 “最佳实践” 方式,成为自己宝贵的经验。

  丨Swift 最终肯定会替代Objective-C

  有一点不容怀疑:Swift 最终肯定会替代 Objective-C,成为主要的 iOS 开发语言。单从语言特性上来看,Swift 吸收了众多现代编程语言的优秀特性,例如类型推断(Type inference)、范型(Generic)、闭包(Closure)、命名空间(namespace),元组(tuple)等,整体语法上也更加简洁。所有 iOS 开发者都应该花时间学习这门全新的语言。

  但是,客观地说,Swift 当前的生态环境还不够成熟,这包括第三方开源库,文档和教程,甚至是苹果自己的编译器。我前不久才和一些同行们聊过这个话题,朋友晒出了 Github 上整理出来的会造成 Swift 编译 Crash 的列表,从上面可以看出,Swift 语言本身还有较长的路要走。

  用 Swift 来完成 App 还有一个不大不小的问题就是体积会比较大,因为 Swift 相关的库会直接打包进 App 中。我们曾经拿猿题库的 App 测试过,采用 Swift 和Objective-C 混合编写的方案后,应用体积会增加 10M,这对于公司来说还是比较大的困扰。我个人对于 Swift 的预期是:在 1、2 年内能够全面替代 Objective-C。但在近期,我个人还是会使用 Objective-C 来完成公司的项目。

  丨iOS 开发者应该如何自我提升?

  对于技术实力的提升,我比较推荐最近 tinyfool 写了一篇文章,叫《不要轻易在简历上写我热爱编程,我热爱学习》。我觉得你提的这个问题的根本还是在于:iOS 开发者到底热不热爱编程。在我看来,任何一件事情,如果你做到了热爱它,把它当作乐趣,那么在同行中做到出类拔萃应该是理所当然的。如果不热爱,我感觉做到会比较难。

  对于其它方面,比如管理及其它软能力的提升,我其实也没有很多经验。如果从我自己的经验出发,我自认为多写作对于提高表达沟通能力是有帮助的。

  做一个负责任的开发者

  那么现在说正题,如何成为负责任的开发者?首先要负责,对自己的项目负责。如果是自己新开的项目,要保证随时都能清晰的想到项目当中每个地方是怎么实现的,测试或者用户反馈了问题以后,能立马想到可能的错误原因。如果是接手的项目,就要尽快去了解主要的界面和功能是如何实现的。你只有先做好自己分内的事,才有机会去顾暇别人的事。

  1.保持一个良好的代码规范以及文件架构。

  2.每天要给自己做一个TodoList 和一个BugList,时刻保持自己是在有效率的工作,严重的需要时间修复的bug汇报上去,小bug自己记下来偷偷修复。

  3.有空时将排行榜上的应用下载排名靠前的应用,去欣赏并分析主流app的界面,功能实现,在拿到设计图时,去考虑界面的合理性,功能怎么实现最符合用户的操作习惯。

  4.要有一定的协调能力,交流能力,稍微了解一点后台知识以及前端知识。

  5.信念,一个不做初级iOS开发的信念。多去了解,不会被别人当小白,学多少都是自己的,至于在你去学习的时候,有人会说风言风语,这就是区别,他们活该初级,自己不会的东西,也看不惯别人去学习。所以,一定要有一个规划,按照自己正确的规划去学习,去成长,别原地踏步。

  在这里我还是要推荐下我自己建的iOS开发学习群:681503716(验证编号:大鲨),群里都是学ios开发的,如果你正在学习ios ,小编欢迎你加入(闲聊,广告,培训勿扰~),今天分享的这个案例已经上传到群文件,大家都是软件开发党,不定期分享干货(只有iOS软件开发相关的),包括我自己整理的一份2018最新的iOS进阶资料和高级开发教程

  丨深度学习API,了解iOS UI控件

  Objc阶段的学习只是带你入门,如果你想进阶,API和UI控件是必须需要学的。一门语言可能会有成千上百的API和UI控件。你不需要把他们全都记住,只需要记住一些常用的即可。

  例如:Objc中的UITableView的dataSouce和delegate;NSDictionary、NSArray相关的增删查改方法;JSON数组转换方法;文件操作方法等。

  UI控件的话,常用的有UIView、UITableView、UIScrollView、UIButton、UILable等。你要熟悉这些控件的属性和相关的操作方法。

  丨学习ios开发应由浅入深,循序渐进。

  掌握了初级框架就可以编写简单的ios程序了,包括简单的本地数据、图片、照片、音视频、地址簿、邮件、日程等的读写和显示。中级框架涉及面最广,包括所有类型框架,这里FOUNDATION、DATA、NET和TEST类又是基本的,涉及复杂数据类型、文件、数据库、各种网络连接、单元测试等,应尽量全面掌握,其它类型的框架可以根据兴趣或工作任务逐渐去学习或掌握。高级框架以图形、音视频内容为主,主要是提供了更低层和更灵活的硬件操作接口。仅在必要时再去深入学习即可。由此可见,一个初级ios开发者应掌握至少15个框架,一个中级ios开发者应掌握40~50个框架,一个高级ios开发者应掌握50~60个框架(至少包含10个高级框架)。

  总结

  简单总结来说,就是多读、多写、多思考、多讨论。多读主要包括:阅读博客、图书、WWDC 视频、官方文档、开源项目。多写就没什么好说了,没有写过几十万行代码是不能算熟悉一门语言的。多思考和讨论这个需要个人主动一些,遇到问题喜欢多问为什么,在多次重构和思考的过程中,我们就会慢慢积累出一类问题的 “最佳实践” 方式,成为自己宝贵的经验。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯社交用户体验设计

“从心出发”品牌企划-SNG五周年

1337
来自专栏非著名程序员

程序员进阶宝典

? 心净则明,心诚则灵 如果你想要一个月速成程序员,那么这篇文章不适合,如果你仅想要在IT圈“耍酷”,那你也不需要研读,如果你执着询问“退化”成为一名程序猿有...

2037
来自专栏VRPinea

忆往昔,谷歌I/O大会曾经的那些辉煌成就你真的了解吗?

3009
来自专栏python+iOS学习交流

一样的iOS开发程序员为什么有人4k有人40k?原因就在这里!

移动开发真正火起来其实就是最近这几年,iOS 开发技术因为发展也就才这么几年,所以值得做的事情还有很多,这就造成了每年苹果的 WWDC 都会推出一堆新的特性和 ...

1670
来自专栏人工智能头条

那个学Python的同龄人,也许已经抛弃了你

1665
来自专栏量化投资与机器学习

Python VS Matlab----给我一个理由先

最近好多人问我这个问题:究竟要学哪门语言比较好,是Matlab还是Python呢。所以今天我就两门语言做一个详细介绍,大家也可以根据自己的兴趣做出自己的选择。...

2.1K9
来自专栏Java学习网

兴趣与坚持:程序员从初级到中级10个秘诀

  在一封与TechRepublic会员交流的邮件当中,他提到了面向程序员的博客、文章及杂志分成两类:面向初学者类(“hello world”这种类型的教程)以...

2817
来自专栏安恒信息

世界图书日|看看你的书单还缺哪本书

“读史使人明智,读诗使人灵秀,数学使人周密,科学使人深刻,伦理学使人庄重,逻辑修辞使人善辩,凡有所学,皆成性格。 ——培根”

941
来自专栏Web行业观察

同样是程序员,为什么别人比你更优秀?

随着互联网时代的飞速发展,越来越多的人投身于软件开发行业,大家都称他们为程序员,或者码农。

773
来自专栏企鹅号快讯

执行效率太低又怎样?Python 照样火过 Java、C/C+

关键时刻,第一时间送达! 世界上有成百上千种编程语言,时代更迭下不断有新的语言产生和消亡,但 Java 的江湖地位始终无人撼动,长期霸占排行榜榜首。 但是近年来...

1920

扫码关注云+社区

领取腾讯云代金券