百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

史爱武:Web前端开发的岗位职责(web前端开发岗位要求)

sinye56 2024-10-27 14:09 6 浏览 0 评论

来源于微信公众号:计算机大学生

Web前端是在PC端、移动端等浏览器上展现给用户浏览的网页。从技术角度来说,Web前端是利用HTML、CSS、JavaScript(简称JS)三大核心技术,以及衍生技术(框架)开发出来的主要在浏览器上展示的页面。从显示设备来说,主要有两种:一是PC端端浏览器所展示的Web页面;二是移动端的网页,也就是手机、平板等移动设备上通过浏览器所展示的Web页面(H5网页)。

网页制作是Web 1.0时代的产物,那时网站的主要内容都是静态的,会点Photoshop和Dreamweaver就可以制作网页,用户使用网站的行为也以浏览为主。现在互联网已经深入到每个人生活的各个方面,各种Web项目推陈出新,各种定制化的UI风格千奇百怪,各种浏览器兼容问题层出不穷,IT业界在不断的摸索中发现,把HTML、CSS、JavaScript等这部分前端工作独立出来,交给一个新的岗位——Web前端开发工程师来处理,后端开发工程师就可以专注于数据接口的开发以及业务逻辑的处理了。这样一来,前后端分离的开发模式就出现了。

Web前端开发是互联网时代软件产品研发中不可缺少的一种专业开发角色,他们在产品开发环节中的作用也越来越重要,这方面的专业人才近些年也备受IT行业的青睐。简单地说,Web前端开发工程师的主要职能就是使用HTML、CSS、JavaScript等专业技能和工具将产品UI设计稿实现成网站产品,处理视觉和交互问题,把网站的Web界面更好地通过浏览器呈现给用户。

在PC互联网早期,Web前端以内容和图片为主。随着智能手机的普及,以及HTML5和CSS3的应用,Web前端开始向手机端发展。起初,Web前端仅能在手机浏览器上显露身手,用户也只能在手机自带的浏览器中访问Web前端界面。后来,随着手机性能的提升,Web前端技术开始用于APP开发。比如,基于APICloud等混编平台,前端开发人员可以利用HTML/CSS/JavaScript等Web前端技术实现一套代码,然后编译成安卓和苹果两个移动设备的APP,大大拓宽了Web前端开发的应用范围。随着移动终端的广泛应用以及APICloud等混编平台(技术)的发展,Web前端开发的应用范围越来越广:APP开发、H5开发、微信公众号开发、微信小程序开发、百度小程序、今日头条小程序,等等。现在来看,手机等移动终端上使用的应用功能,绝大部分都可以用Web前端开发技术来实现。

5G、物联网,VR、可穿戴设备、车载系统、智能交互等新兴技术和应用场景的出现给Web应用带来的变化必然是巨大的,前端开发将不限于传统的PC显示器和各种尺寸的手机屏幕,未来的Web前端开发会直接进入各个垂直领域,这也意味着前端开发将更加多样化、复杂化,也将有更?阔的发展空间。

从人员趋势上来看,开发团队的人员配备也在向前端开发倾斜,也称“大前端”,包括PC端开发、Android开发、iOS开发、小程序开发、其他移动设备端开发等,前端工程师的角色不断细化或者承担的工作任务不断扩大。特殊的移动前端开发的详细内容将在后面“移动开发”章节里详述。

岗位职责

Web前端开发主要指的是利用HTML/CSS/JavaScript等核心技术和框架来实现Web页面,并通过浏览器来展示给用户交互使用的。Web前端开发的核心技术是HTML、CSS、JavaScript三大件,Web前端页面的显示工具是各种主流的浏览器,显示设备是PC、笔记本,或者手机、平板等移动端设备。下面是网上的一个Web前端开发工程师的岗位职责描述。

岗位职责:

1、负责产品PC端和移动端页面的前端设计开发工作,为产品前端开发提供专业的技术解决方案;

2、负责web前端功能开发和重构,保持高效的前端性能,优秀的代码可维护性,良好的浏览器兼容性;

3、负责与产品团队和UI/UE设计团队相互配合,优化项目的用户体验,解决产品在使用过程中出现的资源占用问题,提高产品的易用性、可用性,优化用户体验;

4、设计开发高效可复用的UI组件,提高开发效率和降低维护成本;负责对web前端开发领域的前沿技术进行研究与应用,为产品研发提供具有前瞻性的建议;

5、负责协助产品的后端开发团队,确保代码有效对接,使前后端的功能实现匹配;

6、持续优化前端体验和页面响应速度,并保证兼容性和执行效率,以满足系统性能要求。


Web前端是运行在PC端、移动端等浏览器上展现给用户浏览的网页。很直观地,从用户角度来看,Web前端开发工程师要开发出美观易用的用户界面。从浏览器角度来看,他们开发的前端用户界面要能兼容尽可能多的主流浏览器,包括IE、Chrome、Firefox、Safari、Opera、UC、QQ浏览器等PC或移动端浏览器。从显示设备来看,Web前端开发工程师还要考虑页面性能等问题,特别是在手机等移动设备和移动网络环境下的页面卡顿、资源消耗等性能问题。

