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

2020-08-27 17:21:12 +08:00
 pythonee
12704 次点击
所在节点    iDev
65 条回复
lujie2012
2020-08-29 17:38:07 +08:00
真心经验分享,中文书籍的东西看到 30%的技术,英文书籍的东西看到 50% 还有 50%在官方英文文档,各位一定要学好英语,在官方找一手资料和解决方案。这样就慢慢可以成为 contribute,为社区贡献代码和解决方案,成为开拓者了。不然永远是旁观者,玩技术,就希望玩的极致对吧,好比玩音乐,玩音乐的的境界可以看 Vista 2002 年演唱会。
经过 10 月,我开发的项目上线了,可以关注一波,https://apps.apple.com/cn/app/id1492659998 这是我从零到无使用 swift 开发的项目,当然很多不足,我自己还不满意。but 感谢公司让我有机会第二次在 iOS 端投入时间,还感谢公司提供的英语学习网站,https://english-bell.com.tw/default.aspx 我大概充了 1 万 8 坚持每天 25 分钟的一节课学习 DME,现在学习了 300 天,学习英语推荐:购买朗文当代+DLL ebook + English bell 使用 SKype 上课,菲律宾老师 24 小时可以学习。
lujie2012
2020-08-29 17:55:41 +08:00
补充一本书籍 LLVM,sqlite 数据库淘宝有卖。有时间话多写了这些东西,V2ex 也不能删,有办法删除可以告诉我?
感谢公司提供的机会,10 个月看了 10 多自己买的本书,还以为业务补充了好多知识,有坚持不下去的时候,但是就想把项目上线。最后克服了困难,回过头有收获和总结,我现在爱上了看技术书籍,拨的越细越好,也想去看算法了。类似写论文一样,没有秘密,直接分析到底。目前在模块化接入 Flutter,native 开发两端速度不一样,某些 H5 做,我们就很闲了。现在的目标差不多就是把 Flutter 玩转,基本是二次从头学习 iOS 花了 1 年时间告一段落。
iOS 开发者一定要关注 boxue 网站,可以的话买个终身会员,下载博主的 app,看看他的项目架构,里面的视频学起来。
不讨论, 看 Flutter 文档了。iOS 有没有人要,肯定要,前提你真正的热爱写代码,可以分析问题,解决问题,了解编程本质,精通语言,熟练前前后后一个 APP 的全部 API 和细节实现。好比相机,你只会 git 上找一个高分 Star 用用就好是不行的,那么你永远不能体会苹果原始 API 设计思路,做不到随心所欲的使用。希望都大家有时间去琢磨,有成长,发布发财,是人生的事情,出身家庭背景很多因素。但是想做一个优秀的程序员,没有偷懒可以做到的。
luneric
2020-08-30 13:24:00 +08:00
@lujie2012 好样的 无私的分享这么多经验 有你这样的思路不愁变不成优秀的程序员
zhangferry
2020-08-30 20:12:17 +08:00
@foo123 口气这么大,请问你 p 几了?任何技术都有用武之地,但绝不是用来装逼的
foo123
2020-08-31 07:34:14 +08:00
@zhangferry 啥 B
zhangferry
2020-08-31 10:08:44 +08:00
@lujie2012 能否留个联系方式交流下,微信,邮箱都可
shoujiaxin
2020-08-31 13:16:16 +08:00
@foo123 岗位垃圾您还搁这找 iOS 远程兼职呢?真就狠起来连自己都骂,这么厉害不换个岗位?


@Livid 这人在楼上人身攻击,看历史回复,老键盘侠了
lujie2012
2020-08-31 20:08:36 +08:00
@zhangferry https://github.com/luffyjie 有什么问题可以给我发邮件,WX base64: dWlzdGFja3ZpZXc 。看了博客,我的项目是 swift+rxswift 架构,有机会一起交流一下。
我最近在这里发言是 018-06-15 12:00:43 +08:00 几乎 2 年了都是不登录的,不发言。。。。最新是项目忙完一个阶段闲了。。。

V2ex 比较尴尬是,发的帖子不能删除,有办法能把 V2EX 上全部的帖子和留言删除了吗?????
Livid
2020-09-01 00:15:15 +08:00
@shoujiaxin 谢谢举报。那个账号 foo123 已经被彻底 ban 。
zhangferry
2020-09-01 08:17:44 +08:00
@lujie2012 为啥要删除啊,其实写的挺好的,能看出来楼主是个热爱技术的人,哈哈。另外,这个 base64 我咋解析不出来啊🤣,文本有误,是漏了几个字符吗
zhangferry
2020-09-01 08:25:29 +08:00
@lujie2012 要不你加我吧,zoogfly
20151024
2020-09-03 10:15:03 +08:00
一个人的职业发展,要靠奋斗,也要考虑到历史的进程;
iOS 开心确实不行了,除非你有信心成为 iOSer 中的佼佼者,但大部分人都是众人,放过自己,学点前端或者后端吧;
lujie2012
2020-09-04 23:14:13 +08:00
感谢 @zhangferry 的整理

