Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >浅谈iOS架构的技能栈

浅谈iOS架构的技能栈

作者头像
筑梦师winston
发布于 2018-05-10 02:45:28
发布于 2018-05-10 02:45:28
2.4K0
举报

前言

这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程.

个人学习方法分享 iOS开发学习路线 浅谈iOS进阶路线

代码语言:javascript
AI代码解释
复制
本文阅读建议
1.一定要辩证的看待本文.
2.本文仅代表个人片面观点,如有不同观点,还往及时指出.
3.本文只阐述学习路线和学习当中的重点问题.需要读者自己使用百度进行拓展学习.
4.本文所表达观点并不是最终观点,还会更新,因为本人还在学习过程中,有什么遗漏或错误还望各位指出.
5.觉得哪里不妥请在评论留下建议~
6.觉得还行的话就点个小心心鼓励下我吧~

代码语言:javascript
AI代码解释
复制
目录
1.技能栈路线
2.iOS架构说
3.大、中、小公司的区别
4.架构师思想

为什么我又会开一篇文章,而且又是大致一样的标题,因为我觉得这是不同层面的问题,不同层面的文章,上一篇可以说是我掌握的一些知识的分享,而这篇章完全是在阅读了APP架构师实践指南这本书有感而发的.

上篇文章只是单纯自己想要提升自己的一个路线总结,而当我看到这本书以后,它彻底改变了我对iOS开发的看法,我突然发现有很多我本该掌握必备的技术栈,我并不会,甚至很是陌生,深感自己还有许多东西要进行学习.

这篇文章单纯的技术交流篇,本人深感自己水平尚且不够,还需长时间的努力学习,希望本文可以对各个iOS开发工程师有所帮助,迅速找到自己的定位和不足,及时提升自己.


推荐书籍

本文推荐书籍,均参考于APP架构师实践指南一文.

代码语言:javascript
AI代码解释
复制
架构之美
人月神话
精益创业实战
架构师技能矩阵
软件架构设计
Swifter:100个Swift开发必备Tip
Java8新特性
Java动态代理机制分析及扩展

技能栈路线

语言语法 Objective-C Swift 工具使用 IDE 编译调试 版本管理 产品设计 SDK使用 常用模块 基础组件 常用业务模块 编译打包 版本适配 第三方SDK 网络库加密 安全逆向 逆向分析 安全测试 安全建议 混淆签名 加固加壳 安全编码 性能优化 硬件性能 UI和CPU 内存性能 网络性能 包Size 启动速度 代码优化 架构和重构 组件化和模块化 UML基本功 设计模式 接口设计 架构模式选型 重构 质量和稳定 质量稳定性指标 CI和代码监控 Crash 测试 兼容性测试 自动化测试 性能安全测试 A/B Testing 代码覆盖率

上述架构路线从书上整理下来,方便各位查阅学习.

为了不对原书作者造成侵权,每个技能栈我都将以自己的理解进行描述,强烈建议各位读者购买这本APP架构师实践指南明确自己的定位,提升自己的思想,感受不一样的iOS开发观念.


自我定位

其实并不是因为看了APP架构师这本书以后,你就成为一个iOS架构师了,而是重点去学习它的观念,一个架构的观念.

本书第一章就可以确认自己定位,而仅仅只有7页.就可以让我受益匪浅,直接看清自己的不足,和所不会的技能栈.


基础语法

如果你只会一门编程语言,无论多么精通,仍然显得不够优秀

确实,即便你只精通一门编程语言,也要进行各种语言的了解,不能因为自己不从事相关的工作,就不进行了解学习,干坐井底之蛙.

例如Swift 和Java的区别和新特性,即便市面上普遍都是OC,但你至少要做到,和别人提及Swift语言,熟悉不陌生.

不同的语言虽然语法不同,但是其逻辑思想是通用的,也就是说,学会一门语言,再学习另一门语言就比较容易.从而快速提升自己.

关键词:编程范式,反射、注解、泛型


APP开发工具系列

  • 编译工具
  • 编译调试
  • 版本管理

产品设计

  • 生命周期
  • UI设计
  • 存储和网络

常用模块

常用模块则是平常在快速搭建和开发App当中,会调用一些自己或别人历史的积累和经验总结而成的第三方库或者工具库.

关键词:图片库,网络库,启动引导模块,登录注册模块,运营统计模块, 编译打包,版本适配.

组件化、模块化、插件化

模块:强调职责,可实现的单元,其核心是内聚和分离

组件:也称构件,强调复用.其依赖性比较高.

可以百度进行学习iOS开发 组件化,iOS开发 模块化.

插件化则是另一种实现方式,其三种方式目的均是为了实现重用和解耦,而插件化则是更注重增量满足其目的.

设计模式、接口设计、架构模式

设计模式是指,在实现业务逻辑时,代码逻辑的目标和实现模式,例如:MVP,MVVM,MVC等.

接口设计的概念却是主要体现在封装的概念上,一个强大的库,其封装的接口越灵活,越成熟.

架构模式本人尚未参透,理解当中,还希望各位移步百度进行学习.

这三点,可谓是架构的重中之重,一个项目代码是否高效,是否成熟,都和这三个有着密不可分的关系.

推荐书籍:

代码语言:javascript
AI代码解释
复制
设计模式精解-GOF23种设计模式机械
设计模式:可复用面向对象软件的基础
大话设计模式

重构

重构分为两种:代码重构和架构重构,大家可以参考重构:改善既有代码的设计进行学习.


代码质量、性能优化、安全逆向

目前个人还在学习当中,就不在此为各位同行们班门弄斧,推荐作者书中推荐的一些好的书籍给大家进行学习.

推荐书籍:

代码语言:javascript
AI代码解释
复制
iOS测试指南
大话App测试2.0
FaceBook iOS启动时优化
25 iOS App Performance Tips & Tricks.
逆向工程核心原理
iOS应用安全工方实战
iOS应用逆向工程
iOS安全攻防(二十三):Objective-C代码混淆
iOS签名原理

iOS架构说

既然说到iOS开发架构,不得不再次提及Casa大的文章iOS架构谈.

这篇文章属实说,对我个人收益很大,他让我养成了良好的代码习惯,和架构目录,在不同阶段看都能在该文章学到不一样的知识.

iOS架构,说远不远,有些iOS开发工程师,包括外包,产品,可能每天的任务都是一样,经理提出需求->完成需求.但小型公司,要求不严,需要极速开发App的那种甚至根本不会注重什么开发细节.

即便你学习iOS架构,也在当前的工作没有用武之地,也正如大家经常说的"学他干嘛,工作中又用不到".

架构是一个成熟的概念,是每一个开发工程师都可以进行学习,提升自己的一条路径,我不知道怎么说,怎么形容,会让那些觉得无所谓的同僚们进行学习.

我之前并没有怎么写过文章,总觉得怎么写都不能同时兼顾努力学习的程序员和程序员劝退师,总觉得和那些人格格不入,又无法改变他们的观点,索性,还是尽自己努力,帮一些努力学习的程序员,共同进步吧.


大、中、小型公司的区别

你会发现,随着你就业的公司规模变化,你进入的公司越大越知名,其公司内部的规范,要求,架构都会越来越成熟,逻辑性更明确,业务逻辑针对性更强.

其开发周期固定,效率和业务产出也都各不相同,但自己是否能够真正适应其本身的工作强度,值得令人深思.

大公司的开发模式,和其内部的代码文化都是能够让程序员快速成长不可或缺的一部分.

就比如说我,让我现在进入一家大公司就业,我可能完全是个小白,什么是工程化,什么是加密,分布式存储又是什么,异步处理高并发等等.

大型公司的架构模式,组件化,模块化,团队开发模式,迭代策略,一直都是我想学习的东西,所以我要努力学习,尽量让自己配的上可以在大公司工作的机会.

如果自己不努力,即便这个机会摆在你的面前,恰巧你又面试进了大公司,你都会因为实力不足失去这份工作.

不要安于现状,根本不会有上面的恰巧,每一个面试进BAT大公司的人都不是碰巧面试进去,而是精心准备的必然结果.

有机会,我一定要去大公司工作进行学习.


架构师思想

加入过一些群,交流过想法,很多人都调侃自己是码农,另一个便是架构师的角色,我个人觉得从码农转变为架构师,就是从用语言到理解语言、拓展语言的一个思想转变.

如果你只是单纯的使用语言完成业务需求,只思考自己的业务栈,那便是码农.但如果你去思考,怎么用,为什么用,怎么组合更好,那便是架构师思想了.以整个项目的开发观念去看待自己个人的业务逻辑如何实现,怎么实现更高效,那么你就正在向架构师转变.

很多人都说过我,想的真多,你这都是虚的.你终究是码农.我不予评论,我心里只想默默努力,提升自己的水平,完成自己的转换过程.

你是否有想过,你到底是在开发一款应用,还是在像一名流水线员工搬运代码,完成绩效?


总结

本文是读APP架构师一书有感而发,其本意希望各位同行的iOS开发工程师,一起学习共同进步.如果有什么错误,还请及时指出,我会及时修改.谢谢

结束语

如果您对这篇文章有什么意见或者建议,请评论与我讨论.

如果您觉得还不错的话~可以点个喜欢鼓励我哦.

如果您想和我一起学习,请毫不吝啬的私信我吧~

介个是我的个人博客,欢迎参观哦~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.04.26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
全栈开发学习笔记(持续更新)
前言 这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程. 个人学习方法分享 2017年计算机系书单分享 2018年计算机系书单分享 本文阅读建议 1.一定要辩证的看待本文. 2.本文主要记录自己在总结iOS开发各个细节以后,投入到全栈的学习历程. 3.觉得哪里不妥请在评论留下建议~ 4.觉得还行的话就点个小心心鼓励下我吧~ ---- 目录 1.全栈思想 2.学习方法浅谈 3.前端开发概述 4.后端开发概述
筑梦师winston
2018/05/10
9600
浅谈计算机基础的重要性
前言 这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程. 本文阅读建议 1.一定要辩证的看待本文. 2.本文主要阐述了自己在学习计算机基础后的感想. 3.觉得哪里不妥请在评论留下建议~ 4.觉得还行的话就点个小心心鼓励下我吧~ ---- 编程人员的拉锯战 程序员作为新时代的高收入、高回报的工作,一直是大部分毕业生以及转业人员的首要选择,当然这其中也有培训机构的功劳。 随着选择程序员行业的人越来越
筑梦师winston
2018/06/22
8670
UDN架构: 颠覆互联架构的创想
没有创新就没有进步,在热火的大数据时代,程序员需要的是稳妥,以不变应万变,以简单迎接复杂,用共性创造多样性。让架构变成共享,让架构形成组装。
开发者技术前线
2020/11/23
7370
UDN架构: 颠覆互联架构的创想
iOS开发学习路线
这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程.
筑梦师winston
2018/05/10
2.6K0
一封来自大牛的招聘感悟: iOS开发人群到底怎么了?
我也年轻过,我首先非常尊重每一个不远前来面试的每一个准小伙伴.我代码或者项目上的任何问题,都不会带进面试间!
iOSSir
2019/01/11
6661
浅谈iOS进阶路线
前言 这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程. 个人学习方法分享 iOS开发学习路线 本文阅读建议 1.一定要辩证的看待本文. 2.本文仅代表个人片面观点,如有不同观点,还往及时指出. 3.本文只阐述学习路线和学习当中的重点问题.需要读者自己使用百度进行拓展学习. 4.本文所表达观点并不是最终观点,还会更新,因为本人还在学习过程中,有什么遗漏或错误还望各位指出. 5.觉得哪里不妥请在评论留下建议~
筑梦师winston
2018/05/10
2.3K0
成为一个好的iOS架构师
架构模式的出现时为了管理复杂的应用程序,这样可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。我们经常说的MVC架构、MVVM架构属于此类。
sweet说好的幸福
2020/12/23
2.5K0
成为一个好的iOS架构师
面试大厂屡屡被拒,感觉五年青春打了水漂!现在Android开发到底需要会些什么…
一位求职了一个月的老朋友发牢骚:“明明那么多年的工作经验,自己也做了几个项目,但是面试总是不顺利。新技术觉得学不动,原技术虽然能熟练使用,但是都一知半解。工作中游刃有余,一遇面试就坑坑巴巴,HR问什么都说不明白,哎!”
Android技术干货分享
2021/04/15
9250
面试大厂屡屡被拒,感觉五年青春打了水漂!现在Android开发到底需要会些什么…
初生牛犊不怕虎!开发一年的安卓实习生在大厂横冲直撞后,手握多份offer特此分享!
文章为作者的面试经验,除此以外,作者撰写和收集了7个大类的知识点,可以滑到文末点击获取学习。
Android技术干货分享
2021/02/06
5080
初生牛犊不怕虎!开发一年的安卓实习生在大厂横冲直撞后,手握多份offer特此分享!
云架构师进阶攻略(2)-从操作系统到OpenStack
在一头扎进云计算的汪洋大海之前,我们应该先有一个全貌的了解,有人说了解一个知识的起点,就是了解他的历史,也就是知道他是如何一步一步到今天的,这样如此庞大的一个体系,其实是逐步加进来的,这样的知识体系对我们来说,就不是一个冷冰冰的知识网,而是一个有血有肉的人,我们只要沿着演进的线索,一步一步摸清楚他的脾气就可以了。
物流IT圈
2019/07/16
8400
云架构师进阶攻略(2)-从操作系统到OpenStack
Java程序员职业发展路径图,如何才能完成从新手码农到架构师的转变
从新手码农到高级架构师,要经过几步?要多努力,才能成为为人倚重的技术专家?本文将为你带来一张程序员发展路径图,但你需要知道的是,天下没有普适的道理,具体问题还需具体分析,实践才能出真知。
慕容千语
2019/06/13
1.5K0
如何做一个优雅的程序员如何构建适合自己的学习体系
前言 这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程 本文阅读建议 1.一定要辩证的看待本文. 2.在看完本文后总结适合自己的学习体系以及学习方法. 3.觉得哪里不妥请在评论留下建议~ 4.觉得还行的话就点个小心心鼓励下我吧~ ---- 目录 1.是否适合做程序员 2.建立个人目标 3.学习途径 4.如何构建适合自己的学习体系 5.学习环境 6.学习方法 7.学习工具 ---- 现状 每次我曾经的同学打电话向我询问
筑梦师winston
2018/05/10
1K0
深入浅出学习后端开发(PHP篇)
这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程.
筑梦师winston
2018/05/10
1.5K0
全栈开发自学日志(持续更新)
前言 这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程. 个人学习方法分享 2017年计算机系书单分享 2018年计算机系书单分享 本文阅读建议 1.一定要辩证的看待本文. 2.本文主要记录自己每天的自学路线、进度、想法. 3.本文仅提供给和本人一样正在进行自学前端、后端、全栈的同学交流使用,并不代表绝对观点. 4.有什么好的问题和方法尽请留言~ 5.觉得哪里不妥请在评论留下建议~ 6.觉得还行的话就点个小
筑梦师winston
2018/05/10
1K0
程序员最大的底气来自于自身的技术,不想被淘汰就一起来进阶 Android吧!
工作 2-3 年之后,你会发现自己会迷茫,这种状态就是好像现在的工作我好像都会做了,好像没有意思了。这种迷茫源自你对现有的阶段的认识不够全面,我自认为我也在这个一阶段,很多时候觉得 Android 就那么回事。总是会有觉得 Android 穷途末路的意思。如果你真的对这个行业没有了兴致了的话,那确实不是我这么一段话能够改变你的想法的。但是我个人相信一句话:
Android技术干货分享
2020/11/24
4870
程序员最大的底气来自于自身的技术,不想被淘汰就一起来进阶 Android吧!
架构师成长全景学习路线:从程序员到技术专家的进阶指南
架构师作为技术决策的核心角色,需要构建技术深度与业务广度的双重能力体系。根据《架构师启示录》(灵犀,2024)提出的知识模型,架构能力可拆解为三大维度:
码事漫谈
2025/07/28
1.1K2
架构师成长全景学习路线:从程序员到技术专家的进阶指南
2021年程序员最佳学习方法—干货总结!
今天这里是大鑫,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用网络记录下自己的学习历程.
用户8554629
2021/04/24
4500
程序员进阶宝典
心净则明,心诚则灵 如果你想要一个月速成程序员,那么这篇文章不适合,如果你仅想要在IT圈“耍酷”,那你也不需要研读,如果你执着询问“退化”成为一名程序猿有啥捷径,那我只能告诉你,此路不通! 不可否认,
非著名程序员
2018/02/09
7700
程序员进阶宝典
iOS开发中的AI辅助编程:CursorAI与即将推出的Swift Assist
iOS工程领域经历了从Interface Builder到AI增强开发流程的显著变革。开发者们普遍反馈,通过AI辅助生产力得到提升,这标志着iOS应用构思和构建方式的根本性转变。然而,AI辅助开发的兴起既带来机遇也伴随着挑战。
qife122
2025/07/25
3150
小钢聊全栈
全栈正在变得越来越流行,很多人都有意愿或正在往全栈的方向去发展。我自己也一直在往这个方向不断提升自己,到目前为止,算是略有小成,勉强称得上是一个合格的全栈架构师。为了给更多走在全栈路上的小伙伴们提供一些思路,我将基于我自己这些年来的经验总结和思考,以及从其他更优秀的人(比如吴军)学习得来的感悟,与大伙分享我对全栈的一些观点。我主要将从三方面来聊聊全栈的问题:
Keegan小钢
2018/08/10
6790
小钢聊全栈
推荐阅读
相关推荐
全栈开发学习笔记(持续更新)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
首页
学习
活动
专区
圈层
工具
MCP广场
首页
学习
活动
专区
圈层
工具
MCP广场