所以,Web前端开发工程师的主要工作职责包括:一是开发体验良好的用户界面;二是提升Web页面的浏览器兼容性和系统性能。

开发体验良好的用户界面

Web前端用户界面的体验至少包括两部分,一是美观,也就是呈现给用户的界面美观,能让人产生视觉舒适感;二是易用,也就是用户交互的流程与规范简单、易于理解,甚至是“傻瓜式”操作使用。

要开发出体验良好的用户界面,Web前端工程师一般要与UI/UE界面设计师合作,界面设计师完成软件的界面设计——用户界面、人机交互、操作逻辑的整体设计。界面设计师一般要完成两方面设计工作,一是静态的视觉设计,也叫“美工”工作。实际上他们承担的不是单纯意义上美术工人的工作,而是软件产品的用户界面“外观”设计。二是动态的交互设计,主要是设计软件产品的操作流程、操作规范、功能结构及组织方式等。

然后,Web前端开发工程师把静态的视觉设计和动态的交互行为设计(如交互模型、交互规范等)实现成为Web页面。Web前端开发的流程包括:根据UI/UE设计人员设计好的效果图,利用Photoshop进行切图,切出代码中要使用的图片,比如Logo图片、按钮、提示标志,等等;使用HTML、CSS、JavaScript等技术、库和框架实现效果图的Web页面,同时需要和后端人员交流所需要调用的后端程序接口API或数据库;将最终完成的前端页面交给后端人员集成,基于后端的相关数据来测试前端界面是否正常。

分别地,Web前端开发工程师要和UI/UE设计师和后端人员交流和合作。他们要用HTML/CSS/JavaScript编程语言来实现设计师的视觉设计和交互设计,主要利用HMTL与CSS构建页面(HTML将元素进行定义,CSS对展示的元素进行定位),用JavaScript完善交互以及用户体验,包括弹出层、页签切换、图片滚动、AJAX异步请求等。Web前端开发工程师与后端人员的合作工作主要是数据交互的程序接口API和数据表的内容,也就是利用JavaScript调用后端提供的交互接口API或者直接用SQL语句访问后端的数据库。

提升Web页面的浏览器兼容性和系统性能

浏览器种类多,而不同浏览器的内核亦不尽相同,所以各个浏览器对网页的解析就有一定出入,这也就导致了Web页面的浏览器兼容性问题。Web页面需要在主流浏览器(如IE、Chrome、Firefox、Opera、Safari,国内的360、QQ等浏览器基本是基于Chrome内核的)上正常运行,就需要处理好浏览器的兼容。

浏览器兼容性问题又被称为网页或网站兼容性问题。不同浏览器内核及所支持的HTML/CSS/JavaScript等前端语言标准不同,不同的浏览器对同一段代码有不同的解析,造成页面显示效果不一致。所以,Web前端开发人员经常会碰到并必须要解决这些浏览器的兼容性问题,既要涉及不同种类的浏览器的兼容问题,也要考虑同一种类浏览器的不同版本的兼容问题。

按Web前端三种开发语言来分类,浏览器的兼容问题一般分为HTML兼容、CSS兼容和JavaScript兼容。 HTML相关兼容问题一般比较容易处理,无非是高版本的HTML文件用了一些低版本浏览器无法识别的新标签、新元素等,导致低版本浏览器无法解析,特别是下一代的HTML标准HTML5增加了许多新的特性。CSS兼容性问题就需要开发特定于浏览器的 CSS 代码语句来解决,无论哪种浏览器,它能解析对应的CSS代码确保无缝的用户体验。在JavaScript中,各个浏览器基本语法差距不大,其兼容问题主要出现在各个浏览器的实现上,尤其对事件的支持(如事件的绑定方法函数、事件的捕获方式、事件处理的属性传入等)有很大不同。尽管各种浏览器支持的JavaScript的差异还是不少的,但是具体实现过程中Web前端开发工程师对JavaScript的兼容性问题却不是很头疼,主要因为开发过程中一般都会使用开源的成熟的类库或自己团队积累多年形成的类库,这里面的JavaScript浏览器兼容性问题基本都解决了。

用户体验是web产品非常重要的考虑因素,核心是让用户使用起来从感官到心理都觉得舒服,用户体验的好坏甚至会直接影响到用户的去留。体验差的网站各有各的不同,但是体验好的网站往往都有一些共性,这些优秀的特征凝聚了设计师、前端开发工程师和产品经理的大量心血和聪明才智。比如,访问交互速度迅速;动画效果顺滑流畅;易懂的用户操作反馈信息;简单的操作步骤;体验一致性;主体内容在最显眼的位置,等等。在这些优秀的用户体验中,最容易让人产生共鸣的往往是网站的性能问题,比如网站的访问交互速度。

Web 性能其实关注的是页面性能,一个页面的性能如何,主要看页面是否可以快速加载、是否及时响应用户反馈、是否提供流畅的动画和滚动效果等性能指标,这些主要关系到Web页面的加载性能和渲染性能两个方面。

从前端开发工程师的角度来看,Web 性能是从用户发出请求开始,到下载、解析和执行所有资源以及最终绘制界面内容的整个过程的时间及其他度量。Web前端开发工程师可以采用很多方法来提升性能。比如,网络带宽、文件大小、文件数量以及其他因素,直接影响着页面正常加载过程中所需的文件下载的时长。使文件尽可能小、减少HTTP请求的数量、预加载策略、延迟加载策略等方式能够减少页面加载时间;合理的顺序加载网站资源,使网页尽快可用,用户很快就能操作页面功能;使用 CSS 动画而不是 JavaScript 来制作动画,以及最小化由于 DOM 的更改而导致UI需要的重绘次数,这些最佳实践能够提高页面的平滑性和交互性。

对于用户来说,用户的主观感知性能才是最重要的。即使一个页面加载或一个操作响应需要很长时间,也可以通过一些方式让用户觉得没有那么慢。比如,在页面加载或数据请求过程中展示加载信息或加载动画;在上传文件、解析数据等交互场景时显示进度条。也就是说,页面可能不能做得更快,但你可以让用户感觉到很快。

Web前端开发工程师的核心工作就是Web前端页面的开发实现和性能优化。开发实现工作就是按照UI/UE设计师的视觉设计和交互设计完成用户界面的代码编写,并要能够兼容各种主流的浏览器。性能优化就是利用简化交互操作、提高交互响应速度等方式来提升系统性能,进而提升用户的交互体验。

相关推荐

RHEL8和CentOS8怎么重启网络

本文主要讲解如何重启RHEL8或者CentOS8网络以及如何解决RHEL8和CentOS8系统的网络管理服务报错,当我们安装好RHEL8或者CentOS8,重启启动网络时,会出现以下报错:...

Linux 内、外网双网卡路由配置

1.路由信息的影响Linux系统中如果有多张网卡的情况下,如果路由信息配置不正确,...

Linux——centos7修改网卡名

修改网卡名这个操作可能平时用不太上,可作为了解。修改网卡默认名从ens33改成eth01.首先修改网卡配置文件名(建议将原配置文件进行备份)...

CentOS7下修改网卡名称为ethX的操作方法

?Linux操作系统的网卡设备的传统命名方式是eth0、eth1、eth2等,而CentOS7提供了不同的命名规则,默认是基于固件、拓扑、位置信息来分配。这样做的优点是命名全自动的、可预知的...

Linux 网卡名称enss33修改为eth0

一、CentOS修改/etc/sysconfig/grub文件(修改前先备份)为GRUB_CMDLINE_LINUX变量增加2个参数(net.ifnames=0biosdevname=0),修改完成...

CentOS下双网卡绑定,实现带宽飞速

方式一1.新建/etc/sysconfig/network-scripts/ifcfg-bond0文件DEVICE=bond0IPADDR=191.3.60.1NETMASK=255.255.2...

linux 双网卡双网段设置路由转发

背景网络情况linux双网卡:网卡A(ens3)和网卡B(...

Linux-VMware设置网卡保持激活

Linux系统只有在激活网卡的状态下才能去连接网络,进行网络通讯。修改配置文件(永久激活网卡)...

VMware虚拟机三种网络模式

01.VMware虚拟机三种网络模式由于linux目前很热门,越来越多的人在学习linux,但是买一台服务放家里来学习,实在是很浪费。那么如何解决这个问题?虚拟机软件是很好的选择,常用的虚拟机软件有v...

Rocky Linux 9/CentOS Stream 9修改网卡配置/自动修改主机名(实操)

推荐...

2023年最新版 linux克隆虚拟机 解决网卡uuid重复问题

问题描述1、克隆了虚拟机,两台虚拟机里面的ip以及网卡的uuid都是一样的2、ip好改,但是uuid如何改呢?解决问题1、每台主机应该保证网卡的UUID是唯一的,避免后面网络通信有问题...

Linux网卡的Vlan配置,你可能不了解的玩法

如果服务器上连的交换机端口已经预先设置了TRUNK,并允许特定的VLAN可以通过,那么服务器的网卡在配置时就必须指定所属的VLAN,否则就不通了,这种情形在虚拟化部署时较常见。例如在一个办公环境中,办...

Centos7 网卡绑定

1、切换到指定目录#备份网卡数据cd/etc/sysconfig/network-scriptscpifcfg-enp5s0f0ifcfg-enp5s0f0.bak...

Linux搭建nginx+keepalived 高可用(主备+双主模式)

一:keepalived简介反向代理及负载均衡参考:...

Linux下Route 路由指令使用详解

linuxroute命令用于显示和操作IP路由表。要实现两个不同子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。在Linux系统中,设置路由通常是为了解决以下问题:该...

取消回复欢迎 发表评论: