![[��ǩ:����] [��ǩ:����]](https://www.xuefen.net//file/upload/img/7/39.jpg)
方法:
第一:理清Web前端的知识结构。要想高效学习Web前端知识,首先应该搞清楚Web前端都包括哪些技术结构。Web前端开发虽然技术难度并不高,但是技术细节却比较多,内容也比较杂。Web前端的基础包括三大部分,包括Html、CSS和Javascript,其中Javascript是学习的重点,也是难点。另外,vue等框架也是需要熟练掌握的。
第二:紧跟技术发展趋势。目前Web前端的技术发展趋势有三个,其一是前端开发数据化;其二是前端开发高效化;其三是前端开发全栈化。前端开发数据化主要是大数据发展的影响,在大数据的推动下,Web前端逐渐涉及到了大量的数据展示任务。前端开发高效化主要体现在Web前端正在进行独立部署,前端与后端的沟通主要通过资源接口的方式来进行。前端开发全栈化也是一个比较明显的趋势,比如Nodejs的应用。
第三:注重动手实践能力的培养。学习前端开发一定要注重动手实践能力的培养,因为前端开发的细节比较多,所以只有多操作才能逐渐熟悉。
前端开发目前被称为“大前端”,整个前端开发也被赋予了更多的含义,包括Web前端开发、移动端开发、大数据呈现端开发以及部分后端开发任务等等。所以,想要在前端行业中走的更远,一定要注重知识结构的丰富性。
与其他编程语言相比,前端是公认的入行门槛较低的一门语言,但依然有很多人在学习之前会问零基础学习web前端难不难,要多久才能学会。学习的难易和时间当然是取决于学习的方式。
前端入门简单,但是深入学习之后,还是有一定学习难度的。如果你是零基础自学web前端的话,那么所花费的时间与精力是不可估计的。如果系统学习5个月的时间可以帮助你快速成长为合格的web前端工程师。
路线:
第1阶段:前端页面重构(4周)
内容包含了:(PC端网站布局项目、HTML5+CSS3基础项目、WebApp页面布局项目)
第2阶段:Javascript高级程序设计(5周)
内容包含:(原生Javascript交互功能开发项目、面向对象进阶与ES5/ES6应用项目、Javascript工具库自主研发项目)
第3阶段:PC端全栈项目开发(3周)
内容包含:(jQuery经典交互特效开发、HTTP协议、Ajax进阶与PHP/JAVA开发项目、前端工程化与模块化应用项目、PC端网站开发项目、PC端管理信息系统前端开发项目)
第4阶段:移动端项目开发(6周)
内容包含:(Touch端项目、微信场景项目、应用Angular+Ionic开发WebApp项目、应用Vue.js开发WebApp项目、应用React.js开发WebApp项目)
第5阶段:混合(Hybrid,ReactNative)开发(1周)
内容包含:(微信小程序开发、ReactNative、各类混合应用开发)
第6阶段:Node.js全栈开发(1周)
内容包括:(WebApp后端系统开发、一、Node.js基础与Node.js核心模块;二、Express;三、noSQL数据库)
至于视频教程,我这里有很多前端的全套教程,如果你需要的话,可以加一下我的学习交流裙裙,找我要就行了!
学习前端,要从学习HTML和CSS开始着手。关于这部分的学习,网上可选择的资料就太多了,这里不一一列举,题主百度搜索栏搜索 HTML 教程,或者css 教程,就可找到相关资料。
接着是学习前端的一个难点、也是重点,就是Javascript。
首先,初学一门语言,要秉承一个原则:“能动手的,尽量别吵吵”
另外,你需要一个能够从简到难的知识体系,一步一步跟下来。
下面是干货。
体系:上图。
说明一下这张图,题主提问如何有效学习JS,我这里理解为JS原生,所以关于框架、工作流的内容,没有具体展开,题主有兴趣可以自行搜索。
一、文档资料
红宝书(基础):https://book.douban.com/subject/10546125/
蝴蝶书(进阶):https://book.douban.com/subject/11874748/
阮一峰老师ES6: http://es6.ruanyifeng.com/
权威官方文档MDN:https://developer.mozilla.org/zh-CN/docs/Web/Javascript/
二、学习步骤
语法和基本类型
控制流
循环
表达式和操作符
日期对象
正则表达式
对象
上面这些搞定,就已经掌握了ES5的最基本的内容了,接着,我们就可以来操作页面了。毕竟这是一个看脸的社会,我们在搞页面的同时,还要注意一下页面的样式。
8.DOM操作
1>DOM树的概念
2>从DOM树取节点
3>操作这个DOM树(节点的添加、删除、修改)
4>访问节点(parentNode,children,等等)
5>属性操作(id,className)
9. 事件处理
1>鼠标事件(mouseove)
2>键盘事件(keyup)
3>浏览器事件(load)
好,到这里,基本上静态页面,你就可以随意玩耍了。这里我们最好降上面思维导图提到的例子,都撸一遍。一是加深上面知识点印象,二是锻炼一下编程的逻辑思维能力。具体实现,网上有一堆堆的。(这里让题主自己搜索,是因为编码的一项重要能力,就是搜索)一定要谨记,多敲代码。
10. 面向对象:原型式继承、原型链
11. ES6:
ES6跟ES5还是有较大的区别,所以建议你能系统的过一遍,将上面的练习,改为使用ES6再来一遍
三、调试
1、JS编程的调试非常简单,打开浏览器控制台(我个人比较钟爱Chrome)。如图:
1> console标签:这个标签,可以打印我们开发时,JS引擎为我们抛出的异常。我们可以根据这个异常的信息,来分析错误原因。另外,我们也可以在代码中使用console.log() 输出程序运行时的环境变量信息。
2> 右红框1:错误提示。说明当前页有一个error发生,点击他,可以跳转到console来查看错误具体信息
3>右红框2:警告信息。提示了我们程序潜在的危险。
4> source,我们进行单步调试的地方。具体见下图
(四)、工作流(跟JS原生关系不大,不详细展开了)
webpack
gulp
上面的内容结束后,就可以进入前端框架的海洋中畅游了。
就一条:达到能参与 Web 前端实际项目的开发水平。请注意,是实际项目,这就需要了解如今的实际项目开发都用了哪些技术栈。HTML/CSS/Javascript 这三大基础技术栈肯定是需要掌握的,但要能参与实际项目开发,肯定还要掌握其他一些主流的框架体系。
几年前, jQuery + Bootstrap 可以说是一统江湖,是前端领域的绝对霸主。而这几年,随着 Angular、React、Vue 等框架的兴起,变成了百家争鸣的局面。这几年,Web 前端的技术发展真是太快了,相应地,技术栈也就变得非常多,除了最基本的HTML/CSS/Javascript,以及 Vue/React/Angular 等这些 Javascript 框架和各自的生态体系,还有 CSS 预处理器 Sass/Less/Stylus,还有 Typescript,还有 grunt/webpack/gulp 等各种打包构建工具,还有其他一大堆技术栈。
这么多技术栈,我们不可能全都掌握,就算是资深的前端工程师,也只是精通其中一部分,比如,有些精通 Angular,有些掌握 React,有些则熟悉 Vue,很少有人对三种框架生态体系都非常了解。因此,我们入门也没必要每种框架都学习,只要挑选一种就够了。而且,作为全栈,我们学习一门技术更重要的是要学习技术背后的编程思想、设计思想、架构思想等。而不管是 Angular、React 还是 Vuew,其背后的核心设计思想都是组件化的设计,因此只要掌握一种框架,我们也就能学习到前端技术的核心思想了。
那么,我们应该学哪种框架体系呢?我的建议是从 Vue 开始,因为 Vue 的学习成本是最低的,入门简单,而且这两年 Vue 可以说是出现了爆发式的增长,已经直逼 React。React 的主要学习成本在于要掌握 JSX 语法,而且文档还大多都是英文。Vue 因为是国人开发和维护的,自然对国内的开发者更友好。Angular 则是个大而全的框架,显得太重,学习成本自然最高。至于 jQuery + Bootstrap 这套,已经过时了,建议没必要去学习了,毕竟我们的时间很宝贵,还有一大堆更有价值的东西等着我们去学。
因此,我们要入门 Web 前端开发的话,除了要学习 HTML/CSS/Javascript 三大基础技术栈,还要了解 Vue 体系。而 Vue 体系,除了 Vue 框架本身,还包括其他技术栈。
下方是学习前端开发的学习路线:Web应用程序的开发过程
现在特征已经弄清楚了,我们就可以开始定义开发一个web应用程序的整个过程了。当然,这依赖于工程的大小,过程中的某些步骤可能很小,在你的脑海里就能完成这种工作,但把事情整个的了解一下总是有好处的。同时还有一点很重要的你要明白,这篇文章并不会对每个步骤进行深层次的描述。
步骤一:分析
开发一个web应用的第一步是分析你的需求。你此时应该定义出一个尽量周全的你的应用应该提供的功能清单。如果是你为一个客户做这些工作,你需要明白他们想要什么(要确保你们对方都知道对方在说些什么)。从你们的讨论中,你能总结出需求和软件规格。你即使是为自己开发,我也建议你把希望这个web应用能够做的功能写下来。
步骤二:设计
一旦你弄清楚了这个web应用需要做哪些事情,你就可以开始设计了。这个步骤通常会反反复复进行很多次,每一次都把设计细化一些。你第一要做的是画出页面流程图(画在纸上,或使用软件工具,凭各自所好吧。我喜欢用纸,这样我可以做更快速的改变)。页面流程图通常是很抽象的黑白绘画,画出你将要实现的web应用的样子(你可以加一些色彩,但尽量保持简单)。
这个步骤能够让你知道你的应用最终会是个什么样子。跟37signals倡导的相反,我建议使用一些词语描述,适度细化。当我想到一个很好的想法时,或想到事情该如何做时,我会把它标注到纸上(例如,当点击这个按钮时应该使另外一个元素改变或隐藏,我会把这写在流程图上)。
当你对做出的草图满意后,你可以开始制作实体模型了。
实体模型仍然是些图案,但有色彩和细节。最终的实体模型看起来应该像你将要实现的web应用的一个截屏图。如果你为一个客户开发,他会看看这些东西,并给你他的认可。然而,很多人都喜欢跳过这一步(大多数都是非设计人员),他们喜欢直接奔向网页原型。
原型是用HTML开发出来,使用CSS渲染(有时也是有Javascript)。页面布局要做出来,链接能够点,颜色,字体,字体大小要设定好(如果你做了实体模型,这个会很容易)。这一步非常的重要,因为这里所有的东西都能用于你最终的应用中。如果允许的话,在你的原型上做一些可用性测试,从长期的效果来看,这能使你避免大量的失误。
在这个步骤的最后,你基本上就知道了你的web应用是如何组织到一起的了。登录页面有些什么,用户如何从主页转向到各个页面。
步骤三:实现选择一个框架
现在我们已经知道了要去开发什么东西,那就要把它做出来。这一部分的工作很多,你大部分的时间都要花在这个上面。你第一个要做的决定是如何着手,采用什么样的技术,什么框架。你有很多选择的余地,你需要选出一个适合你的。下面是一个最常用的框架的列表:
ASP.NET
PHP上的任何一个流程的框架
PythonwithDjango
RubyonRails
没有一个明确的标准说哪个框架最好。它们都各有不同,每个都有自己的长处。最重要的是你要知道它们任何一个都能让你开发出好用的web应用。
开发
一旦你知道了如何去开发,那就要甩开臂膀开干了。这个开发工作可以看作有很多块,但说到底,这都是标准的编程活动了。在后台,你要创建类,对象,服务,过程,以及持久层来把这些对象保存到数据库中。后台是整个应用的核心,对任何应用来说,它跟普通的编程没有什么区别。接着是前台的开发,你现在编写的代码才是真正给用户使用的操作界面。你把后台的程序和原型界面集成到一起,把系统各部分集成到一起。你还可以把你在开发过程中想到的一些很炫的小功能用Javascript实现。
再说一次,有很多种途径可以实现后台程序。建议你去读一读跟你选择的框架相关的资料,弄清楚如何实现这一部分的工作。通常,这些知识会跟面向对象编程有关,但有些框架正在慢慢的向领域驱动设计发展。
步骤四:打磨抛光
现在应用程序已经开发出来,各个独立的模块也集成到了一起。你需要通过测试来确保你在步骤一中定义的需求和软件规格是否被实现(这个问题在你开发的整个过程中都要记在脑中)。你要确保那些愚蠢的用户不能通过试图做一些你还没有实现的操作而把你的应用弄坏(参考白盒和黑盒测试)。你同时还要确保你的程序能够在各种浏览器里(希望不是IE6)都能正确的运行。
现在也是你做一些小的调整,改进你的应用程序给人的感觉的时候,让它趋于完美。
步骤五:发布和后续工作
这最后一步(但不是就此完结)是发布你的应用,让用户能够真正使用它(如果这个应用是个公众开发的应用,别忘了做新闻宣传)。如果你愿意,先发布一个Beta版,这样只有一小部分用户能够发现你的应用里的大问题(因为你的程序里肯定会有bug),他们会帮助你改进程序的质量。不要忙着增加功能,要专注于把你目前的程序变的稳固。
当经过了beta阶段,你的程序已经变得十分的稳固,听取用户反馈的意见,自己试用一下自己的应用,你可以开始思考如何使应用变的更好。找出不和谐的地方,消除掉。以后每次的迭代都要经过上面所说的五个步骤,但就像我最初说的,你现在已经有了一个可以运行的应用程序,你很容易直接在心里完成这些步骤,直接奔向在代码里测试你的功能。
恭喜,你已经自豪的成为一个web应用程序的作者了。
前端自学者存在的学习误区:
1、所学东西可能已过时
奉为经典的东西可能已经过时,或者已经有了更好的替代者,而你获取信息的渠道有限,消息滞后,导致学习的内容也相对滞后。
2、学习方法盲目。
看书看不懂就找视频类教程学习,觉得教程跟自己的口味不符就另寻他法,因为自己缺少对资源的辨识能力,总是在没有清晰规划学习线路的情况就盲目学习,导致无效学习时间过长而收获寥寥。
3、只有理论,缺乏真实项目锻炼。
对技术的理解停留在理论层次,而缺乏真实企业项目的历练,如果没有相关实习或工作经历,对前端岗位具体的责任划分和工作流程了解不充分。
如何自学前端知识:
自学方法:
1、作为一个初学者,你必须明确系统的学习方案,我建议一定有一个指导的人,全靠自己学,放弃的几率非常大,在你对于web前端还没有任何概念的时候,需要一个人领进门,之后就都靠自己钻研,第一步就是确定web前端都需要哪些内容,并且在多少时间内学完,建议时间6个月保底。
2、视频为主,书为辅。很多初学者在学习前端的时候非常喜欢去买书,但是最后的结果是什么?看来看去什么都不会写,所以在这里给大家提醒,书可以看,但是是在建立于你已经对于某个知识点有了具体操作的执行后,在用书去巩固概念,这样更加利于你对于知识的理解。
3、对于学习技术来讲,掌握一个学习方法是非常重要的,其实对于学习web前端来讲,学习方法确实很多都是相通的,一旦学习方法不对,可能就会造成“方法不对,努力白费”。其实关于这方面还是很多的,我就简单说个例子,有的人边听课边跟着敲代码,这样就不对,听课的时候就专心听,做题的时候就专心做题,这都是过来人的经验,一定要听。根据每个人的不同,可能学习方法也会有所出路,找到适合你自己的学习法方法是学习的前提。
4、不建议自己一个人瞎学,在我了解学习编程的这些人来看,从零基础开始学并且最后成功做这份工作的其实并没有几个,我觉得大部分原因就是因为他们都不了解web前端是干什么的,学什么的,就盲目的买书看,到处找视频看,最后看着看着就放弃了,所以我建议初学者在没有具体概念之前,还是找有经验的人请教一下,聊过之后你就会知道web前端具体是干什么的,该怎么学,这是我个人的小建议,可以不采纳。
学前端的话,书籍是必不可少的:
1、《Javascript高级程序设计(第3版)红皮书》,适合有一定编程经验的Web应用开发人员阅读,也可作为高校及社会实用技术培训相关专业课程的教材。
2、《Javascript权威指南(第6版)》犀牛书,本书不仅适合初学者系统学习,也适合有经验的Javascript开发者随手翻阅。
3、《JavascriptDOM编程艺术(第2版)》,本书在简洁明快地讲述Javascript和DOM的基本知识之后,通过几个实例演示了专业水准的网页开发技术,透彻阐述了平稳退化等一批至关重要的Javascript编程原则和最佳实践,并全面探讨了HTML5以及jQuery等Javascript库。
4、《CSS权威指南(第三版)》,不管你是一个有经验的Web开发人员还是一个彻底的初学者,《CSS权威指南(第3版)》都是你的CSS学习源泉。
5、《Javascript设计模式》,适合Javascript初学者、前端设计者、Javascript程序员学习,也可以作为大专院校相关专业师生的学习用书,以及培训学校的教材。
6、《你不知道的Javascript(上中下卷)》,本书既适合Javascript语言初学者了解其精髓,又适合经验丰富的Javascript开发人员深入学习。
7、《Vue.js权威指南》,该书内容全面,讲解细致,示例丰富,适用于各层次的开发者。
学习路线:
第1阶段:前端页面重构(4周)
内容包含了:(PC端网站布局项目、HTML5+CSS3基础项目、WebApp页面布局项目)
第2阶段:Javascript高级程序设计(5周)
内容包含:(原生Javascript交互功能开发项目、面向对象进阶与ES5/ES6应用项目、Javascript工具库自主研发项目)
第3阶段:PC端全栈项目开发(3周)
内容包含:(jQuery经典交互特效开发、nic开发WebApp项目、应用Vue.js开发WebApp项目、应用React.js开发WebApp项目)
第5阶段:混合(Hybrid,ReactNative)开发(1周)
内容包含:(微信小程序开发、ReactNative、各类混合应用开发)
第6阶段:NodeJS全栈开发(1周)
内容包括:(WebApp后端系统开发、一、NodeJS基础与NodeJS核心模块二、Express三、noSQL数据库)
视频教程:
网页链接
老实说,前端经过这几年的快速发展,网上的文章和教程还是蛮多的,有经验的人能够根据资料制定出属于自己的学习方法和路径,但对于小白来说,还是有些难度。知了姐来给大家分享前端学习路径。针对0基础,非科班,没有编程经验,想学前端,但是不知道如何入门的人群。
基础部分:
1、HTML + CSS 这部分学习,可以模仿一些网站做些页面,在实践中积累经验。做到能与UI对接,能100%重构网站静态页面的开发,为后期编写页面逻辑、动态效果打基础。
2、Javascript 要学的内容实在很多,如果没有其他编程语言的基础的话,学起来可能要费些力,这个阶段需要掌握编程基础概念,培养逻辑思维能力。能够独立完成网站的页面开发(包括合理布局,Javascript操作DOM)
进阶部分:
有了以上基础,就可以进行一般的静态网页设计,不过对于复杂的页面还需要进一步学习。
3、Javascript高级与服务器基础,深入面向对象编程,具备移动端开发能力,处理浏览兼容问题,深入学习ES6/ES7语法规范,前后端分离开发思想。
4、框架与服务器,数据库,前端安全的学习,深入了解Node,数据库操作,前后端分离技术,前后台协作开发。熟悉NPM(Yarn),Node模块fs,http,路由,处理请求,express4(koa);掌握创建websocket服务,MongoDB/MySQL数据库CRUD(Mongoose);掌握微信小程序开发,掌握Vue2.x基础,Vue-router,Vuex等等。
5、React与组件化开发,深入学习组件化开发思想,了解webpack使用,掌握React开发基础,Hook,create-react-app等等。
升级部分:
有了以上知识,对于大多数小型网站,你应该已经可以写出能够工作的代码了。但要想成为更专业的前端,你还需继续努力。更高的要求大概还有四方面:1)易维护,2)可测试,3)高性能,4)低流量(移动端)。
其他补充部分:
前端项目同样面临软件生命周期的各个环节,首先是代码管理,你必须学会使用Svn和Git。其次是代码的构建,如今前端代码构建已经不是简单的压缩一下了,需要进行依赖管理、模块合并、各种编译,比需要学会使用Grunt、Gulp等前端构建工具。
以上内容只是简单说了前端学习的顺序。对于前端开发,基本内容就这些了,可以根据自己的兴趣爱好选择性学习以下内容。
1、交互设计。大公司依然有专业人士搞这些,不过不懂交互的前端一定不是好前端。推荐《简约至上》。
2、后端。应该说前端工程师必须至少了解一门后端语言,不过如果爱好也可深入学习,如今NodeJs在大公司已经得到普遍的使用,推荐大家使用在Node上使用Express框架做一些后端服务的开发。
最后,有经验的程序员都知道,学习编程最有效率的方式就是把你扔到一个项目组,连滚带爬的做一两个项目下来你马上会发现所有的知识点全都连到一起了,不再是分散的,而是形成一个整体了。那种感觉是仅仅深入钻研知识点而不写真实项目的人所不能体会的。一个项目就是一根绳子可以把大片的知识串到一起。
如果想锻炼实际开发的能力而不仅仅是背诵或者了解一些知识点,如果想成为真正的好手,那么,还是做项目吧!
整体来看的话,Web前端开发需要学习的内容还是比较多的。前端是一门涵盖面很广的学科,而且技术更新较快,优秀的Web前端开发工程师应该具备快速学习能力。如果没有快速学习能力,就跟不上Web发展的步伐,所以需要不断提升自己,不断学习新技术、新模式。
以上就是小编为大家整理的关于Web 前端怎样入门的全部内容,更多相关知识请持续关注学分高考!

微信扫码关注公众号
获取更多考试热门资料