首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一样的iOS开发程序员为什么有人4k有人40k?原因就在这里!

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

原创
作者头像
原来是泽镜啊
修改2018-07-03 10:35:43
7690
修改2018-07-03 10:35:43
举报

前言

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

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

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:638302184,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!希望帮助开发者少走弯路。

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

四,深度学习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 视频、官方文档、开源项目。多写就没什么好说了,没有写过几十万行代码是不能算熟悉一门语言的。多思考和讨论这个需要个人主动一些,遇到问题喜欢多问为什么,在多次重构和思考的过程中,我们就会慢慢积累出一类问题的 “最佳实践” 方式,成为自己宝贵的经验。

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:638302184,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!希望帮助开发者少走弯路。

文章来源于网络。如有侵权,请联系小编删除。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档