Web前端工程师的职业生涯,我觉得可以分为三步,初级前端开发工程师- >
资深前端工程师- >
前端架构师。每种职责都有其不同的角色和分工。
前端开发工程师(或者说“网页制作”、“网页制作工程师”、“前端制作工程师”、“网站重构工程师”),这样的一个职位的主要职责是与交互设计师、视觉设计师协作,根据设计图用HTML和CSS完成页面制作。同时,在此基础之上,对完成的页面进行维护和对网站前端性能做相应的优化。
资深前端开发工程师,相比较“前端开发工程师”而言,更加资深一些,当然其工作的职责也会相应的更加大一些。一般而言,资深前端开发工程师需要使用JavaScript或者ActionScript来编写和封装具有良好性能的前端交互组件,同时还要对Web项目的前端实现方案提供专业指导和监督并在日常工作之中对新人及相关开发人员进行前端技能的培训和指导。另外,还要跟踪研究前端技术,设计并实施全网前端优化。
对于前端架构师,更多意义上说像是一个管理的岗位,但是其职责要求却不仅只是管理。前端架构师需要带领组员实现全网的前端框架和优化,还要创建前端的相应标准和规范,并通过孜孜不倦的布道来完善并推广和应用自己的标准和框架。同时,还要站在全局的角色为整个网站的信息架构和技术选型提供专业意见和方案。
林灿斌,C/Web前后端/数据库/信息安全/移动客户端…
前端是负责输出到客户端的页面的编写,为了提升用户体验(很滥的词不过都这么说)。
Web前端工程师一般都要求要能熟练使用HTML、CSS、JavaScript。题主既然问到了AJAX这样的问题,那我想题主甚至可能对JavaScript都不太熟悉,那么就不能称为Web前端工程师了,只掌握了HTML和CSS的话,只能叫网页美工了。
不能打架,不能打架。AJAX的好处都有啥?谁说对了就给他!
下面我来说下AJAX的重要性:
1、节省带宽和运算压力。像navibar、footer之类的,各个页面基本一致的,大量重复。使用AJAX局部刷新需要更新的content,节省服务器带宽和运算压力,在网站PV足够大的情况下,会有一定的提速左右。特别是一个长帖子/问题/博文,发布回帖/答案/评论时,使用AJAX
submit数据,对比用form
submit,速度和对服务器的压力,差距可以以倍来计算。
2、用户体验,首先由于上面的原因,使用AJAX获取的数据会更少,而且不需要二次渲染navibar、footer之类的重复元素,也会快一些。另外网页从一个跳转到另一个的时候,会整个闪成白色再重新载入新的页面,用户体验不好。像知乎这样,我可以非常方便地修改答案,体验就很不错。
3、看到知乎这个保存草稿的功能了吗?非常实用的功能,前段不用AJAX做你等着后端拿着form
submit去实现吗?那得是多蛋疼的体验。
当然,也有一些不适用的场景,例如需要做SEO优化的场景。
10年时我写过篇BLOG有说起过这个
水想前端(一):鸟瞰 。
在咱前端的头上,有三座大山:设计、后台、兼容性。
一前一后都不如别人专业,而兼容性问题,看得出问题、却看不出水平。不禁仰天长叹:我勒个去!
从这点上来看,前端挺像秘书,做的是润滑剂,但却有点吃力不讨好。
---
而从现在看来,前端的发展道路太多太多了,他是个发展太快的领域,所以现在呈现出一片混乱的局势——这同时也是前端的机遇,乱世总能做更多事情的。
在我看来,这一片混乱的局势才是挑战的主要来源。
面临的挑战有:
- 来自多终端的挑战:内容型网页的响应式设计。单纯IE与标准浏览器的角逐已经开始告一段落,开始进入更混乱的手机/平板/桌面三分天下的局势。页面重构童鞋们任重道远。
- 功能与开发效率的平衡:前端开始在非大众产品上崭露头角,尤其是后台管理系统、组织信息反馈系统等。这时我才不管什么low
Level API呢,君不见ExtJS,
YUIjs等哥斯拉久盛不衰?这时前端童鞋面临的往往是前后端甚至包括数据层面通吃的局面,这何尝不是挑战。(我一直觉得,这方面才是最适合后端转前端的路线)
- 混合式APP的大潮:不管是桌面端还是移动端,都越来越多软件/应用开始使用混合式的开发,从而在保证核心功能体验的同时、提升总体的开发效率。(Hybrid
App,反正我的理解是原生代码与WebView混合)
- 作为可互动终端:使得信息传达能更具体化、可视化、互动化。最典型的就是数据可视化方面的挑战(当然我觉得不止于此)。d3js的团队从protovis全力转入到d3js中就可见一斑:d3js更加强调可视化呈现的动画、以及即时反馈的交互能力。这在我看来也是WEB的未来之一。谁说WEB就必须是大众使用的呢?一个统一的标准总比每次都订做图形引擎来得要好。
张帅,发现问题,解决问题,创造价值 | Web dev…
1.
沟通。前端工程师在项目中处于一个中间位置,对下要和后端工程师商定接口,对上要和产品、设计有良好的沟通。无论哪一个环节中出现的问题,都会在前端最先表现出来,良好的沟通可以保证尽早发现并解决这些问题。
2.
写出可维护的代码。前端三大语言html,css,javascript都是十分灵活的,写出可以工作的代码并不难,真正难的是保证代码的可维护性。代码可维护性涉及的问题包括,(html)标签语义化,标签结构化,(css)
规则体系化,组件化,(js)框架的选择,模块化,高内聚,低耦合。
3.
写出高性能的Js代码。包括字符串操作,dom操作,ajax操作。需要考虑性能问题的环节实在很多。
4.
兼容性。兼容性问题仍在拖慢前端工程师工作进度的主要问题,等ie6死掉,国产浏览器外壳质量做的好一些,情况可能会有所好转。
5.
技术更新快。前端技术更新速度十分快,html5,css3,nodejs,
commonJs,按需加载,等等都是最近几年出来的。google又搞出一个Dart语言,鬼知道它会会真的把js取代了。
欧雷,世界公民
你的问题描述的方式让我觉得你不想去做 ajax
等与数据操作有关的事情,但从你在其他人回答的评论中的语言又表现出你是“迫于无奈”。不知道你的真实想法到底是什么……
不过,无论是哪种,都证明你对前端工程师这一职业不了解。下面的内容(摘自
https://gist.github.com/ourai/6411507)是一名优秀的前端工程师需要掌握以及具备的,供你参考——
开发技术
- 程序
- 标准规范
- 知识储备
- 作用域/闭包
- 数据结构
- 算法
- 编程范式
- 设计模式
- 软件架构
- 安全
- 富互联网应用程序
- 编程语言
- JavaScript
- ActionScript
- CoffeScript
- 页面
软技能
- 项目及工程管理
- 开发工具
- IDE
- 调试工具
- Google Chrome
- Mozilla Firefox
- Internet Explorer
- 测试工具
- 版本控制
- 代码检查
- 框架/库
- 模块化
- 模板
- 团队协作
- 责任心
- 完成任务为首要目标
- 不断优化完善代码
- 完善产品的用户体验
- 与不同岗位人员的沟通技巧
- 业务知识
- 领导能力