当前位置: 首页 > Web前端 > CSS

零基础前端开发初学者应该如何系统学习?

时间:2023-03-30 23:31:18 CSS

网站开发大致分为前端和后端。前端主要负责实现视觉效果和交互效果,以及与服务端通信完成业务逻辑。其核心价值在于追求用户体验。可以通过以下方式系统学习:基础知识:html+css这部分建议在w3school在线教程中学习,边学边练,每章后有小测。之后就可以模仿一些网站做一些页面了。关于javascript有很多东西要学。如果没有其他编程语言的基础,学起来可能要费点功夫。建议先在w3school上学习。之后,我建议立即阅读《javascript语言精粹》。js是一种非常混乱的语言。本书可以帮助你辨别哪些是语言的精华,哪些是糟粕。对于语言的本质,你应该深入研究它。别人写的代码,渣渣只要看得懂,就不用自己去尝试了。对于习惯看视频学习的同学,以上内容也可以在国内最大的IT技能学习平台MOOC上学习。虽然没用过,但是好几个同学推荐的,大概也看了,内容还不错。进阶:具备以上基础,可以进行一般的静态网页设计,复杂页面需要进一步学习。CSS。截止到今天(2015.12.08),天猫、淘宝、支付宝都已经停止支持ie6和7,相信以后大部分网站都会停止支持ie6和7,ie8的市场占有率没有它高两年前(天猫即将停止支持IE8,2016.12.13),webkit内核成为市场主流。对于css的学习,我推荐三个部分:《基本概念》、《css2.1规范》、《css3规范》。必读精通CSS(第二版)(豆瓣),读完这本书,你应该对:盒模型、流、块、内联、层叠、样式优先级等概念有一个很好的理解。这本书确实有些年头了,但是基本概念部分讲的很清楚,堪称经典。IE6、7相关内容无法阅读。css3部分可以参考:CSS3实战指南(豆瓣)。这本书也有点老了,但是最近出版的书里没有什么特别好的。javascript。上面提到的内容不足以让你胜任js编程。有了基础之后,进一步学习的内容包括:a)Framework。我推荐zepto,它易于使用。在w3school简单学习js后,可以直接使用zepto完成一些简单的项目。zepto源码简洁明了,也适合初学者阅读。补充:可以用codecademy学习javascript,zepto,用户体验真的很好(感谢TonyOuyang)。最近比较流行的框架有React、VUE、Angular等,大家可以根据自己的需要稍微学习一下。随着ie浏览器市场份额的下降和移动端的发展,标准的nativejs已经可以在实际项目中使用(目前需要es5shim、babel等),重点是ES5、ES6,ES7。b)javascript语言范式。这个名字可能不太合适,但是我找不到一个概念可以描述“面向对象”和“函数式”这两个概念。JavaScript不完全是一种面向对象的语言。它的很多设计理念都有函数式编程语言的影子。即使不使用面向对象,也完全可以把它理解为函数式编程语言。javascript的很多语言特性之所以存在,是因为它具有函数式语言的特性。这部分建议先学习面向对象的基础理论,理解封装、继承、多态等概念。维基百科和百度百科将是您的好帮手。另外推荐《object oriented javascript》,应该有中文版的。函数式编程可以参考这篇文章:JavaScript中的函数式编程实践c)javascript语言的内部机制。必须弄清楚以下几个概念:js中变量的作用域,变量的传递方式,函数的定义环境和执行环境,闭包,函数的四种调用方法(通用函数,对象方法,apply,call),四种在调用模式下,'this'指向谁。您将在《javascript语言精粹》中了解更多关于这部分的信息。d)dom编程,这个web前端工程师的核心技能之一。必读《dom编程艺术》,这本书里面关于dom编程的部分《高性能javascript》也很不错。e)ajax编程,这是另一个核心技术。Ajax建议在Internet上查找一些资料以了解这个概念的来龙去脉。百度百科和维基百科上的内容就够了。真正的编程非常容易。现在几乎所有的框架都对ajax进行了很好的封装,编程也不复杂。另外,未来几年ajax会被FetchStandard取代,这一点也需要了解。另外,你还需要了解xhr2、cors(跨站资源共享)、formData文件上传。(Web前端学习交流群:328058344不聊,喜欢不进!)f)es5,es6。现在js的开发大多基于es5,ie8及以下通过es5-shim。但是使用一些工具,现在可以直接写es6代码了,尤其是在reactjs和nodejs类型的项目中。es5到es6每个阶段js的变化需要系统研究一下。建议学习顺序为JavaScript基础->es5->es6,越早越重要。一些参考链接:ECMAScript5兼容性表ECMAScript6GettingStartedES5?ZhangXinxuhtml5.你需要知道HTML提供了哪些API,然后在项目中使用它们。这部分没有什么难理解的。关键在于能否使用html5解决业务问题,以及对不支持html5的浏览器的降级解决方案。这部分体现了一个前端思想:面向未来的编程,尽快将新技术引入业务,而不是过度考虑兼容性问题,导致面向过去的编程。更进一步代码级别:有了以上知识,您应该已经能够为大多数小型网站编写工作代码。但是想要成为一个更专业的前端,还是需要继续努力的。大概有四个更高的要求:1易维护,2可测试,3高性能,4低流量(移动端)。易于维护。对于页面,您应该了解“样式”、“数据”和“行为”的分离。当然对应的是css、html、js。对于js代码,你最好了解设计模式、重构、MVC等。可测试性。它是为了确保你的代码可以与单元测试100%覆盖地高性能地通信到所有分支。必读《高性能javascript》低流量。移动端关注度更高,PC端关注度不能太高更上一层楼。工程层面:前端项目也面临着软件生命周期的方方面面。首先是代码管理。你必须学会??使用svn和git。二是代码建设。如今,前端代码构建不再是简单的压缩。它需要依赖管理、模块合并和各种编译。必须学会使用grunt、gulp、webpack、rollup等前端构建工具,以及前端模块管理。方式,amd,cmd,es6模块等等。然后呢?以上内容只是对前端学习顺序的简单说明。一个前端工程师应该具备的知识结构可以参考这里:JacksonTian/fks·GitHub补充:对于前端开发来说,这是基础内容,大家可以根据自己的情况选择学习以下内容利益。交互设计。大公司还是有专业人士在做这个的,但是不懂交互的前端肯定不是好前端。推荐《简约至上》。后端。应该说前端工程师至少要懂一门后端语言,但如果有兴趣也可以深入学习,难度最低的应该是PHP。这部分可以分为基于页面和基于框架。大型项目都是基于框架开发的。建议至少了解一种MVC框架,比如php的ci、yii、yaf等,好在框架的设计思路都差不多。现在NodeJs已经在大公司得到广泛应用,推荐大家在Node上使用Koa框架来开发一些后端服务。安卓和ios开发。如今,前端工作领域已经非常广泛。原生界面开发本质上就是前端开发。所有大公司都面临着同时维护原生环境和web环境页面的问题。如果能在技术上统一起来,就会有很大的价值。对于有足够精力学习的同学,应该了解Native开发的基本流程,至少了解界面构建的技术。如果你能认真的看到这一点,说明你对前端有真挚的爱。最后一个关于编程习惯的问题,绝对是为了让你的工作安全,少一些麻烦。代码提交前必须做三件事:A.gitdiff(svndiff),检查所有变化;B.运行单元测试;C.手动运行所有演示。