入门
在我理解下的基础知识,就是我们可以写一些基本的样式,并能对页面的元素进行操作。举例来说,就是我们用Spring和JSP写了一个博客,然后我们可以用jQuery来对页面进行一些简单的操作,并可以调用一些API。因此,我们需要基本的HTML / CSS知识。只是要写好CSS并不是一件简单的事,这需要很多实战经验。随后,我们还需要有JavaScript的经验,要不怎么做前端呢?
同时,我们还需要对DOM有一些基础的了解,才能做一些基本的操作,如修改颜色等等。在这种情况下,最简单的方案就是使用jQuery这样的工具。不过,如果可以自己操作DOM是再好不过的了。
中级篇
中级篇就更有意思了,现在我们就需要对页面进行更复杂的操作。Ajax和JSON这两个技能是必须的,当我们要动态的改变页面的元素时,我们就需要从远程获取最新的数据结果。并且我们也需要提交表单到服务器,RESTful就是必须要学会的技能。未来我们还需要Fetch API,ReactiveX这些技能。
除此我们还需要掌握好HTML的语义化,像DIV / CSS这也会必须会的技能,我们应该还会使用模板引擎和SCSS / SASS。而这个层面来说,我们开始使用Node.js来完成前端的构建等等的一系列动作,这时候必须学会使用命令行这类工具。并且,在这时候我们已经开始构建单页面应用了。
高级篇
JavaScript是一门易上手的语言,也充满了相当多的糟粕的用法。几年前人们使用CoffeeScript编成成JavaScript来编写更好的前端代码,现在人们有了ES6、TypeScript和WebPack来做这些事。尽管现在浏览器支持不完善,但是他们是未来。同样的还有某些CSS3的特性,其对于某些浏览器来说也是不支持的。而这些都是基于语言本来说的,要写好代码,我们还需要掌握面向对象编程、函数式编程、MVC / MVVM / MV*这些概念。作为一合格的工程师,我们还需要把握好安全性(如跨域),做好 授权(如HTTP Basic、JWT等等)。
工程化
这个标题好像是放错了,这部分的内容主要都是自动构建的内容。首先,我们需要有基本的构建工具,无论你是使用gulp、grunt,还是只使用npm,这都不重要。重要的是,你可以自动化的完成构建的工具,编译、静态代码分析(JSLint、CSS Lint、TSLint)、对代码质量进行分析(如Code Climate,可以帮你检测出代码中的Bad Smell)、运行代码中的测试,并生成测试覆盖率的报告等等。这一切都需要你有一个自动构建的工作流。
兼容性
虽然我们离兼容IE6的时代已越来越远了,但是我们仍然有相当多的兼容性工作要做。基本的兼容性测试就是跨浏览器的测试,即Chrome,IE,Firefox,Safari等等。除此还有在不同的操作系统上对同一浏览器的测试,某些情况下可能表现不一致。如不同操作系统的字体大小,可能会导致一些细微的问题。
而随着移动设备的流行,我们还需要考虑下不同Android版本下的浏览器内核的表现不致,有时候还要一下不成器的Windows Phone。除此,还有同一个浏览器的不同版本问题,常见于IE。。
前端特定
除了正常的编码之外,前端还有一些比较有意思的东西,如CSS3和JavaScript动画。使用Web字体,可惜这个不太适合汉字使用。还有Icon字体,毕竟这种字体是矢量的。不过Icon字体还有一些问题,如浏览器对其的抗锯齿优化,还有一个痛是你得准备四种不同类型的字体文件。因此,产生了一种东西SVG Sprite,在以前这就是CSS Sprite,只是CSS Sprite不能缩放。最后,我们还需要掌握一些基本的图形和图表框架的使用。
软件工程
这一点上和大部分语言的项目一样,我们需要使用版本管理软件,如git、svn,又或者是一些内部的工具。总之你肯定要有一个,而不是 2016.07.31.zip这种文件。然后,你还需要一些依赖管理工具,对于那些使用Webpack、Browserify来将代码编写成前端代码的项目来说,npm还是挺好用的。不过就个人来说,对于传统的项目来说我总觉得bower有些难用。我们还需要模块化我们的源码文件,才能使其他人更容易开始项目。
调试
作为一个工程师来说,调试是必备的技能。大部分浏览器都自带有调试工具,他们都不错——如果你使用过的话。在调试的过程中,直接用Console就可以输出值、计算值等等。如果你的项目在构建的过程中有一些问题,你就需要debugger这一行代码了。
在一些调用远程API的项目里,我们还需要一些更复杂的工具,即抓包工具。在调试移动设备时,像Wireshark、Charles这一类的工具,就可以让我们看到是否有一些异常的请求。当然在这个时候,还有一个不错的工具就是像Chrome自带的远程设备调试。对于移动网站来说,还要有Responsive视图。
测试
我遇到的很多前端工程师都是不写测试的,于是我便把它单独地抽了出现。对于一个前端项目来说,正常情况下,我们要有单元测试、功能测试,还有要一些UI测试来验证页面间是否可以跳转。对于依赖于第三方服务的应用来说,还要有一个Mock的服务来方便我们测试。如果是前后端分离的项目,我们还需要有集成测试。
性能与优化
要对Web应用进行性能优化,可能不是一件容易的事,有时候我们还知道哪些地方可以优化。这时候人们就可以使用Yahoo的YSlow,或者我最喜欢的Google PageSpeed来检测页面的一些问题,如有没有开启GZip、有没有压缩、合并、Minify JS代码等等。
我们还应该借助于NetWork这一类的工具,查看页面加载时,一些比较漫的资源文件,并对其进行优化。在一些情况下,我们还需要借助如Chrome的Timline、Profiel等工具来查看可以优化的地方。
设计
前端工程师还需要具备基本的UI技能。多数情况下拿到的只是一张图,如果是一个完整的页面,我们就需要快速分割页面布局。而依赖于不同的页面布局,如响应式、网格、FlexBox布局也会有不同的设计。而有些时候,我们就需要自己规划,制作一个基本的线框图(Wireframe)等等。
随着互联网的迅速发展,更多的人投入到web前端的学习中来,那么想要自学前端该怎么规划学习呢?要学习的技能涉及到哪些呢?对于新手学习HTML5的方法,我有几个建议给大家,希望可以帮助到想要学习HTML5的同学。
自学前端,首先的你得搞懂前端是什么,要学习的内容是什么,每天能抽出多少的时间去学习,能不能坚持的问题,很多同学可能就是三分钟的热情去学习,然后过几天就偷懒学不下去了,为了避免这样半途而废,大家选择学习的方式就是很重要的。还有就是重点的学习哪些技术。
以下就给大家分享一下web前端开发中需要掌握的技术:
1、学习HTML,这是很简单,基本的是要掌握div,formtable、Ulli、P、跨度、字体这些标签,这些都是常用的,尤其是DIV和表格,DIV,表也可以用于布局,但不灵活,和用于基本表处理数据。
2、学习CSS,CSS这里说的不包括CSS3 Web前端开发工程师里面我们看到的,一个可以使用HTML或CSS + CSS+DIV的界面布局,所以CSS是用来协助HTML布局和显示,我们称之为“CSS样式”,为什么说DIV+CSS?因为我说div是HTML主要用于布局的,所以div是这个东西的核心!CSS必须配合部。CSS必须掌握浮、位置、宽度和高度,以及较大值和小值,以100%,溢出,边缘、填充等。这些都是与布局相关的样式。
3、然后就是JS的学习。JS入门很简单,不需要很多东西,只要根据ID或名称DOM或”风格或价值,然后以一个ID或名称元标签,或额外的数据,在HTML,这是对数据的操作有关系,那么数据逻辑的影响,无非是一个跳跃,弹框,隐藏什么,这一切都是结合其他应用,代码一点都不难,将这些基本的JS。百度其他好。然后多看一些,不是什么问题。
4、学习jQuery相当于封装一组JS插件的JS。其目的是操作更方便,编写更少的代码,jQuery条目也非常简单。这些都是切入点,要学会像JS,只是改变了JQ代码。剩下的就跟百度一样。
5、较好是指出背景语言,如java,php,为什么?因为我们是前台接口数据,从后台到点,如果后台代码,你知道如何与后台数据交互是好的,它节省了时间,也可以使前端代码更加规范。否则,可能是因为你回来了,无法忍受的数据,然后前端代码再次重写,这将是可怕的。
6、研究CSS3 + HTML5,为什么放在后面呢?因为现在对于前端人员来说,复合型且不断提升能力的人是企业很看中的,所以,如果你准备从事专业战线,学习一下会更好。
以上6点,基本上是一个web前端开发工程师掌握的技术,对于一个新手小白来说,掌握以上技能基本就能入职web前端职位了。
前端前景是很不错的,像前端这样的专业还是一线城市比较好,师资力量跟得上、就业的薪资也是可观的,学习前端可以按照路线图的顺序,学习前端的话就是多问、多练习、多思考,学习就是一个不断重复的过程,
熟练运用软件 HTML、CSS,JavaScript。前端的开发中,在页面的布局时, HTML将元素进行定义,CSS对展示的元素进行定位,再通过JavaScript实现相应的效果和交互,在进行开发前,需要对这些概念弄清楚,才能进行合理的开发。
在开发的过程中,为了避免代码的繁琐杂乱,更高效快速地完成任务,就会使用到一些效率协作软件——蓝湖。
工程师能快速省心开发
查看标注
点击任意元素,即可查看标注信息
切图下载
一键下载,支持 JPG、PNG、SVG、WebP
自动生成代码
自动生成 CSS、iOS 和 Android 代码
知之者不如好之者,好之者不如乐之者。
怎么样才可以学好web前端呢?
“兴趣”
怎么才可以培养出兴趣呢?
先看一些关于前端开发的教程:
Web前端HTML5+CSS3全套零基础教程_前端开发实战项目_web前端基础教程www.bilibili.com
怎么才可以系统地学习前端开发的知识呢?
尚学堂前端学院:前端学习路线图zhuanlan.zhihu.com
学习前端开发最快的速度就是报班培训。时间比较短,可以很好的学习到系统的知识和技术。还可以结交前端开发的人脉。互相交流技术的问题。有专业的老师带领着会少走很多的弯路。
我也很佩服那些自学前端开发的人。可以有足够的毅力学习,还可以系统地整理学习材料,非常的佩服。点个赞。
我的宗旨就是 能自学就自学,不能自学报班学习。