一下是我分享的 iOS 书籍列表:每一本都是我自己买了的,而且看完,每本书不同时候去看体会不一样,话费时间不一样
objective-C
Objective-C 程序设计
Objective-C 高级编程
Effective Objective-C 2.0
Swift 权威指南 Swifter 100 个 S
wift2 开发必备 Tip
Swift 进阶
Swift 常用算法
函数式 Swift
iOS iOS 数据库应用高级编程
iOS 动画核心技术与案例实战
iOS Auto Layout 开发秘籍
高性能 iOS 应用开发
iOS 测试指南
iOS 应用逆向工程
LLVM COOKBOOK 中文版
AV Foundation 开发秘籍
Core Data 应用开发实践指南
Core Data
其他计算机书籍
SQLITE 权威指南
图解数据结构与算法
数据结构与算法经典问题解析( Java 语言描述)
数据结构教程
Java 9 编程参考官方大全
Java 并发编程实战
深入理解 Java 虚拟机
深入理解 Nginx
Tomcat 内核设计剖析
C Primer Plus 中文版
音视频开发进阶指南
zhangferry
2020-09-04 23:29:12 +08:00
@lujie2012 我刚打开 v2ex,看你已经写上了,哈哈😄
lujie2012
2020-09-05 00:03:28 +08:00
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 船上出来的各个都是巨头。这个和工作内容无关,岗位头衔无关,靠本事吃饭,而是和你的干同一件事情的水平有关系。所以本质上你选择什么语言,方向和你个人成就有没有关系呢,也许没有多少关系,和你做到哪一种优秀程度有关系。
所以,希望的回答可以帮助需要的人。
skyerStar
2020-09-06 22:08:30 +08:00
@lujie2012 写的挺好. 分享自己的思考和经验, 感谢
lujie2012
2020-09-14 23:19:04 +08:00
最近有买了基本是补充一些:
1.HTTP 权威指南,主要想看关于 http 缓存实现机制部分
2.人件 英文版本,这是我买的第二部纯英文书籍,现在能买英文就买英文版本,可以更清晰理解,还能提高阅读
3.flutter 入门到精通 2
4.图解数据结构与算法
5.企业应用架构模式
6.数学简史
7.计算机的构造和解释
8.设计模式,可服用面向对象的软件基础
9 。新东方,世界名校
10.TCP/IP 详解 1

有三个小伙伴加我微信,今晚上还给一个和我曾经一样迷茫对 iOS 遇到瓶颈的小伙免费 1 小时微信鼓励和指导。小伙子一样,想再次投入一次 iOS 的开发,提高自己。如果你有 iOS 问题,可以加我微信,有缘有时间可以帮你解答,WX:uistackview 除了 git 没有任何社交媒介,all destroied,这里是算留下脚印比较多的地方。

学习 iOS 本质不能单单学习 iOS 的开发,而是成为程序员思维,思考一个系统和架构,建立牢固的技术基础,所以需要补充很多自己不足的地方。

最近我把 flutter 官方网站文档看完了,还把 25 个视频看完了,有点迷糊,最后周末在书城把市面上全部 8 本 flutter 书翻完了,看完了两本。我的体会是非常开心的,书籍把我不清楚的细节再次讲解。我成为了 flutter 粉丝,我认为 flutter 是移动端的未来,绝对的战斗力,各位移动端小伙伴一定要学习 flutter 开发。dart 语言我也基本是熟悉会使用,和 swift,java 一样很多一样的,就是有些特色函数和方法例如》。我也按照下载了很多 demo,官方的 demo 下载跑起来了。
目前我在集成模块到现有客户端,打算共享当前的 native 网络层和一些组件。stateless 和 stateful 控件通过看书也目标了,各自现有组件和布局基本是清楚咯。我自己的项目和新的项目我一定会采用 flutter 来编写。如果我把模块化集成解决了,我也会使用我现在的网络架构模块,业务用 flutter 写,目前在实践中。

flutter 的生态和工具,以及实现方案,googole 的支持,文档,我觉得真是模范!不是简单的的学习一直 ui 实现,而是学一套解决方案,更可以期待 dart 将来成为服务器,前端的开发语言。object-c 真的是古董语言了,各位 coder 一定要学习现代化的语言了,比如 swift,dart,不如很多思想无法提高。java 算是中年语言了,如果一门语言不支持范闲,closer,高阶函数,协议,那真是无法体会很多乐趣。

周二晚上发布会肯定要看啊!我都把历史的发布会看到 2012 年了,已经爱上了,体会到了其中的乐趣!肯定是看英文版本,学习的机会。

等我把 flutter 学习完,用到溜溜的,也许弄一个微信公众账户,分享一下自己如果度过这个迷茫到提示自我的阶段,以及学习经历和每一本书的体会和用法,记录一下自己,可以用自己的实践和真实记录帮助需要的 iOS coder,博客要维护和搭建麻烦。
lujie2012
2020-09-16 11:12:24 +08:00
在朋友的鼓励下,我建立自己这个时期的学习笔记,也许等我度过这个时间之后,不会这样碎碎念了,没有博客,我只好用 WX 公众账户来记录了,这些书籍使用英语学习资料我在 [英语及 iOS 移动端编程学习笔记] 刚刚新建的 wx 公众账户整理,方便需要的同学查找。
EggmanQ
2020-09-23 20:22:48 +08:00
看完回复下来有种 iOS 又有人要的感觉了
NonClockworkChen
2020-10-06 15:43:30 +08:00
@EggmanQ 幸存者偏差罢了。

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

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

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

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

© 2021 V2EX