iOS 开发有什么国人写的比较好的书籍推荐?

2020-08-27 17:21:12 +08:00
 pythonee
12298 次点击
所在节点    iDev
65 条回复
fffang
2020-08-28 10:52:08 +08:00
@lujie2012 coredata 有什么特别好的场景使用吗,我做了五年了,都是用的 sqlite 。
lujie2012
2020-08-28 11:00:36 +08:00
@fffang Corodata 主要是的他们设计思想和结构,可以买 coredata 应用开发实践指南+core data 喵神那本书。我也是看了这两本明白 coredata 真正的含义。coredata 最大的缺陷是没有加密!!!!! 大部分项目采用 sqlite 是为了加密!本质 coredata 底层也是 sqlite,它好就是封装啊,你想想你手机相册 1 万多照片,官方 APP 很多应该是 coredata 来实现。会玩 coreata,肯定会玩 sqlite 。最好项目里面都用,用着用着就更熟练了。sqlite 做书版本管理和迁移更方便,直接 sql 操作数据库。都学都学,都用起来,我的建议。
maxmax
2020-08-28 11:34:58 +08:00
这都什么年代了,还有人准备深入发展 iOS ?要搞大前端了哦,要不然被小年轻吊着打
maxmax
2020-08-28 11:38:18 +08:00
@lujie2012 重点你 iOS 你能深入到什么程度? 除非你进头部企业,最好是外企。国内的企业呵呵
ifxo
2020-08-28 11:38:46 +08:00
随便一本就可以,水平都差不多,师傅领进门
Leonard
2020-08-28 14:23:23 +08:00
@lujie2012 你说的大部分没毛病,想深入学,往底层学,学精学通,iOS 天花板自然高,但市面上常见的各种编程语言又何尝不是如此,学到这种程度付出的时间精力必然不会少,你把这种精神放到别的语言上一样能达到高水准,相较起来 iOS 的性价比就显得不高了(当然你底层原理都搞通了转方向也快)。我也是做 iOS 的,iOS 有一个点非常致命,就是基本绑在苹果公司身上( swift 所谓的多平台现在也只是到玩玩的阶段),路有点窄。
lewis89
2020-08-28 16:21:49 +08:00
@lujie2012 #20
@Leonard #26

屠龙技罢了,你学了 TCP 七层有个屁用,你又不是去 Google 搞 BBR,话说在协议栈锤炼的程序员有几个,行业分工决定了 99%的人 在封装好的黑盒上做应用,1%的人去从事基础技术体系的开发。

35 岁的问题从来不是人的问题,而是 IT 技术行业本身是一个不断降低自我门槛的行业,因为 IT 技术它是用来服务社会的,不是给你去搞研究跟底层开发的行业,你说我写个日常的记账软件,非得从你调度算法+TCP 协议栈开始搞起,那特么还搞个屁的开发。
lewis89
2020-08-28 16:33:19 +08:00
@Leonard #26

我也一直在学习前端跟 IOS,作为未来独立开发者的技术储备,但我从来不去研究背后深入的技术原理,CSAPP 包括操作系统相关的书我至少读了 3 遍,但这些跟 IOS 开发基本上半毛钱关系都没有,因为 APP 跟操作系统原理至少离了十万八千里的距离,另外就是这些底层知识根本用不上,大部分独立开发都是业务驱动的,有钱才有技术研究的需求,除了音频 视频等特殊算法场景,大部分技术方面的需求都是业务驱动的 UI 交互跟业务计算。

