https://mp.weixin.qq.com/s/cKuVFRPUnnScLM3y26mgIQ学 iOS 是不是 49 年入国军,哈哈我不知道,对于我来说我 14 年 7 买 mac air 自学入门,怎么的也是从 iOS7,xcode5 玩到了 iOS12,xcode10,也去了 BTA 正式岗位干了 2 年多吧,我没有精通是我自己的事情,如今我再次投入时间目的就是一个玩精通,精通 iOS 语言,底层,设计模式,结合跨平台框架 Flutter,可以解决快速开展业务,快速迭代。人生的 boss 自己选的,不能一直逃避,我就像好好和它战斗一次。这个选择每个人可以自己做主,不能一直活在网抑云时间吧。
对于新手,或者准备从事 iOS 开发的同学,一下是我送给你们的大礼包,希望能帮到你们。当然你有钱,可以请类似我这样的经验丰富的老手,全天候手把手教你,达到我目前水平半年足以,没有必要想我一样苦学。自信的人,有某些障碍的人,也许和我一样,自能学海无涯,苦作舟了。
这里有一篇关于 iOS 平台 Autolayout 的总结文档,和当时遇到疑惑一样,一直想找到完美的解决 iOS 适配问题。苹果从 15 年到 17 年也是不断更新 API,最后算是满意的实现 native 的布局。
https://sarunw.com/posts/history-of-auto-layout-constraints/那就是从 iOS9 开始的 Layout Anchors + UIStackview
为什么 iOS 有那么 constrians API,看到很多种写法,你是不是头晕,但是你需要知道本质,知道它们来来历时,你就很清晰了。我就想做到这样的清晰对于开发使用的工具。我的意思是苹果自己也是花了 3 年时间,用了不同的技术方案一步一步提升体验。但是你需要知道他是借鉴了什么工具和技术,iOS Auto Layout 开发秘籍这本书会告诉你,是美国大学开发了一种线性解决方案。因此对于 Flutter 上面,他们的 widget 布局绝对也是 autolayout 不用说,组件属性设置绝对和 iOS 一样,你会熟悉的不得了。你看到组件,生命周期肯定熟悉的不得了,都是一个套路。
所以,iOS 香不香,赚不赚钱,前途怎么样,我看到厉害的朋友有去澳大利亚移民了,有去微软,失意的也有去做 java 了。
等我把 flutter 跨平台熟练精通,基本是客户端可以告一段落,可以满足业务多变,需求频繁改动,nativ 开发慢的问题。后面有时间,三,五年我把 java 的 spring 全家桶学来用也不是不可能,androidsyudio,eclipse,vscode 都安装的有。我相信,你把 HTTP,tomcat,ngnix,https 源码三本书啃完,你就知道后端本质在写什么逻辑了,怎么和客户端打交道。在啃完 spring 源码,AOP 搞定,你就知道切片和事物,注解多么让人爽。然后各自框架就是解决某个特定问题,消息中间,数据库分布式,缓存,session 管理,权限,角色管理。
希望新手可以破除平台限制的思维,好比天下武功,学百家不如精通一门,有了武学根基,怎么就不能学其他武功呢?当初移动端很多是 Java 的同学转来做的
你说就业好,容易找工作,好跳槽,去大公司,工资高,学什么?抱歉,我常在想当初我高考和 985 有多少距离,现在去重考是否可以随便去 985 。有什么时候需要问自己,曾经自己付出了什么,如果没有付出,那么你准备从新付出多少。很多人智商高,优秀,从小的,到了好大学,找到好工作,也是一路顺利。而为什么很多人,读书,大学,毕业,工作,总是纠结不满意。希望反思自己。相信 v2xe 上潜水大佬很多,but 很多帖子都是恰流量,贩卖某些东西。
最值钱的是论文的文章,是一线的实践经验,而不是快手,抖音的视频。
iOS 目前是一个偏 UI 的活,但是我自我看来这点只占 40%的技术水平,你精通,吃透看到什么 APP 什么效果都可以做处理,一摸一样没有一点难度。但是不是完了这个效果就可以给你满分,前端的需求变更,运营活动才是让人头痛,所以大部分时间被写页面逻辑占据。大概 2 年时间,你全心投入原生可以玩的没有一点难度。要想精通,你去看招聘要求,基本是 3-5 年起,如果毕业 3-5 五年,个人根基不高,真的就是很浅的入门水平,因此工作越来越难找。这不如 3 年的前端,可以飞起的开发业务,反正业务的多,机会多,成长性价比必须高。
最后,兴趣,有么的兴趣,选什么自由,只希望你选择之后坚持下去。iOS 开发,确实对于现在的没有准备心里的人来说,不友好,拘束很大,产出比不高,深挖不了。对于认为程序员开发是吃青春饭,认为是高薪职业,认为发财职业。程序员好不好干,有没有前途。我不回答,我自己体会是科技最前沿,新的革命和效率提示工具。要做到出色和高级程序员,需要非常好的素质,自我学习能力。好比现在给人才分等级,A,B,C,D,E,我认为这就不是人才了。这就是游戏里面的高级兵种,和低级兵种而已。人才是创新,是一个 team 的合作,每个人找到合适的位置,好比大海上一艘船,你说海贼王 one piece 上面的船员,你说谁是人才?谁不是人才?你看 JAck 船上出来的各个都是巨头。这个和工作内容无关,岗位头衔无关,靠本事吃饭,而是和你的干同一件事情的水平有关系。所以本质上你选择什么语言,方向和你个人成就有没有关系呢,也许没有多少关系,和你做到哪一种优秀程度有关系。
所以,希望的回答可以帮助需要的人。