logo

010-62570007

您的位置:

华体会登陆注册

史爱武:Web前端开发的技能要求
发布时间:2022-10-01 11:04:38 来源:华体会登录网站 作者:华体会网址注册

  从整个Web前端开发团队来说,他们主要的工作就是Web页面的开发、优化和完善。对于初级Web前端开发工程师来说,他们主要还是关注于前端页面的开发实现,性能的优化以及架构的完善工作主要还是中高级Web前端开发工程师或者前端架构师来完成的。就算是关注于前端页面的开发,上节描述的岗位职责他们还是要完成的,也就是按设计要求或者产品经理要求开发完成前端用户界面的代码;前端代码除了实现功能需求和交互良好之外,还要能兼容多种主流的浏览器或者指定的几种浏览器;系统性能至少要能达到基本的用户体验要求。

  从上述的任职要求以及上节的岗位职责来看,Web前端开发工程师的技能要求主要有:一是HTML、CSS和JavaScript三大件;二是Vue、React、Augular等前端框架。

  Web网页主要由结构、 表现和行为三部分组成,然而三个组成部分分别是由HTML、CSS、 和JavaScript来实现。HTML是网页内容的载体,内容就是网页制作者放在页面上想要让用户浏览的信息,可以是文字、图片、视频等。CSS样式是改变内容外观的表现,就像网页的外衣,比如:标题字体、颜色变化、为标题加入背景图片、边框等。JavaScript是用来实现网页上的特效效果和用户交互,比如鼠标滑过弹出下拉菜单、鼠标滑过表格的背景颜色改变、焦点新闻的轮换,等等。一般地,动画或用户交互都是用JavaScript来实现。

  总之,HTML 控制网页的结构和内容(“是什么”),CSS 设定网页的外观表现样式(“什么样子”),JavaScript 控制的是网页的行为(“做什么”)。

  HTML是超文本标记语言(Hyper Text Markup Language,简称HTML),一种用来设计网页的标记语言。HTML是一个网页的骨架,无论是静态网页还是动态网页,最终返回到浏览器端的都是HTML代码,浏览器将HTML代码解释渲染后呈现给用户。

  一个网页可以对应多个HTML文件,它们以.htm或.html为扩展名。可以使用任何能够生成txt类型文件的文本编辑器来编辑HTML文件。标准的HTML文件都具有一个基本的整体结构,标记一般都是成对出现(部分标记除外,如br/img/),即HTML文件的开头与结尾标志和超文本标记语言的头部与实体两大部分。下面三个双标记符用于页面整体结构的确认。

  html/html:标记符html说明该文件是用超文本标记语言来描述的,它是文件的开头,而/html则表示该文件的结尾,它们是HTML文件的开始标记和结尾标记。

  head/head:这两个标记符分别表示头部信息的开始和结尾。头部中包含的标记是页面的标题、序言、说明等内容,它本身不作为内容来显示,但影响网页显示的效果。头部中最常用的标记符是标题标记符和meta标记符,其中标题标记符用于定义网页的标题,它的内容显示在网页窗口的标题栏中,网页标题可被浏览器用做书签和收藏清单。

  body/body;网页中显示的实际内容均包含在这2个正文标记符(也称为实体标记符)之间。

  HTML元素是构建网站的基石。HTML允许嵌入图像与对象,并且可以用于创建交互式表单,它被用来结构化信息——例如标题、段落和列表等等,也可用来在一定程度上描述文档的外观和语义。HTML文件中也可以嵌入(或引用)CSS层叠样式表来定义文本和其它元素的外观与布局,嵌入JavaScript脚本语言来改变网页的行为。

  HTML5是Web中核心语言HTML的规范,它结合了 HTML4.01的相关标准并革新,符合现代网络发展要求。HTML5是公认的下一代Web语言,极大地提升了Web在富媒体、富内容和富应用等方面的能力,被喻为终将改变移动互联网的重要推手。

  为了更好地处理PC端和移动端的互联网应用,HTML5添加了很多新元素及功能,比如: 图形的绘制、多媒体内容,更好的页面结构,更好的形式处理、网页应用程序缓存,等等。虽然技术人员在开发过程中可能不会将这些新技术投入应用,但是对于该种技术的新特性和新功能,Web前端开发人员还是要有所了解的。

  CSS是英文Cascading Style Sheets的缩写,叫做层叠样式表,是一种用来表现HTML或XML等文件样式的计算机语言,是能够真正做到网页表现与内容分离的一种样式设计语言。CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。

  CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。相对于传统HTML的表现而言,其样式是可以复用的,极大地提高了前端开发人员的速度,降低了维护成本。

  CSS样式就是定义如何显示html元素,设置他的背景、字体大小颜色、边框等等,被用于描述网页上的信息格式化和显示的方式。CSS样式可以直接写入HTML网页或者单独的样式表文件。无论哪一种方式,样式表包含将样式应用到指定类型的元素的规则(如文本段落或链接的格式化指令),样式规则由一个或多个样式属性及其值组成。为了代码简洁便于维护,大多数情况下,样式表规则被放置在一个带有文件扩展名CSS的外部样式表文件中,网页通过一个特殊标签链接外部样式表文件。

  CSS中的“C”是“层叠”的意思,表示样式表规则应用于HTML文档元素的方式。具体来说,CSS样式表中的样式形成一个层次结构,更具体的样式覆盖通用样式。样式规则的优先级由CSS根据这个层次结构决定,从而实现级联效果。

  CSS3是CSS(层叠样式表)技术的升级版本,于1999年开始制订,2001年5月W3C完成了CSS3的工作草案,主要包括盒子模型、列表模块、超链接方式、语言模块、背景和边框、文字特效、多栏布局等模块。

  CSS3规范的一个新特点是它被分成若干个相互独立的模块。一方面,这一新特点有利于CSS3规范及时更新和发布。这些模块独立实现和发布,能够及时调整模块的内容,为CSS3的扩展奠定了基础。另一方面,由于受设备支持和浏览器厂商的限制,设备或者浏览器可以有选择的支持一部分模块(CSS3模块的一个子集),这种可选的模块支持模式易于受行业和企业界的接受,也有利于CSS3规范的应用推广。但是,不同浏览器(设备)在不同时间支持不同模块,这也让浏览器兼容问题变得复杂了。

  JavaScript(简称“JS”)是为满足制作动态网页的需要而诞生的一种编程语言,是由 Netscape(网景通信公司)开发的嵌入到 HTML 文件中的基于对象(Object)和事件驱动(Event Driven)的解释型脚本语言。JavaScript提供了一些内置函数、对象和DOM操作,借助这些内容我们可以实现一些客户端的特效、验证、交互等网页和用户的实时、动态交互。目前几乎所有的浏览器都可以很好地支持 JavaScript。由于 JavaScript 可以及时响应浏览者的操作,控制页面的行为表现,提高用户体验,因而已经成为前端开发人员必须掌握的语言之一。

  JavaScript是当前最流行、应用最广泛的客户端脚本语言,常用来在网页中添加一些动态效果与交互功能,为用户提供更流畅美观的浏览效果,在 Web 开发领域有着举足轻重的地位。虽然它是作为开发前端页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,比如,Node.js就是一个基于 Chrome V8 引擎的JavaScript运行环境,以前 JS 只能运行在浏览器中,Node.js 出现之后,不管是服务器上,还是我们个人的笔记本上,只要安装了 Node.js 就可以运行 JS 代码了。

  JavaScript 与 HTML 和 CSS 共同构成了用户浏览器所看到的Web网页,其中,HTML 用来定义网页的内容,例如标题、正文、图像等;CSS 用来控制网页的外观,例如颜色、字体、背景等;JavaScript 用来实时更新网页中的内容,比如,在HTML页面嵌入动态文本;对浏览器事件做出响应;读写HTML元素;在数据被提交到服务器之前验证数据;检测访客的浏览器信息;创建和修改cookies,等等,可以让网页更加生动。

  核心(ECMAScript):脚本语言的核心内容,定义了脚本语言的基本语法和基本对象。现在每种浏览器都有对ECMAScript标准的实现。

  文档对象模型(DOM):它是HTML和XML文档的应用程序编程接口,提供处理网页内容的方法和接口。浏览器中的DOM把整个网页规划成由节点层级构成的树状结构的文档。用DOM API可以轻松地删除、添加和替换文档树结构中的节点。

  浏览器对象模型(BOM):浏览器对象模型描述对象与对象之间层次关系的模型,提供了独立于内容的、可以与浏览器窗口进行互动的对象结构,以及与浏览器进行交互的方法和接口。

  JavaScript语言具有以下特点:1) 解释型脚本语言。JavaScript 是一种解释型脚本语言,与 C、C++等语言需要先编译再运行不同,JavaScript 代码不需要编译,可以直接运行。2) 面向对象。JavaScript 是一种面向对象语言,使用 JavaScript 不仅可以创建对象,也能操作使用已有的对象。3) 弱类型。JavaScript 是一种弱类型的编程语言,对使用的数据类型没有严格的要求,比如,可以将一个变量初始化为任意类型,也可以随时改变这个变量的类型。4) 动态性。JavaScript 是一种采用事件驱动的脚本语言,它不需要借助 Web 服务器就可以对用户的输入做出响应,比如,鼠标在网页中点击或滚动窗口时,通过 JavaScript 可以直接对这些事件做出响应。5) 跨平台。JavaScript 不依赖操作系统,在浏览器中就可以运行。因此一个JavaScript 脚本可以在任意系统(如Windows、Linux、Mac、Android、iOS等)上运行,只需要系统上的浏览器支持 JavaScript 即可。

  JavaScript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。JavaScript可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。

  框架是对基础代码进行封装,并且提供对应的API接口。开发人员基于框架的开发可以直接调用封装好的API,避免重复编写很多基础代码,也就是不需要重复“造轮子”。前端常用的框架有Vue、React、Angular等,后端常用的框架有Spring、SpringBoot、Mybatis等。这些框架都有一个共同的特点——简单、高效,所以基于框架的开发极大地提高了开发人员的工作效率。

  形象来说,框架可以理解为一个毛坯房。有了这个毛坯房,你可以装修成自己想要的样子,而不需要再一砖一瓦的去盖房子,省略了盖房子主体架构这些步骤。

  框架可以帮助开发者不再重复编写一些基本的底层代码,只需调用框架的API接口方法就可以实现想要的功能。学习框架的目的就是提高开发人员的工作效率,使开发人员不再需要重复“造轮子”,可以把更多的时间用在业务流程和逻辑的理解以及编写业务相关的代码。虽然没有框架我们依然能够进行开发,但是没有框架我们就要编写那些原生的API,我们的开发效率将远低于基于框架的开发。而且,与经过多年不断更新迭代的成熟框架相比,我们自己编写的代码(自己造的轮子)的安全性和稳定性肯定是远远不足的。

  GitHub的调查数据显示,2021年最主流的前端框架分别是:Vue、React、Angular。国际使用人数排名从高到低分别为React、Angular、Vue,使用难度分级从低到高分辨是Vue、React、Angular,目前最容易入门的是Vue,也是最受欢迎的前端框架之一,排名第二的是React,这也是一款非常成熟的框架,而Angular是一款重量级框架,排名第三。

  Vue是一套用于构建用户界面的渐进式JavaScript开源框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方的库或已有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用(SPA)提供驱动。

  Vue 的目标是通过尽可能简单的 API 实现响应式数据绑定和组合的视图组件。响应式数据绑定就是当数据发生变化的时候,视图自动更新,即双向数据同步;组合的视图组件即页面最终映射为一个组件树,采用树形数据结构进行设计,方便维护,重用。它不是一个全能框架——它只聚焦于视图层,因此前端开发人员学习Vue比较容易上手。

  Vue提供了MVVM数据绑定和一个可组合的组件系统,具有简单、灵活的 API。MVVM 是 Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对 View 和 ViewModel 的双向数据绑定,这使得 ViewModel 的状态改变可以自动传递给 View,即所谓的数据双向绑定。从技术上讲,Vue集中在MVVM模式上的ViewModel视图模型层,并通过双向数据绑定连接视图和模型,实际的DOM操作和输出格式被抽象成为指令和过滤器。

  Vue框架是中国人尤雨溪开源的项目,是我们国人的骄傲。目前,Vue应该是在国内各大公司用得最多的前端框架。

  React起源于Facebook的内部项目。因为Facebook公司对市场上所有JavaScript MVC框架都不满意,就决定自己写一套来架设Instagram网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。

  React是一个声明式、高效且灵活的用于构建用户界面的JavaScript库。使用 React 可以将一些简短、独立的代码片段组合成复杂的UI界面,这些代码片段被称作“组件”。React顺应了Web开发组件化的趋势。应用React时,总是应该从UI出发抽象出不同的组件,然后像搭积木一样把它们拼装起来。

  声明式:React 可以非常轻松地创建用户交互界面。为你应用的每一个状态设计简洁的视图,当数据改变时 React 能有效地更新并正确地渲染组件。以声明式编写 UI,可以让代码更加可靠且方便调试。

  组件化:创建拥有各自状态的组件,再由这些组件构成更加复杂的界面。组件逻辑使用 JavaScript 编写而非模板代码,因此你可以轻松地在应用中传递数据,并使得状态与DOM分离。

  使用方便:无论你现在正在使用什么技术栈,你都可以随时引入 React 来开发新特性,而不需要重写现有代码。React 还可以使用Node.js进行服务器渲染,或使用React Native开发原生移动应用。

  React主要得益于虚拟DOM的思想。在React中,对于每个 DOM 对象,都有一个对应的“虚拟 DOM 对象”。虚拟DOM能够在DOM改变时,分辨出新旧版本DOM的不同,只将DOM中改变的部分进行渲染,这是一种单向数据绑定,由于修改时不需要实时向屏幕渲染,因此操作虚拟 DOM 比更新原始 DOM 快很多,这是一种非常高效的浏览器DOM更新方式。

  AngularJS是一个客户端的JavaScript开源框架,特别为使用MVC架构模式的单页面Web应用而设计,可用于开发动态Web应用程序。它不是一个完整的技术栈,而是一个处理Web页面的前端框架。

  AngularJS完全基于HTML和JavaScript,因此无需学习其他语法或语言。AngularJS将静态HTML更改为动态HTML,它通过添加内置属性和组件扩展了HTML的功能,还提供了使用简单JavaScript创建自定义属性的功能。

  AngularJS最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。Angular通过指令扩展了HTML,以一个 JavaScript文件形式发布,通过script标签添加到网页中。

  近几年最火的前端框架当属Vue.js,它是一个构建数据驱动的Web界面的渐进式框架,它的目标是通过尽可能简单的API实现响应式数据绑定和组合的视图组件。很多使用过Vue的程序员这样评价它,“Vue兼具Angular和React的优点,并剔除了它们的缺点”。笔者和很多企业的开发工程师交流,普遍反馈是,Vue应该是国内企业用得最多的前端框架。

  对于一个中高级的Web前端开发工程师来说,不单单需要掌握前端必须的各种语言和框架,同时还要掌握一些后端的技术知识,也要对Web构架有一定的了解,还要掌握一定的SEO搜索引擎优化技术,能够利用搜索引擎规则提高网站的搜索排名。返回搜狐,查看更多

上一篇:润心启智大爱无痕——25个思政案 下一篇:南京医药股份有限公司2013年度