我本身主业是后端,后端的技术体系,我也一直在补充,但一个很显然易见的问题就是大部分微服务技术体系的工具 根本就没有应用到公司业务上的场景,因为业务体量就摆在那里,又不是所有的互联网行业的产品都是高频应用,而且大部分公司所应用的技术本身就很简单。35 岁的问题从来都不是技术的问题,而是年纪大了不能加班的性价比问题,我承认有些技术岗位确实需要资深的技术能力跟技术积累,但大部分程序员应该要扪心自问一下,自己是否处在那个岗位上,或者有能力找到这样的岗位或者公司,如果是业务导向的软件开发程序员应该早点给自己找条后路,把技术当做一个资产来看待,而不是想着自己锻造一把技术上的屠龙刀,但最后却发现市面上的龙都让大厂的人给杀了。
lujie2012
2020-08-28 16:51:41 +08:00
不争辩,我之前想说明一般程序员和高阶程序员解决问题思路问题。学习 7 层协议,不是造轮子,是知道水的源头。平台语言个有喜爱,萝卜白菜,兴趣是最好的老师,好奇心是最好的动力。小程序,Weex,React 不是不会写,API 文档看一下,组件模块用一样,市面上什么样的 APP 搞不定?但是性能优化,高级特性,没有足够功力你能搞定?前端目前大量时间涉及 UI 开发,后端需要算法,如果不自己去补充知识,那么所谓大前端天花板当然低。阿里前端高 P 多少,当然是后端高 P 多啊。But,不管那个方向,最重要是成为专家。成为专家只看到自己 SKD 范围内的知识肯不够,前端不能看后端知识?我把 tomact,ngnix,spring 源码都看过,当然也忘记,但是我就是想知道数据通道怎么建立,TCP 怎么维护。google 牛皮就是发现目前协议不行,自己该协议,加密算法,HTTP2 通信,消息协议,TCP 协议,它敢于创新和实践。目前我关注技术,不谈业务和赚钱,想在互联网,信息技术发展,只会应用技术是大部分人,but 要创新成为专家要学好多哦。
lujie2012
2020-08-28 17:14:19 +08:00
再举个例子吧,Rx 这个东西,java 有 RxJava JS 有 Rxjs,iOS 有 Rxswift 现在各个平台都是把对方好的设计和轮子拿过来,编程思想和设计思想是一样的。但是因为编程语言和平台业务特性,没有机会接触更好的东西。那么就需要突破官方提供的限制,用编程思想来设计和架构改造自己的项目。如果只安于会基本使用语言,不精通语言,了解背后的逻辑,那么永远是进入不了程序员门的。搬砖是因为洪流,需要创造很多东西,所以培训班培训一下就可以干活,拿高薪。但是这不是真正高薪的原因,本质是技术结合业务,最后带来发展。有苹果在,方向不会缺乏市场和创新。我个人计划是学习英语+开发,在成为高级开发的同时,英语水平好,视野更好,东南亚,海外市场不是没有机会。当然,在目前巨头的环境下,你自己单干,那肯定一个浪花没了。
foo123
2020-08-28 17:41:33 +08:00
@lujie2012 别丢人现眼了,说了一大堆还不是说的计算机基础课程么,iOS 客户端岗位就是垃圾,没应用场景,你能学会?也不知道你在哪工作,能力要是没到 P7 的话就闭嘴吧
qq2511296
2020-08-28 18:01:03 +08:00
@foo123 你咋那么能说话呢,我看 @lujie2012 人家的意思就是说要多学习吧。
foo123
2020-08-28 18:12:00 +08:00
@qq2511296 iOS 有 jb 值得学习的,还一本正经欺骗小朋友
Carmine
2020-08-28 18:28:13 +08:00
楼上大佬好多,我要辞职去卖房子了。~
neimengwuyanzu
2020-08-28 18:28:37 +08:00
@maxmax 看大厂面经 好像还是抓着优化和底层问吧?我是搞 Android 的。。。。
lujie2012
2020-08-28 21:31:01 +08:00
P7 也很多水的,我主要意思是如何进阶 iOS,题目是 iOS,我分享这些,我个人觉得可以提升作者的 iOS 开发水平。我认识的 p6 做的自我作品比很多高 P 还多,自己的产品很牛。不管做什么语言开发,按照我的方式结合自己的工具和语言去努力,一定可以更高水平。iOS 本身我就说了,只玩 HTTP + UI 编程,天花板很低,但是它是一个完备的系统,知识足够多,你就可以玩很多,天花板更高。
写来去就是 AFNetwork/Alamofire + masnory/Snpit + uisatckview + auotlayout 能带来什么结果呢?
ArJun
2020-08-28 22:45:01 +08:00
@lujie2012 现在 APP 成本过高,中小公司基本都不重视这一块了,而且目前同样三年的经验的后端前端移动端,IOS 可能属于比较没有地位的了; 看你说的会写框架就不行了?一般公司本来就是面向业务编程,能解决业务问题,移动端一般公司哪管你那么多技术问题;还有一个更严重的问题,就是一般去面试 IOS 的公司面试造轮船的风气实在太重了,大部分进去不就是个 UI 仔嘛,认清现实吧,本人面过其他技术,比 ios 好的多
lujie2012
2020-08-29 10:01:55 +08:00
@ArJun 每个公司开发 APP 都想造航母,现在的确这样。就是大部分进去变成 UI 仔,所以我才建议如果从事 iOS 或者移动端开发,一定要自我学习,自我突破限制。我之前同事一起做 iOS 端,后面转 JAVA 还升级了。But 但是我始终认为我们项目的技术解决方案和技术不够强,不是没有业务,业务好的很,但是就是感觉移动端开发节奏和技术体系太碎片,每个人一个模块,最后重复劳动,效率还不高。对于这样的现在,肯定需要提升自我去解决,而不是等待机会。因此业求变,产生了 Weex,Reactive,flutter 这样快速解决两端,热部署等技术,解放 UI 仔。因此不思进取,大部分 iOS 经过几年后,水平明显没有提升,成长有限,不如其他 Java,其他岗位同龄技术深度。因此我就给出了上面的建议。
luneric
2020-08-29 17:00:17 +08:00
@lujie2012 赞同 可以加好友一起学习啊
lujie2012
2020-08-29 17:31:23 +08:00
@luneric 因为之前犯过大部分 iOS 开发者犯过的错,没有长进了。我决心重新在 iOS 方向深入认真的投入一次,看自己可以扎入的有多深。iOS 的书籍少的可怜,我找不了全部书籍网站和书城,买的都是国外出版的,iOS 动画核心这边书 国内开发者总结不错,iOS 逆向这本书,写的不错。我大概推荐一下书籍:switf 进阶,corodata 应用开发与实践,corodata (喵神),精通 Git,精通正则比导师,HTTPS 国人写的,swifter tips2,autolayout 适配(比较老,但是唯一一本将约束布局的书籍)。另外需要补充的书籍,可以看,tomacta 源码,nignix 源码关于 HTTP 协议后端相关的东西。很多东西,写不成书,因为本身没有多少内容,有些国外有,但是 400 块,没有翻译版本。例如关于布局,从原始,frame-》 constriants-》 archor-》到 stackView 其实苹果也是在不断的提供解决方案,目前最好的原始布局就是 stackview+archor+constriant 但是没有这一一把本书写,我也是翻边了官方文档,在各自项目中看到蛛丝马迹去思考对比。老话长谈,最好的资料是苹果官方开发者文档,官方的 wwdc session 。为了更深入理解苹果产品,我把历年的 WWDC 看到 2007 年 iOS6,了解各个版本特性和发展。我还把产品发布会看到了 2017 年发布 iphoneX 。 以为没有关注,现在才明白要全心投入。哈哈,学到了很多苹果产品使用高级用法,体验了好多产品介绍。这个是我的 https://github.com/luffyjie

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/701970

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX