我为什么要写这样一篇文章呢?
因为,曾经的我为了学习编程和iOS开发走了很多弯路,学习过程比较艰辛。多年后,我又遇到了很多与我有着类似经历的朋友,他们有很强烈的学习欲望,他们很可能只是缺少前进的方向而已。我想帮助他们找到前进的方向,帮助他们保持住前进的动力!我希望我可以通过这种方式,给他们带来一些启发,帮助他们少走一些弯路。
此外,我有一些朋友想零基础入门 iOS 开发。我希望我可以通过写文章的方式来帮助他们,同时这些文章可以让更多的人看到,这样我就可以帮助更多的朋友。
由于 Ficow 水平有限,只能根据自己现有的知识来讲解文中涉及到的内容。如果您对本文有任何的疑问和建议,欢迎您给我留言。
当今世界,编程
这个词已经广为人知,甚至连 软件工程师
或者说 程序员
这个职业都已经耳熟能详。我甚至还听到过综艺节目嘉宾调侃:程序员钱多话少死的早
。然而,【程序员】除了钱多话少死的早这些缺点之外,其他的可能都是优点。
首先,现在 少儿编程
都已经成为了热门话题,很多少儿编程项目都获得了巨额投资。越来越多的学校和公司开始在少儿编程这个领域发力!所以,在不久的将来,【编程技能】非常有可能成为一个像【驾驶技能】一样被大面积普及的技能。通过一些调查数据可以看出,世界各国都在大力普及编程
。美国的编程普及率非常高,如果您感兴趣可以参考 各国对少儿编程教育的重视程度及渗透率。未来已来,只是尚未流行~
其次,学习【编程】可以为你提供一个 强有力的认知模型
,帮助你 提升认知水平
,从而更好地应对这个不确定的世界带来的各种挑战!为什么这么说呢?因为,从本质上来说,【编程】其实主要就是分析问题并通过写代码来解决问题
。通过写代码来解决问题的时候,我们需要先对问题进行分析,然后找到问题的根源以及可能存在的多种原因之间的种种关系,然后再寻找并提出多种解决方案,最后根据各种约束条件来筛选和确定最终方案并执行。所以,【程序员】最核心的能力就是解决问题的能力。
最后,在学习【编程】的过程中,除了要学习如何分析问题和解决问题,我们还要学会各种相关的知识和技能。这些知识和技能可能包括且不限于:编程语言、计算机导论、算法和数据结构、计算机组成原理、操作系统、计算机网络、数据库、编译原理、软件工程、英语、命令行、键盘盲打、搜索引擎、Git
等等。这些技能 极其实用
,它们可以帮助您更好地使用计算机来解决各种问题。同时,如果您能够成功掌握这些知识,这也说明您具有较强的学习能力。
简而言之:学【编程】,好处多多!!!
iOS 开发
:基于 Apple 的 iOS 系统来开发应用软件。
iOS 开发需要用到功能强大的开发工具 Xcode、简单易用的编程语言 Swift,以及 Apple 前沿技术的革命性功能(SwiftUI, AR, VR, AI等等)。
您可以自由发挥,打造前所未有的新颖 app。很多 独立开发者 通过开发 iOS 应用来养家糊口,生活过得有滋有味。尽管他们只是成功的少数人,但是这也向我们证明了这条道路是完全可行的!
App
已经成为了我们生活中不可或缺的一部分。微信App
、支付宝App
、美团App
、淘宝App
、王者荣耀App
、和平精英App
等等,只要是一个手机就会安装各种各样的App。
从事 App
开发工作的您可以不愁工作机会,而且只要您水平过关,薪资是不会太低的。当您学会开发App之后,您甚至可以为自己开发实用的App来解决生活和工作中遇到的难题,进而成为一个独立开发者并依靠自己的产品来养家糊口甚至实现伟大的梦想。
更何况,从事 iOS 开发工作,乐趣多多
!如果通过 C/C++ 来学习编程,您可能会花非常多的时间来面对一个命令行黑框。编码、编译、运行、检查黑框里面的结果
,这就是您的学习过程。对于很多人来说,这个过程非常无聊,甚至让人觉得痛苦不堪。(至少,我以前的大学同学就这样跟我说过😹)然而,在从事 iOS 开发工作的过程中,您面对的将是一个模拟器。而且,您可以看到您编写的代码运行在 可视化的界面
上,这会让您 更快收获成就感
!
最后,如果您和我一样也是一名 果粉
,那么选择 iOS 开发作为自己的工作完全是合情合理的~
从事 iOS 开发必须具备的前提条件:
除了以上前提条件之外,您还需要 下定决心坚持学习、实践、总结
,这是最重要的!
然后,找到 优质的学习资料
进行学习,推荐您通过苹果官方或者权威网站的资料和教程来学习。如果您找不到,Ficow 可以为您推荐。Ficow 还会继续推出本系列的教程,陪您一起零基础入门iOS开发!
最后,如果您想找到一份很好的工作,您可以寻找一个自己 感兴趣的细分领域并深入研究
(如:即时通讯、音视频处理、图像处理、架构设计、响应式编程、自动化测试、反编译、性能优化等等),争取成为某些领域的高手(T型人才、π型人才)。
常见的细分领域包括但不限于:
或者,如果您想成为一个 独立开发者
,那么您需要学习的东西会更多。其实,要做出有价值的产品,不需要您把所有的内容都学到精通的水平!
无论您选择哪一条道路,您的编程技能都将会学以致用。到时候您就可以凭借所学来为社会创造无限的价值~
天下无难事,只怕有心人!只要您用心学,没有搞不定的难题!
一首《不第后赋菊》,与君共勉:
待到秋来九月八,我花开后百花杀。
冲天香阵透长安,满城尽带黄金甲。
如果您已经 具备编程基础
,那么您可以直接开始学习 iOS开发相关内容:
开发工具:Xcode 集成开发环境 以及 帮助文档
编程语言:英文版 Apple 官方 Swift 教程 或者 中文版 Apple 官方 Swift 教程,建议您从 A Swift Tour
部分开始阅读,这样您可以快速了解 Swift 中的核心内容。
官方教程:Start Developing iOS Apps (Swift),学完此官方教程之后,您就大致理解了iOS开发的初级内容。
高质量的教程网站:Raywenderlich、AppCoda,这里有丰富的样例(demo)和代码可以供您下载运行和学习。
苹果新推出不久的 SwiftUI 较新,而且不太稳定
,新手可能不易理解
响应式编程。而且,大多数公司还没有在大型商业项目中采用 SwiftUI,工作机会可能较少
。
如果您实在感兴趣,这些优质的教程值得参考:
如果您打算 零基础入门
或者您想 成为优秀的程序员
,那么这些内容将可能是您的必修课程:
C/C++编程语言,市面上的 大多数经典教材
都基于C/C++,学会C/C++可以让您更容易理解这些经典教材的内容。此外,根据TIOBE编程语言流行程度指数,您也可以发现C/C++语言的流行程度非常高。学会C/C++之后,您很容易学会其他的流行语言,如:Java, Python, C#, Go, Swift 等。编程语言类似于我们的人类语言,语言只是思想的载体。无论说英语还是说普通话,我们想表达的意思其实是相同的,只是表现的形式不同罢了。
计算机导论,计算机导论展示了计算机科学体系框架,可以帮您奠定学科知识基础。通过这本书,您可以非常快速地了解编程世界的大致结构。这些内容中的绝大部分在编程过程中会用到
,Ficow 建议您认真学习并理解掌握这些必学内容。
数据结构,帮助您理解并掌握各种常见的数据结构和使用多种数据结构来组织程序内复杂的数据。这些内容在编程过程中会用到
,Ficow 建议您认真学习并理解掌握这些必学内容。
算法,帮助您构建更高效、更稳健的程序。构成程序的核心就是算法与数据结构,编程语言其实是用来表达算法和数据结构思想的。这些常见算法实现的思路在编程过程中会用到
,Ficow 建议您认真学习并理解掌握这些必学内容。
计算机组成原理,帮助您理解并掌握数据的表示、运算、指令系统、处理器、存储器、输入输出设备等相关的原理,最终理解计算机的软硬件工作原理。这些内容在编程过程中会用到
,Ficow 建议您认真学习并理解掌握这些必学内容。
操作系统,帮助您理解进程、线程、处理器任务调度、内存管理、文件系统、设备管理等基本概念。这些内容在编程过程中会用到
,Ficow 建议您认真学习并理解掌握这些必学内容。
计算机网络,帮助您理解计算机网络中的各个分层,为以后的网络编程打下坚实的基础。这些内容中的绝大部分在编程过程中会用到
,Ficow 建议您认真学习并理解掌握这些必学内容。
数据库,帮助您理解数据库基本原理、关系型数据库、SQL语言、数据库设计和编程、数据库查询与恢复、并发控制、大数据等内容,为以后的数据库开发和编程打下坚实的基础。这些内容中的绝大部分在编程过程中会用到
,Ficow 建议您认真学习并理解掌握这些必学内容。
软件工程,帮助您理解软件和软件工程的概念、各种软件过程模型、UML和RUP、需求的获取以及分析和验证、软件设计和实现、软件测试和维护等基础内容。这些内容中的绝大部分在编程过程中会用到
,Ficow 建议您认真学习并理解掌握这些必学内容。
编译原理。帮助您理解源代码如何最终变成可以运行的程序。编译原理难度比较大,Ficow 建议您大致了解编译过程即可。
看起来好像有非常多内容需要学习,但是其实只要您感兴趣,您很快就可以学会并掌握这些知识。在掌握了这些基础的计算机科学知识之后,您就可以开始学习 iOS开发相关的内容。其实,当您具备比较好的计算机科学知识基础之后,很多软件开发细分领域的工作您都可以轻松学习并掌握,比如:iOS开发、安卓开发、Web前端开发、后端开发等等。
以上就是本文的主要内容,希望对您有所帮助。Ficow 会继续创作相关教程并陪伴您学习,欢迎您留言和我交流。我会尽力回答您的问题,帮助您快速达成学习目标!加油吧,朋友~
推荐继续阅读:零基础学 Swift —— Ficow 陪你学 iOS 开发
参考内容:
各国对少儿编程教育的重视程度及渗透率
开发 让您的想法变为现实
独立开发者
BOSS直聘 - iOS
觉得不错?点个赞呗~
本文链接:零基础学编程和 iOS 开发—— Ficow 陪你学 iOS 开发
转载声明:本站文章如无特别说明,皆为原创。转载请注明:Ficow Shen's Blog