前端开发语言-前端开发需要学什么语言
敲黑板
与其说这是给想自学软件开发小伙伴梳理的自学路线,还不如说这是一篇软件开发行业的技术路线整理合集。除了帮助小白自学,也可以帮助正在进步或者迷失方向的软件工程师继续向前。
整个自学路线我会不断完善,目的就是让大家少走弯路,建议自学软件开发的小伙伴关注我,不迷路。
正文
很多小伙伴从其他行业转行来做软件开发,或毕业后就选择软件开发工作,在这一路上应该吃了不少苦头,走了不少弯路。
比如:
1:学习资料众多,不知道该怎么选,并且很零散
2:想提升自己的能力,但不知道要学什么?从哪里开始学?
3:遇到困难,没有人来指点一下,经常掉坑里前端开发语言,浪费了很多宝贵的时间!
那么有没有一种清晰的学习路线,就像我们玩游戏点技能树一样,可以看出来我们的发展方向和步骤?
肯定有!
自学软件编程的基础知识、发展方向与技术路线
我把这套技能树和技术路线分为八个阶段。
这篇图文先说第一,二阶段。
后续会为想自学软件开发的朋友梳理第三、第四、第五、六七八阶段。所以,大家给个关注,不会迷路。
这八个阶段分别是:
第一阶段:打牢基础,小白入门要踏踏实实走的路
不得不说,在我10多年的软件开发经验中,见到过太多同事,他们由于基础没有打好,造成平常工作中遇到很多“混乱”的问题,比如某个概念搞混引入的BUG,比如编程不规范造成的代码不好维护,比如代码文件管理的混乱等等。
这会大大影响自己的工作效率,学习效率,还错过很多晋升机会,甚至觉得软件开发行业这条路不适合自己走,产生自我怀疑。
其实这都是因为基础没有打好的缘故。所以第一阶段很重要,把基础打牢,后面你的工作或者学习都会变得很轻松,很有体验。
第二阶段:网络应用,软件开发通用技能树
这条技术路线技能树点满前端开发语言,你可以在网络应用软件开发领域横着走,并且找到一份不错的工作。这份工作可以帮你解决生活上的问题,还可以让你有零花钱花。
第三阶段:团队协作需要有的技能树
在软件开发行业里,编程技术的应用其实只是一部分,还有另外一部分知识或者技能是围绕软件开发过程的。你参与的软件规模越大,那么软件开发过程就显得越重要。
你要知道3个人的团队和100人的团队协作是完全不同的概念。
这套技能树就是围绕软件开发过程的,如果你把这套技能树点满,你可以让软件开发过程变得自动化,并且让团队协作变得和谐。
为什么要把这套技能树放在第三阶段呢?因为无论未来你选择哪个软件开发方向,都会需要到这套技能树。
第四阶段:生产工具硬核路线技能树
这套技能树点满了,你可以参与开发比如PhotoShop,Xmind,3DMax,Blender等等生产工具的开发。
当然像PhotoShop这样的软件,要开发它除了这些技能树外,网络应用知识、图像图形处理技术这些知识都是要有的。
第五阶段:移动端APP开发路线技能树
这套技能树点满后,你可以参与IOSAPP或AndroidAPP的开发。如果同时你把第二阶段和第三阶段的技能树点满了。那么你完全可以自己独立开发一款APP,或者带领一个团队开发APP。
这个时候的你,不是你找工作,而是工作来找你。
第六阶段:人工智能与数据分析路线技能树
这是未来20年比较火热的发展方向,可以参与到很多伟大的项目里面,比如医学的X光片确诊肺部疾病、自动化炒股、自动驾驶领域等。
但这里可能会有个误区,我要说明一下,这条技术路线的知识更多的是关于
人工智能是如何实现的?
我们如何利用人工智能的工具来看待目前我们遇到的问题?
如何通过技术手段把人工智能学习的数据采集起来然后用于训练人工智能?
如何设计机器学习的模型?
等等。
这些技能的学习、理解、到运用是需要时间和实践的。并不像某些广告宣传一样,什么一个月出来就拿年薪60万等等。我曾经面试过一个学生,他说他会谷歌的TF,他知道各种人工智能的算法等,当我抛给他问题时,他就没有思路了。(我抛给他的问题是TF经典例子里面的训练机器人识别手写数字的解决方案)
第七阶段:游戏开发路线技能树
开发游戏是一个庞大复杂的工程,但现在生产工具发展的很快。如果你能把这条技术路线的技能树点满。你完全可以做一个独立的游戏开发者。国内就有很多成功的独立游戏开发者,他们钱也赚了不少。
同样这条路也是比较艰辛的,做好心理准备。
第八阶段:系统质量把控技能树
说白了,这就是软件测试的技能树,软件测试在软件开发领域属于门槛很低,但上限很高的一个职位,任何一个会使用电脑,手机的人都能来做软件测试。
但高端的软件测试,只会电脑操作是远远不够的。
需要懂开发、懂服务器、懂用户心理、懂自动化、懂硬件、懂问题根源的排查等等。其实一个顶端的测试工程师,完全可以胜任一个公司的技术总监。
现在我们就来一起看看这些技术路线
第一阶段,为了后面能轻松学习要扎扎实实打好基础
一 先学JAVA是个好的选择
对于软件开发这个领域,找一门合适的编程语言来学习,其实非常重要。选得好你会学习起来很愉快,选不好会一开始就面对各种挫败感。我建议入门的小白,从JAVA语言开始学起,因为:
1 它难度适中:
小白有很多入门编程语言可以选,比如C,C++,Python等等。C,C++和Java语言相比会有很多非常抽象的概念,这些概念对小白一点都不友好,它们非常绕,因为C,C++是更靠近“硬件”的语言。
Python就把这些概念弱化了,因为它是更“靠近”人的语言,好处就是学起来很轻松,不好的地方就是学Python会遗漏很多计算机软件开发和编程的重要概念与名词。
那Java刚好在他们之间,比较适中。
2 学会JAVA后,再去学习C,C#,C++,JavaScrip等类C语言,会变得很轻松:
开发语言有成千上万种。但它们可以分为几大风格,C语言风格,BASIC语言风格,还有它们的混种。
每种风格的开发语言语法,概念,代码结构的管理都非常的类似。所以你学会了JAVA后,再去学习C,C++,JavaScript,C# 等类C语言,你会发现很轻松。
3 JAVA目前的岗位很多:
JAVA由于它在互联网行业里的先行优势,开源,性能不错,加上属于比较“老”的开发语言。所以国内很多政府项目,大企业的项目,还有重量级的产品基本都是基于JAVA语言开发的。这就导致了无论小公司,还是大公司,无论五线城市还是一线城市,都有足够多的JAVA工程师招聘岗位。
关于JAVA的学习资料
网上确实有很多JAVA免费的资料和书籍,但零碎的知识对于初学者建立系统的编程体系是完全不够的,甚至会搞得初学者一头雾水。
但如果你已经掌握了一门编程语言,再利用这些网络上免费的学习资料进行自学,其实是可以的。
但作为一名小白,还是踏踏实实的买一本JAVA方面的书籍,每天拿出90分钟,坚持3个月,扎扎实实的把用JAVA来编写代码的基本功打好。我相信,对于小白来说,不会有比这个还要科学的学习方法了。
下面是重点:
JAVA的书籍很多,我推荐两本,自学任意选择一本就可以。
《Java核心技术 卷I 基础知识》,《Java编程思想》
为什么要推荐这两本书?
因为这两本书里面讲解了很多软件编程需要知道的概念和知识,可能这些概念学起来有点不那么舒服,但这些概念对今后的自学或工作有很大的帮助!
如果你English水品很好,那么可以直接看官方文档
二 如何才算是把基础打牢?
当你把一本编程语言的书看通透,书中的例子都能理解,并且利用官方在线文档,能脱离书本自己写代码的时。恭喜你,你已经准备好入门了。
但是,马上你就会明白
如果只会用一门开发语言编写教科书中的程序,这是远远远远远远不够的,因为它不能帮助你去编写一些很实际的东西,比如一个登陆注册服务接口。
你要明白一个道理,在软件开发行业里,只有掌握了一定的技术积累后,你才能在实际工作中输出,才能解决问题,才能找到工作。
所以,了解不同方向的技术路线是非常重要的,它能让你花更少的时间,花更少的精力去学习,并且让你进步比别人更快。
那我们还在等什么?
看看第二阶段的技术路线
第二阶段:网络应用,软件开发通用技能树
把前面的基础打牢后,再来根据这条技术路线来学习,你就会觉得轻松很多。我们先来看看这条技术路线长什么样子?对他有个大概了解。
后端
1 使用数据库的技能树
1.1 关系数据库
1.2 非关系数据库
2 编写网络应用服务的技能树
2.1 基础知识
2.2 编写网络应用程序的开发框架
前端
1 最基础的知识
1.1 html(网页上显示东西)
1.2 CSS(让网页上显示的东西变得好看)
1.3 javaScript(让网页能互动)
1.4 xml(一种很多领域都会用到的结构化数据的方法)
2 开发框架
2.1 一般用于搭建前端界面的开发框架
2.1.1 Vue
2.1.2 React
2.1.3 JQuery
2.2 纯粹的界面样式搭建
2.2.1 Bootstrap
2.2.2 AmazeUI
2.2.3 LayUI
2.3 小程序平台
2.3.1 微信小程序
2.3.2 支付宝小程序
现在我们就来看看这些学习路线。
后端技能树说明使用数据库的技能树
数据库的使用其实是非常重要的,它是所有应用程序的基础。无论你在哪个软件开发领域都无法绕过数据库这个坎。自学软件开发的小伙伴,往往会忽略数据库这块的学习,其实很多培训班也会忽略数据库的学习。
目前市面上的数据库分为两大阵营,一个是已经站稳脚跟的SQL数据库阵营,另一个是后起之秀,能轻松解决SQL数据库很难解决的问题的NOSQL阵营。
这两大阵营一直叫嚣着彼此取代,但目前来看他们都无法取代彼此,反而相互弥补形成一套完美的数据库存储运算解决方案。
目前的所有网络应用平台都使用了这两类数据库,共同解决产品的数据存储计算问题。
关系数据库的代表:
他们虽然是不同的公司出品,有些概念细节上还会有点不一样。但他们都基于一种叫做SQL的数据库操作语言。它是关系数据库的基础。这五个产品中,我们只要学精通了一个,其他四个上手就容易很多了。
关于SQL关系数据库的学习,我建议从MySQL开始,因为:
1 因为它是开源、免费、跨平台
无论用它学习,还是工作,都不收钱。并且是跨平台的,无论你用MAC还是PC电脑都可以用它。
2 难度适中
比Oracle这些元老级的数据库学起来要轻松很多。
3 使用范围广:
无论大公司,还是小公司都用的挺多的,甚至很多生产环境(生产环境,就是指最终用户使用到的系统,不是内部测试系统等)也有一部分在用Mysql。
学习MySql,和一开始打好编程基础一样,好好的卖一本书,每天计划好时间坚持学完就好。这里我推荐一些MySQL的学习书籍和资料,如下: