2023-09-15 13:22:22 | 我爱编程网
所有知识框架,那肯定是一个结构型的展现,就是一棵树。web前端的知识点非常多,也非常散,需要好几层结构来组织这个体系,否则就会显得很乱。那么如何组织、把谁和谁放在一块儿?这是真正值得我们去思考的,你也可以自己来思考一下这个问题。
在我总结的这个知识框架中,首先第一层我划分为:理论知识,类库框架,编码开发,运行环境。如下图:
接下来给大家解释一下:
这个图要从下往上看,为何?——因为下面是上面的基础;
首先,我们需要一定的理论知识,不管是你听别人讲授、自己看书还是网上淘资料,你都需要一定的理论知识,每一种程序开发,都避免不了。
第二,有了这些理论知识我们就可以编码了——不错——but,没有人能抵挡住第三方框架和类库的诱惑,例如jquery;
第三,有了这些理论知识和协助我们的类库框架,我们就可真正的编码了。大家可能以为编码开发不就是写代码吗,还有啥?——这里面道道多着呢;
最后,开发程序的目的,最终是为了能高效、稳定的运行在相应的环境中,这其中又有哪些事情需要我们去做?请期待;
理论知识 包括“软知识”和“硬知识”
“软知识”和“硬知识”大家可能觉得词陌生,其实我一说大家就能明白。
所谓“软”的就是能在各个程序开发中都用到的,算是基本功、内功,例如 数据结构 、算法、 设计模式 、面向对象等等;
所谓“硬”的就是能直接用于本程序开发的。用C语言你就得学C语言语法,此时学java没用。我们web 前端开发 所需要的硬知识其实都包含在三个标准里面:http标准、 W3C标准 和ECMAScript标准;
聊一聊web前端开发中的“硬知识”
“软知识”的内容非常多,也是我们大学时代学习的重点(没学好是另回事儿,毕业再恶补)。我们本次主要讨论的是web前端这一个方向,因此就点到为止,让大家知道这些知识也在知识体系中扮演重要角色。
刚才说道,硬知识有三个标准:http标准、W3C标准和ECMAScript标准,那咱们就挨个聊聊这三个标准。
1. http标准
为什么做web前端要了解http标准?——因为浏览器要从服务端获取网页,网页也可能将信息再提交给服务器,这其中都有http的连接。web系统既然和http链接有 瓜葛 ,你就必须去了解它。
我的意见是:你不必去非常了解http的详细内容,但是你要了解web前端开发常用的一些http的知识——就是上图中我列出来的那些。当然,我知识列了一个纲,详细内容还得靠你自己去查阅(本文章讲的是知识框架,不会涉及任何知识点的详细内容)
关于这方面的知识,建议去查阅《图解http》这本书,浅显易懂的讲述了这些内容,我曾经也看过。
2.W3C标准
如果说你只知道web前端的一个标准,估计肯定是W3C标准了(据我了解,貌似大部分人真的都只知道这一个标准)。它的内容非常多,看看www.w3.org/TR/这个页面。
写到这里让我想起了一句话:2/8原则——20%的功能满足80%的需求。我觉得这句话用到这里非常合适,我们在平时开发过程中根本用不到这么多东西。反而,你要把平时用的多的东西搞懂了。
下图的这些知识,我想不用再过多解释了,这就是我文章开发说的“三大块”(html、css、js)。现在你要知道,它们只不多是W3C标准的一部分,而W3C标准也只是web前端开发知识体系中的一部分而已。
(下图没有完全展开,想看权展开的图,可下载本文一开始提供的附件)
关于CSS的基础知识,毛遂自荐一下自己之前的一篇系列博客:《CSS知多少》
3. ECMAScript
简称ES,写全称太麻烦了。
有些人可能只知道javascript,而不知道ES——其实,js是在ES的基础上,为web浏览器做了一部分封装(增加了DOM操作、BOM操作等)。
如上图中的这些概念,大家可能平时都在javascript中看到,其实他们是ES的内容。只不过javascript继承了ES的这些特性,并且javascript用的比较广泛,因此才会在js中讨论的多一些。
还是那个“2/8原则”。其实ES中的内容也非常多,而且更新很快,现在都到ES6了。但是我上图中列出来的这些都是最重要的概念。如果你不懂原型、闭包和作用域,那就说明你还不完全了解ES,也就是不完全会用javascript。
在此毛遂自荐自己之前的一篇系列博客,大家可以去参考:《深入理解javascript原型和闭包系列》
5. 框架和类库
前面已经描述完了web前端开发所需要的理论知识。如何实践呢?——不能蛮干——还得绕世界去看看,有哪些大牛已经为我们做出了如此多的贡献。
用下面的这些类库或者框架,能大大提高你的开发效率。
首先,jquery一定是大部分web前端开发者不可或缺的工具。而我利用jquery不仅仅停留在只使用它的API和插件上,我还会自己去写jquery插件,我还会去读jquery的源码、了解jquery的设计思路。如果你也能那样做,请相信我,你会收获到意想不到的效果。如果有一个问题:怎样才能最最透彻的理解javascript的事件系统?最佳答案之一:读几遍(一遍可能读不懂)jquery关于事件处理部分的源码!
bootstrap不用再过多解释了吧,从github上的排名也能看出道道来。甚至连我们公司的 UI设计师 ,都从bootstrap上截图作为素材。
fontAwesome是全世界最强大的图标系统。相比于css制作图标来说,这个要好很多倍,不管是开发、效率还是维护上。icomoon.io能让我自定义选择自己的图标文件。
requirejs和seajs这种模块定义系统,也一定是你系统中不可或缺的。我曾经看过一个教程,讲师就说:requirejs带来了既jquery之后的第二次前端技术变革。
其他的,backbone、angular、react这些也慢慢的开始发挥了他们的价值,此处精力有限就不再赘述了——但是,他们很重要——你至少要试着去了解它们。
6. 编码开发
要问编码IDE哪家强,当然要属 微软 的visual studio!但是即便是微软的VS最新版本,它也代替不了下面要说的这套开发环境。
如果你专门做web前端,就不要在用vs了,当然要选择sublime。写html语句还用手动一条一条写吗?你得需要zencoding的协助,否则效率太差了。
另外,针对html、css、js的压缩、合并、语法检查,文件的清除、复制这些操作,你还要手动去做吗?——你需要grunt或者gulp的帮助。
在此毛遂自荐自己的教程《用grunt搭建自动化web开发环境》,讲的比较详细,适合初学者学习。
如果你的系统中有比较多的js代码或者文件,请选择一个合适的模块定义规范——CMD / AMD
请用git来帮助你做文件版本管理,最简单的就是使用github。
调试、测试,也都有专门的工具,都是需要学的……
——我的天哪……这些字写到现在写的我的手都酸了,别说要学习这些知识了——再也别说我们web前端是“三大块”了!
7. 运行环境
当系统真正到了运行环境中,当你觉得终于完事儿的时候,其实还有好几个知识点需要你掌握。看下图:
首先,你要知道web系统虽然大部分是在浏览器下运行,但是js可能会被运行在node环境。
在浏览器环境下,最重要的两点是:web安全和性能优化。需要注意的纲要我都列出来了,如果想了解推荐两本书《白帽子将web安全》《高性能网站建设指南》
8. 其他
以上这些是全部的知识体系。如果你想成为一名合格的、让leader喜欢的程序猿,你除了知道这些知识之外,我觉得还需要以下几点:
要了解敏捷软件开发流程(如SCRUM)和项目管理知识(如考取PMP),这也属于一种“软”知识吧;
要学会在网上和别人交流(博客、qq群、开源项目),交流能让自己看到自己的不足;
要学会自我反省和自我学习。就像我现在一样,试着自己总结一下属于自己的东西,随时反省随时进步
要知道,无论是对于软件开发程序员还是说前端编程设计师,每个人手里都会有大量的资源和工具来使用的。那么职场新人又如何来积累自己的工具与资源呢?下面,我们就给大家分享了web前端开发的常见工具,一起来了解一下吧。
Brandy
Brandy是一款适用于macOS平台的品牌素材管理工具,你可以使用它来创建LOGO,管理字体和色彩,制作效果。一切都是实时呈现,一个帐号可以管理任意数量的品牌项目。此外,它还可以通过托拽来管理制作,非常方便。 我爱编程网
Picular
如果你想搜一个特定物品的色彩,要怎么办?Picular这款工具就是这样一个神奇的工具,你输入特定的单词或者短语,它就能给你输出这个东西对应的色彩。它的工作原理并不复杂,它会通过你的关键词获取图片,然后输出物品本身综合呈现出来的单一色彩,如果你将色彩悬停在色彩之上,能够看到源图片。
Drawser
Drawser是一个在浏览器中运行的矢量图形工具,你能够直接在屏幕上绘制和编辑,内含丰富的交互功能,你甚至能够和他人协作来绘制矢量图片。Drawser还包括社交模块和社区,用户能够发布项目,并且在开源项目中针对这些已经发布的图片素材进行编辑和优化。
RSSHub
RSSHub是一款轻量级的RSS聚合工具,几乎可以从任何网站服务中获取数据,非常简单易用,可以实现无缝的订阅体验。
SVGFilters
SVGFilters是一个非常有趣的SVG游乐场,简单的点击几下,你就能添加不同的效果。切换不同的设置,能够改变图片上的效果。生成的SVG文件之后,直接复制相应的代码即可使用。
CodeSurfer
CodeSurfer是一款用于滚动、缩放和显示代码的React组件。你可以突出显示单行代码或者多行代码,缩放长片段,等等。
ShrinkMe
ShrinkMe是一款图片压缩应用,可以在几秒钟内帮你完成图片压缩的工作。将图片拖到界面中,就可以获得可下载的、压缩过的图片。这款工具可以离线使用,一次压缩多个文件。
Fake3DEffect
3D效果真的一定需要通过建模来实现嘛?不一定!你可以借助这款工具制作出模拟的3D的效果和应有的视觉纵深,直接呈现,无需花俏的设备就能实现。
Splitting
Splitting可以帮你使用CSS来创建时尚的文本分割效果。通过创建元素并添加CSS变量的方式,你就能够实现。它足够轻量级,易于使用,并且附带专门的文档说明。
Tutorial:AdvancedEffectswithCSSBackgroundBlendModes
BennettFeely在这个教程中,介绍了如何使用不同的CSS属性来创建混合的背景对象,教程的核心也是关于背景的混合模式。
Food&DrinksIconSet
这是一组包含60个美食和饮料的图标合集,每个图标都包含有线性图标和彩色图标不同的版本和样式,下载这些矢量的图标,开始使用吧。
GradientIcons
GradientIcons是一组100个包含时尚渐变样式的不同类型图标,则组图标的付费版本中包含有1000个图标,不论免费版还是收费版都非常给力了。
EmojiOne4.0
EmojiOne4.0是一款在2023年重新设计过的表情符号系列,它是根据当下的设计趋势来重设计的,带有微妙的渐变和干净的界面。
BestAnimatedLogos
BestAnimatedLogos是一组高素质的动态图标,这组图标涵盖了Google到Tumblr等著名的企业的LOGO,非常值得学习。
HeardatWork
HeardatWork搜集了工作者们工作期间的真实的表达,这些人大都来自诸如纽约某个设计工作室,有趣,真实,甚至有点沙雕。这个项目是由JustineBraisted所创建的。
TheCarltonDance
TheCarltonDance是一个非常经典也令人发笑的舞蹈,电脑培训发现它源于90年代某个情景喜剧中的角色,有人将它制作成为一个纯CSS的动画,感兴趣可以看看~
NerdRobe
NerdRobe是一个专门为设计师设计各种极客衬衫的服务,它每周都会提供新的设计,可以说是对生活的一个非常不错的补充。
web前端开发都有哪些常见的工具?要知道,无论是对于软件开发程序员还是说前端编程设计师,每个人手里都会有大量的资源和工具来使用的。那么职场新人又如何来积累自己的工具与资源呢?下面,我们就给大家分享了web前端开发的常见工具,一起来了解一下吧。BrandyBrandy是一款适用于macOS平台的品牌素材管理工具,你可以使用它来创建LOGO,管理字体和色彩,制作效果。一切都是实时呈
web前端开发都有哪些常见的工具?要知道,无论是对于软件开发程序员还是说前端编程设计师,每个人手里都会有大量的资源和工具来使用的。那么职场新人又如何来积累自己的工具与资源呢?下面,我们就给大家分享了web前端开发的常见工具,一起来了解一下吧。BrandyBrandy是一款适用于macOS平台的品牌素材管理工具,你可以使用它来创建LOGO,管理字体和色彩,制作效果。一切都是实时呈
Web前端是干嘛的前端是在浏览浏览器的时候,它是网络前台的部分,运行在pc端。移动端等浏览器上展示给用户浏览的页面,利用完美的动态设计,能够给用户带来极高的用户体验。前端前端技术一般分为前端设计和前端开发,前端设计一般可以理解为网站上面的视觉设计,前端开发则是网站的前台代码实现。前端开发又最基本的三个核心,这也是必须掌握的三个重要的核心,分别是HTML、CSS、JavaScr
web前端开发都有哪些常见的工具?要知道,无论是对于软件开发程序员还是说前端编程设计师,每个人手里都会有大量的资源和工具来使用的。那么职场新人又如何来积累自己的工具与资源呢?下面,我们就给大家分享了web前端开发的常见工具,一起来了解一下吧。BrandyBrandy是一款适用于macOS平台的品牌素材管理工具,你可以使用它来创建LOGO,管理字体和色彩,制作效果。一切都是实时呈
几个免费的web前端开发工具本文主要和大家介绍十个免费的web前端开发工具详细整理的相关资料,希望通过本文大家能够理解使用免费web开发工具,需要的朋友可以参考下,希望能帮助到大家。十个免费的web前端开发工具网络技术发展迅速,部分技术难以保持每年都有新的工具出现,这同时也意味着许多旧的工具倒在了新技术的发展之路上。前端开发占据了web很大一部分,而且也成为了一种职业路径
web前端开发都有哪些常见的工具?要知道,无论是对于软件开发程序员还是说前端编程设计师,每个人手里都会有大量的资源和工具来使用的。那么职场新人又如何来积累自己的工具与资源呢?下面,我们就给大家分享了web前端开发的常见工具,一起来了解一下吧。BrandyBrandy是一款适用于macOS平台的品牌素材管理工具,你可以使用它来创建LOGO,管理字体和色彩,制作效果。一切都是实时呈
web前端开发需要哪些工具_web前端开发工具有哪些Web前端是一个新兴职业,市场需求大,薪资待遇高,吸引了很多人加入学习。无论是初学小白亦或是自身前端开发人员,好用的软件工具可以帮助他们更好的工作。今天千锋武汉给大家分享一下Web前端开发用什么软件。1、SublimeTextSublimeText是一个代码编辑器也是HTML和散文先进的文本编辑器。漂亮的用户界面和非凡的功能,
前端开发都需要哪些工具每个前端开发人员都有自己喜欢的开发工具,用这些工具能让编码更容易并且“令人愉快”。分享一些我认为真的很棒的很棒的Web开发工具!1.Glitchglitch好的,这不仅仅是一个工具,还是一个非常棒的编码平台以及一个很棒的技术社区。我可以在内置代码编辑器的帮助下托管我的项目。支持多种语言,但最适合NodeJS。2.Shadowsbrumm.
2023-10-08 16:59:01
2023-06-27 20:13:22
2023-10-18 13:43:23
2023-10-18 13:42:40
2023-10-18 13:33:48
2023-10-18 13:33:18