日,有不少的程序员问w3cschool这边,前端开发应该怎么学?
有个小白程序员表示,自己走了很多弯路,学java开发没学透不能就业,现在学前端又不知道如何下手,前后算起来浪费了不少的时间。
针对此问题,下面w3cschool就给程序员小伙伴们答疑解惑,并分享一些干货。
前端有三架马车你一定要学会“驾驭”,HTML+CSS+Javascript。
照目前看来,网上各种前端学习资料又多又杂,确实让不少入门前端的小伙伴不知所措。要选什么学习资料?如何入门前端开发?
关于视频的选择,直接网上搜“30 Days to Learn HTML & CSS”这个视频来看。
这个视频是国外的前端开发特产,大小有1G多吧!
前端开发可以照前端开发的视频进行实战训练,建议可以一边开着NotePad++ ,一边看视频,一边敲代码。
另外,可以用有道云,或者是印象笔记稍微做点记录,这会加快你对html、css的学习。
当你咨询了很多的前端工程师,他们都会推荐你从经典的w3cschool基础教程开始,把上面的课程刷一遍。
通过前面两步的学习,你基本上算是入门html啦。
但相信也会有些程序员觉得很枯燥,那不妨可以尝试w3cschool新开发的html微课。
比如之前的《刀塔传奇》,很多人每天刷副本都可以乐此不疲,因为游戏升级通关是比较有趣的。
w3cschool微课同样采用了闯关刷副本的模式,你通过每天有趣的刷副本闯关,就可以掌握html重点的概念和编程技能。
会有些前辈会给你推荐《DOM编程艺术》、《Javascript权威指南》、《Javascript高级程序设计》、《锋利的JQuery》等,但对于新手来说似乎略难。
不妨去看Head first html, xhtml & CSS这两本简直是神书,真心经典!
样是web前端工程师,我们通常会发现他们的薪资待遇截然不同,web更注重的在于技术。
通过web培训出来的工程师,通常是中高级。自学的web工程师也有可能达到这样的水平,但是前提是必须系统化进行学习。那么初级web前端应该懂什么呢?
首先,Web工程师要入门必须要了解前端、后端、后台的基本概念,同时要了解基本的html、css和javascript语法,最后根据设计师的设计图在不考虑兼容性的情况下把页面做出来。
需要注意的是,入门阶段最关键的就是对所学内容形成一套概念,知其然知其所以然,不要管好那么多细节。
其次,你可以把html、css和javascript分成三个阶段进行学习。
第一阶段:HTML的学习
Html是超文本标记语言,英文全称为HyperText Mark-up Language,这是一个网页的骨架。静态网页还是动态网页,最终返回到浏览器端的都是HTML代码,浏览器将HTML代码解释渲染后呈现给用户。
当然,学习html过程是比较枯燥乏味的,所以你需要更有效的学习策略。依w3cschool看来,你可以借助Dreamweaver的“拆分”视图辅助学习。在“设计”视图中看效果,在“代码”视图中学本质,将各种视图的优势发挥到极致,想必会比单纯记忆HTML标签和属性有趣、有用的多吧?
第二阶段:CSS的学习
CSS是英文Cascading Style Sheets的缩写,叫做层叠样式表,是能够真正做到网页表现与内容分离的一种样式设计语言。
学习css建议可以看相关的一些书籍,如《CSS权威指南》(很详细、很经典!)、《CSS揭秘》 《精通CSS:高级Web标准解决方案》,博客和专栏等也可以浏览。
第三阶段:JavaScript的学习
JavaScript是一种在客户端广泛使用的脚步语言,在JavaScript当中为我们提供了一些内置函数、对象和DOM操作,进而实现客户端的特效、验证、交互等。
建议可以看《javascript语言精粹》,js是一门很混乱的语言,这本书能够帮助你区分哪些是语言的精华,哪些是糟粕。如果是精华部分,我们在后续进阶部分可以深入研究,而如果是糟粕部分,那么只要大概看懂别人写的渣代码就可以,自己还是不要尝试为妙。
通过这三个阶段的学习,我们就可以往更高级的web前端工程师进阶了!
附Web前端工程师学习图:
更多编程技术,就来w3cschool。
SS虽然前期学习门槛比较低,但后期学习难度陡增。
甚至擅长C++或者Java之类的程序员在学习CSS时往往都会很不适,其背后的原因是,典型的计算机开发语言看重逻辑思维和抽象能力,但是CSS本身却并无逻辑可言,它看重的是特性间的相互联系和具象能力,而这往往是偏理性的程序员所不擅长的。
国内知名的前端博客“鑫空间-鑫生活”的博主
@张鑫旭
老师在十余年的工作积累中,逐渐形成了一套对于CSS的完整认知体系:在CSS的世界中,CSS并不是一个机械枯燥的语言,它的所有属性都是有血有肉、有着不同个性和身世的个体。不同的个体可以碰撞出不同的火花,激荡出异彩纷呈的故事。
在他编写的“CSS三部曲”的第一本书《CSS世界》的开篇,他脑洞大开地将CSS世界比作一部动漫:
首先,动漫名可以叫作《建筑神域》,讲述一群建筑魔法师为国家存亡惊心动魄战斗的故事。
然后,出现了“Chrome王国”的几位建筑魔法师日常训练的画面。只见名为width的魔法师手持名叫选择器的法器,准确指向称为<div>的最普通的块状建筑魔法石,口中念道:“层叠天星,幻化有形,50%,变!”只听见一声清脆的“啪”,<div>魔法石宽度变成了原来的一半。
然而,width却锁眉摇头,口中喃喃念道:“1毫秒,还不够快,还要再练,不然在和‘IE王国’的战斗中很难占得先机!”。
此时,width突然发现前面1米之处有一块<span>之石,具有class="test"的特殊标记,便立即拿出“法器”选择器,念道:“类名之石,test为名,为我选择,出!”
话音刚落,<span>之石蓝色荧光一闪,明眼人都能看出来,width魔法师和<span>魔法石现在处于契约状态。
width继续念道:“层叠天星,幻化有形,50%,变!”
但<span>魔法石却没有任何变化,此时width一拍自己的脑门,似乎明白了什么,转过头对旁边的display魔法师大声叫道:“小D,这边这边,过来帮个忙……来呀,快点……”
只见display迅速结束自己的练习,屁颠屁颠跑过来:“咋啦?”
width说:“此为内联之石,我无法驾驭,你帮我重塑一下。”
display回道:“小问题!正好,魔法师技能委员会刚通过了我的一个新法术,我给你秀一秀?”
“哟,不错啊,快让我瞅瞅!”
“好嘞!”只见display拿出自己的“法器”,念道:“类名之石,test为名,为我选择,出!”紧接着,“层叠天星,幻化有形,flex,变!”
只听见一声清脆的“啪”,在width和display的合作之下,<span>魔法石宽度也变化了。
“哟,很酷嘛!”width对display竖着大拇指称赞道。
只见display腼腆一笑,小手在面前轻轻一挥:“就算你这么夸我,人家也不会开心的啦……”
从上面的故事中不难看出:
在CSS世界中,HTML是魔法石,选择器就是法器,CSS属性就是魔法师,CSS各种属性值就是魔法师的魔法技能,浏览器则是他们所在的“王国”,“王国”会不断更新法律法规(版本升级),决定是否允许使用新的魔法石(HTML5新标签新属性),是否允许新的魔法师入“国籍”(CSS3新属性),或者允许魔法师使用某些新技能(CSS新的属性值),以及是否舍弃某些旧的魔法技能(如display:run-in)。
操作系统是各个魔法石所在的世界,不同的操作系统代表不同的平行世界,所以CSS世界有这么几个比较大的平行世界,即Windows世界、OS X世界以及移动端的iOS世界和Android世界。
不同世界的浏览器王国的命运还不一样,例如,在OS X世界中,IE王国是不存在的,而Safari王国却异常强大,但在Windows世界中,Safari王国却异常落寞。
以上这一切就构成了完整的CSS世界的“世界观”。
作为讨厌写CSS的前端工程师,尽管看着这样的魔法世界会感到很神奇,但无奈自己就像是个“麻瓜”一样无法融入这庞大的魔法世界,从而感到异常的愤怒。
但是,既然CSS是个“魔法世界”,那么就要用“魔法”来打败“魔法”!
就像张鑫旭老师这样讲CSS世界体系的教学方法,可以培养大家从宏观层面认识与理解CSS的习惯,并且也方便大家更加深刻地记忆这些看似枯燥的代码。
张鑫旭老师在从事IT行业的十多年时间里,参与过大量的Web前端开发项目,也正是凭着这些经历所带来的深刻思考和独特洞见,他创作了蕴含大量从实际项目开发角度出发的“CSS三部曲”。
在谈到所创作的这三部曲时,他建议先阅读《CSS世界》,这是整个CSS世界的基础,《CSS新世界》是在《CSS世界》基础上构建的高楼,而《CSS选择器世界》是整栋大楼的钢筋骨架,所以,建议《CSS选择器世界》在《CSS新世界》之前阅读,或者同时阅读。
探索一条看似和其他编程语言不同的曲径之路是艰辛的。张鑫旭老师坦言,他也曾有过彷徨,有过犹豫,甚至考虑过其他更对自己有价值的领域,但他还是决定坚守本心,记录下了探索之路上的每个角落,他“相信技术的价值,技术强悍事业必然有成”
*请认真填写需求信息,我们会在24小时内与您取得联系。