这是我在知乎上的一个回答, 如果有兴趣的同学可以在知乎上搜索我的账户: jsppedu。
HTML:负责网页结构部分
CSS:负责网页布局与样式部分
JavaScript:负责网页程序逻辑、动态渲染与特效部分
PHP:负责服务端逻辑与数据库操作部分
MySQL:负责数据存储部分
1、首先,人要有一个基本的组成(头、身体、胳膊、手、腿、脚)
-> 学习HTML
2、其次,人要有一个所有组成部分的有序组合和着装(将各部分组成一个身体并穿上衣服)
-> 学习CSS
3、再其次,人需要有一些逻辑思维来支撑人的活动能力(吃饭、睡觉、运动等)
-> 学习JavaScript
4、再次,人需要有动脑思考问题的能力(比如学习、解决问题、道德行为等)
-> 学习PHP
5、最后,人需要一些知识、信息的储备来武装自己成为一个有能力、有素养的人
-> 学习MySQL
1、所谓『全栈』
对于初学者来说,全栈是引以为豪的称谓。
对于成熟的工程师来说,全栈大多数情况下是个贬义词。
原因:初学者为了完成一个完整的项目,会快速学习前后端所有己需的技术点,但无论前端还是后端,都是一门技术。首先,任何开发者的开发技术的成熟都依赖的坚实的理论基础和业务经验,所以往往自学的开发者很难胜任企业的开发任务,任何企业都需要易读、易维护、易扩展、并且科学的项目架构和代码,而往往缺乏理论基础和业务指导的学习者,很难将项目的开发做到以上的要求,这也就出现了自学成才的初学者始终都处在『全栈自嗨』的状况中。而殊不知全栈的感念误导了自己,变成一个非职业、非专业的代码生产者。其次,缺乏扎实的理论基础的学习者,很难理解更加高深的技术点,比如函数式编程中的柯里化、偏函数、ECMAScript中的原型、闭包、圣杯模式等等,这就阻碍了学习者进一步提升开发能力的步伐。
一个成熟的工程师,绝不敢说自己的全栈工程师,因为自己心里清楚,我的技术门类是前端,前端我是专业的,就算我确实会写PHP、Java,我也不敢说我精通或者我也可以承担后端的工作,这是一个工程师的态度,所谓术业有专攻嘛。
你就想什么都会,根据前述,导出一个学习顺序:
1、HTML/CSS在一个阶段学习:结构和样式必须一起学,才有直观感。
PS:总得先弄清楚HTML基本的标签吧!
也少不了学完后,做个京东淘宝首屏,我不会做!
抠破脑袋,给我摩出来,这是必经之路。
抱歉!给你压力了!
2、JavaScript单独学习:(伤不起的前端在此刻出现)
JavaScript是一个很难的语言!!
再成熟、再牛X的前端工程师也会说同样的话。原因是因为它十分灵活。
怎么写好像都对,但你就是不知道怎么写。有同样的感觉吧?
他,分为三个部分:
1、ECMAScript 2、DOM 3、BOM
懂行的都知道ECMAScript对于初学者来说,是最难的部分,什么作用域、什么原型原型链、什么闭包、什么对象数组一大堆东西。如果你在学习JavaScript时,觉得特简单,对不起,我只能建议你重新学习。学习ECMAScript周期最长。
DOM也不简单,因为.......内容也非常多,什么遍历树、什么节点、什么元素、一大堆兼容性封装,什么冒泡捕获事件代理、什么鼠标键盘行为、什么拖拽、什么鼠标行为预测、什么双击单击 一大堆封装、什么DOM事件处理函数逻辑、一大堆案例等着你做。
BOM相对简单,需要掌握的不多,强调一下,不是没用,是兼容性不好,毕竟是孤儿,没有规范,所以就只能将就用一下,但你也不能忽略他其中的单页面应用的学习。
3、PHP和MySQLy一起学
PHP的基本语法搞懂以后,你可能想做点啥。
那你就得折腾一下数据了,没有数据就没有项目,你懂的。
当然,这是你自己要选择『全栈』的哈,表怪我。
2、所谓『WEB开发学习的态度』
技术的学习本是一个漫长的过程,但是...由于社会的浮躁感,让本该有过程的事变得急于求成而最终跪败。
所谓全栈,也不过就是前端 + 后端的技术能力,而前端和后端各是一门技术与学科,所以真正的WEB开发学习的态度应该是钻研一门技术,这也是企业需要的,全栈的称谓在这个时代,已经逐渐被企业所唾弃,原因很简单,全栈 === 技术不精,而有人肯定会吐槽我的观点说:很多成熟的工程师都会前后端,人家多成功啊。但你不知道的是全栈作为技术钻研是可敬的,但作为技术的炫耀与称谓是可悲的,因为一句古话:术业有专攻,时间花在前端技术钻研上,你后端的能力肯定会逊色,反之亦然。不要说有很多精力学习,单独一个前端或后端就够学上个好歹(这里不敢瞎说时间)。
最后希望我的答案,能够帮助问者揭开学习疑惑,再问题的基础上,我又阐述了很多相关的东西,我相信问者也会需要。
谢谢各位的阅读