什么是前端?大部分指的是Web前端开发,这个词是从网页制做演变过来的,名称上有着很明显的时代特征。在互联网的演化过程当中,网页制做是Web1.0时代的产物,那时网站的主要内容都是静态的,用户使用网站的行为也以浏览为主。在这个阶段,网站的内容主要是文字内容和图片为主,制做方法也主要是使用表格拼装。印象中,那时主FrontPage这样的,画个表格,往里面填真图片,文字,就叫网页了。javascript
2005年之后,互联网进入了Web2.0时代,各种似桌面软件的Web应用大量涌现,网站的前端由此发生了翻天覆地的变化。网页也再也不只是承载单一的文字和图片,各类富媒体让网页的内容更加生动,网页上软件化的交互形式为用户提供了更多好的使用体验,这些都基于前端技术实现。html
在这个时代,给前端冠上的名称也多了,“作网站的”、“美工”、“网站设计师”、“切页面的”、“前端工程师”等等。同时技术也更为复杂化了,难度也更大了,同时技术含量也高了,那么随着这些变化,从事前端的人员也有一个专业的名号了“前端工程师”,收入也随着水涨船高了。前端
技术发展是突飞猛进,如今业内人员开始提出Web3.0的概念。最多见的解释是,网站内的信息能够直接和其余网站相关信息进行交互,能经过第三方信息平台同时对多家网站的信息进行整合使用;用户在互联网上拥有本身的数据,并能在不一样网站上使用;彻底基于Web,用浏览器便可实现复杂系统程序才能实现的系统功能;用户数据审计以后,同步于网络数据。那么问题就来了?在Web3.0的时代,前端又是什么呢?所谓的"前端工程师"又能作些什么呢?又能给Web带来什么呢?这些都值得咱们一块儿思考。java
前段时间不久,@Jose Aguinaga的一篇神文《How it feels to learn JavaScript in 2016》点燃了国内外各类社交平台(开发者的世界)。git
对于今天的前端开发,真是如此,但对于刚接触或准备接触这个行业的同窗,形成了很是大的困惑和阻碍。仅仅听这些个专业术语就已经放弃吃药治疗了,更别深刻了。可能你不太相信,但事实倒是如此。github
老师,想请教你一下,我是零基础学的前端,已经有了一年不到的工做经验,如今的前端技术层出不穷,感受有点迷茫了,但愿您给指条明路。web
大哥好 个人状况是工做一年半一直担任公司的前端制做工做 主要就是页面重构方面的工做 脚本啥的通常 使用的技术相对来讲不是紧跟潮流 一直想有所进步可是没啥突破点 进步除了切图愈来愈溜吧 感受前端的学习方向有些迷茫。编程
大漠老师,想请教您一下。我是一个大四学生,如今在公司实习,公司用的Angularjs作的单页面应用,而后配合使用Webpack和Gulp。刚来公司一周多,感受啥也不会跟无头苍蝇同样,不知道若是买老师您的课程会不会有帮助?前端之路又该怎么走?浏览器
相似这样的现象还有很多。在此,我也来聊聊本身对此见解。微信
在当今天这个时代,虽然前端更新速度快,要学的东西也很是的多,可是仔细静下心来思考,这一切都离不开它原有的基础知识,HTML、CSS和JavaScript。固然,前端通过这些年的发展与进化,除了须要掌握这些基础以外,还要面对工做流,面对工程化。也只有掌握这些才能对得住工程师这个头衔。
但是对于初学者或者刚入门的同窗而言,始终都要不断的静下来提醒本身:
只有每次能准确回答这些问题,你才不会在这样的浪潮中迷失本身,迷失方向。
说到这里,可能会有不少人要喷我了,其实喷我也是对的,由于这仅仅是我本身的见解,并不能表明一切。可话说回来,你若是不能准确无误回答这些问题,你能确认你如今作的就是你须要的?若是不是,那又将如何?
若是你是刚刚接触或准备入前端行业,我更建议您先静下来思考,认真仔细的回答:
若是你不能好好的,清楚的回答这些问题,我建议你仍是不要轻意转行作前端。
学习对于每个人都有本身独特的方式,我也不另外。在此我不能说个人学习方法就是好的,我只是想借此机会说说本身是如何学习前端技术的。
在开始学习前端相关知识以前,你能够先简单了解一下一名Web前端开发工程师应该具有哪些技能,先来看张图:
看到上图,你可能对前端工程师须要具有哪些知识有了必定的了解。若是你是从业一两年的同窗,你已具有了上图中多方面的技能树,也具备了本身一套学习方法。下面针对于初学者来聊一下学习方法。
做为前端开发者,首先要掌握的就是HTML+CSS,有了这两项最基础的知识,就能驾轻就熟的将设计师的Web页面切出来(将PSD设计图转换成Web静态页面)。但这仍是不够的,还须要能熟练的处理各浏览器的兼容。为了能更好的要求本身,尽可能要让本身的Web页面符合W3C标准和语义化的规范。这方面虽然不是硬性的要求,可是作好这二者颇有必要,也具备较大的难度。
其实在这个阶段,对于初学者并非件容易的事情。由于在这个过程种,初学者很容易迷失,也失去信心。虽然你经过看书,或者视频,你对HTML和CSS的每一个知识点有了必定的了解,但依旧缺乏动手能力。简单点说,仍是不知道如何将设计稿转换成Web页面。在这个时候你更但愿的是有一我的告诉你,应该怎么将设计稿转换成Web页面,怎么开始动手。一旦你完成第一个页面,就能从中找到信心与方向,对后面的学习也是一种极大的帮助。
充分掌握了HTML和CSS方面知识后,接下去要把JavaScript拿下,这也是前端工程师必备技能之一,也算是较难的一部分。只懂HTML、CSS和JavaScript其中一个或两个还不行,你必须对这三门语言都很熟悉。也不是说必须对这三门语言都很是精通,但你至少要可以运用它们完成大多数任务,而无需频繁地寻求别人的帮助。
若是你顺利拿下JavaScript以后,你就能够在前面的基础上作一些更有意思的事情,好比说在你的静态页面上添加交互效果,也能更好的处理业务逻辑。让你的工做驾轻就熟。除此以外,你也能够继续深刻去学习各类JavaScript的框架,好比如今前端很是火的React、Vue等等。由于这些JavaScript能更好的帮助你工做,也能让你的工做变得更轻松,让你的项目也更易维护。
到了这个时候,你会发现,你能够慢慢的脱离写原始的HTML结构;你也会发现,你能够更好的积累,在其余项目中复用本身积累的代码。你也会发现,原来这些框架的学习并无当初想象的那么复杂。你也会发现...
固然对于优秀的前端工程师应该具有快速学习能力。推进Web发展的技术并非静止不动的,没错吧?我甚至能够说这些技术几乎天天都在变化,若是没有快速学习能力,你就跟不上Web发展的步伐。你必须不断提高本身,不断学习新技术、新模式;仅仅依靠今天的知识没法适应将来。Web的明天与今天必将有天壤之别,而你的工做就是要搞清楚如何经过本身的Web应用程序来体现这种翻天覆地的变化。
接下来我们继续聊另外一个问题,也是不少初学者常问的一个问题:
学习前端,应该自学仍是看视频,或者说参加线下前端培训班?
就我我的而言,对于每一个人都不同。下面仅是我我的见解与建议,仅供参考:
若是你是一位自学能力很是强的人,并且具有较好学习方法,建议自学,自学的方式就是不断的看书,写代码。
若是你的自学能力不是很是强,也不知道如何学习。那么建议你看一些视频,由于这些视频能够帮助你更好的理解,也能让你更形象的看到相关知识点获得的效果。固然,并非只看视频就能解决全部问题,你仍是须要配合书本的知识和写代码结合起来。而后从中找到适合本身的学习方法,为后面学习打下较好的基础。
若是上面两种方法,你都没法获取到想要的知识点,那么建议你花点钱,参加一些优秀的线下培训班。固然,不少人说线下培训班,培训不出好的前端,我的以为并不全是如此,最起码能让你更好的入门。万事开头难嘛,只要开了头,一切就好办了。另外,若是运气好,有位老师能指导你,那是你的幸运,由于你能少走不少弯路,能更好,更准确的得到相关知识点。但话说回来,师父领进门,修行得靠本身。
无论是怎么学习,通过一段时间以后,须要开始沉淀本身,也要开始去思考:
有了这三份清单,你会又有了新的目标,针对清单上的去作总结,去把似懂不懂和不懂的搞懂。这样的过程应该伴随你整个学习或者说职业生涯。只有这样,你才不会迷失方向,才能让本身变得更强大。
在学习的过程中老是会不到各类问题,那么学会如何解决学习过程当中碰到的问题对于咱们每一位来讲是更重要的。那么问题来了,应该如何解决学习过程当中碰到的问题呢?
大部分同窗可能采起的方式是问人,好比在各类前端QQ群、微信群撒网,碰运气看看有没有大神帮忙回答。其实这种方式是最笨的,也能够说最无奈的。采用这种方式的同窗,大都是不知道怎么去解决,也找不到人帮忙解决。
其实解决这个问题很简单,只要有互联网的地方,就没有解决不了的问题。咱们能够经过搜索引擎来帮咱们,能够说搜索引擎是解决问题最好方式。固然,前提条件是你懂的使用搜索引擎,而每每不少人都不知道如何利用搜索引擎。
在我碰到的同窗当中,或者说身边不少同窗都喜欢使用百度来搜索,或许你发现,搜索出来的并非你想要的答。其实,我想说,那是你方法不对。咱们应该抛弃使用百度来搜索,应该使用Google搜索引擎(须要知道怎么FQ使用Google),经验告诉我,Google能更好的定位到你须要的答案。另外在搜索相关问题时,更建议你采用英文搜索,若是你不知道怎么用英文来描述你的问题,其实不难,能够利用翻译工具帮你翻译,而后在Google中搜索,这样会让你变得更轻松。
除此以外,若是你身边有更多的同窗,你能够考虑先问身边的同窗。只不过不少同窗很害羞,很差意思问。更有很多同窗,担忧问身边的同窗,怕会被BS,其实并不是如此,这一切只是你本身的想法而以,你应该厚着脸皮不断去问。而事实上,咱们前端圈的氛围是很良好的,不少同窗都愿意为你解答,或者告诉你方法怎么去解决问题。
最后,在来扯一下本身为何会录制视频。其实好久之前就有想法录制一些前端视频,给一些有须要的同窗。但因为种种缘由没去作这样的一件事情。我是一分爱于分享与总结的人,此次下定决定录了一个前端基础系列,但愿这个系列能帮助你们更好的理解前端,也能更快的入门。
在录制这个系列以前,想过好久,想以更好的方式给你们呈现。由于担忧本身录制的视频会误人子弟,更担忧本身录制的视频并不能帮助初学者解决最想解决的问题。值得我庆幸的是,经过这段时间的上线测试,仍是获得一些同窗的承认:
大漠老师讲的loading加载动画,和3D文字翻转效果,点赞的烟花效果,认识了不少新的CSS3属性,日常用的
box-shadow
在大漠老师的手上还能作出这麽炫酷的效果,还学到了动画效果多,3D加速的小技巧,讲的很细致,很耐心,对刚学HTML+CSS的同窗,也能听得很明白,有一些经验的同窗来讲,也能听到里面的小技巧,认识新的属性,还有日常疏忽的一些属性。
在CSS方面的课程,我是晚上看的,以为老师在课程的编排上面动了脑筋,对于伪类讲的也很全面,我在其它的网页上面也买过其它的课程学习过,可是都不是特别全面,大部分状况下只是学习了基础的知识知道如何码出来
我的以为老师大神们的这个视屏教学课程是我在全部课程里面看过的最好的了,虽然看起来很基础,可是确实真的是很实用
在此很是感谢你们的支持,由于一路有大家的支持,我才能一路坚持下来。我也会继续努力,向你们呈现更好的教程、视频等。
扯了这么多,都是些有的没的,但愿你能从中获取到想要的。最后再啰嗦一下:
不管从哪一个方面讲,我都以为前端工程师是计算机科学职业领域中最复杂的一个工种。绝大多数传统的编程思想已经不适用了,为了在多种平台中使用,多种技术都借鉴了大量软科学的知识和理念。成为优秀前端工程师所要具有的专业技术,涉及到广阔而复杂的领域,这些领域又会由于你最终必须服务的各方的介入而变得更加复杂。专业技术可能会引领你进入成为前端工程师的大门,但只有运用该技术创造的应用程序以及你跟他人并肩协同的能力,才会真正让你变得优秀。