热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

201508整理:前端工程师的(现在主要的问题、工作选择、技术前景未来)

一个小整理。原文:前端工程师的未来“前端工程师的未来”精华:A.偏向“现在主要的问题”:第一大挑战还是兼容性。虽然微软已经决定将ie6安乐死,ie910看起来相当标准。向后兼容似

一个小整理。

原文:前端工程师的未来

“前端工程师的未来”精华:

A.

偏向“现在主要的问题”:

第一大挑战还是兼容性。虽然微软已经决定将ie6安乐死,ie9/10看起来相当标准。向后兼容似乎轻松了,但向前兼容又开始越来越让人头疼了。打算搞一个web app,你会发现android上的webkit是多么混乱。在桌面浏览器上总是有css hack可以摆平,但在mobile上只能考虑退化方案。从兼容浏览器(外加套壳的浏览器)到兼容设备,实际上兼容性变得更复杂了。
第二大挑战是交互的复杂度。和目前UI/交互的要求相比浏览器引擎给我们接囗的确太低级了。于是今年前端技术的热门话题是各种Javascript, css的预处理器、各种mvc框架、和微框架的讨论。
第三大挑战是代码可维护性。复杂度的提升直接影响代码的维护性。JS/CSS/HTML代码生命周期越来越长,也就越来越需要从代码质量、架构和工具上保证它们的可维护性。代码的历史问题是永远的痛点。
第四大挑战是性能。
第五大挑战是个人成长。

B.

偏向“前景未来”:

Web前端工程师的职业生涯,我觉得可以分为三步,初级前端开发工程师- > 资深前端工程师- > 前端架构师。每种职责都有其不同的角色和分工。
前端开发工程师(或者说“网页制作”、“网页制作工程师”、“前端制作工程师”、“网站重构工程师”),这样的一个职位的主要职责是与交互设计师、视觉设计师协作,根据设计图用HTML和CSS完成页面制作。同时,在此基础之上,对完成的页面进行维护和对网站前端性能做相应的优化。
资深前端开发工程师,相比较“前端开发工程师”而言,更加资深一些,当然其工作的职责也会相应的更加大一些。一般而言,资深前端开发工程师需要使用Javascript或者ActionScript来编写和封装具有良好性能的前端交互组件,同时还要对Web项目的前端实现方案提供专业指导和监督并在日常工作之中对新人及相关开发人员进行前端技能的培训和指导。另外,还要跟踪研究前端技术,设计并实施全网前端优化。
对于前端架构师,更多意义上说像是一个管理的岗位,但是其职责要求却不仅只是管理。前端架构师需要带领组员实现全网的前端框架和优化,还要创建前端的相应标准和规范,并通过孜孜不倦的布道来完善并推广和应用自己的标准和框架。同时,还要站在全局的角色为整个网站的信息架构和技术选型提供专业意见和方案。

C.

偏向“前景未来”:

10年时我写过篇BLOG有说起过这个 水想前端(一):鸟瞰 。

在咱前端的头上,有三座大山: 设计、后台、兼容性
一前一后都不如别人专业,而兼容性问题,看得出问题、却看不出水平。不禁仰天长叹:我勒个去!
从这点上来看,前端挺像秘书,做的是润滑剂,但却有点吃力不讨好。


---

而从现在看来,前端的发展道路太多太多了,他是个发展太快的领域,所以现在呈现出一片混乱的局势——这同时也是前端的机遇,乱世总能做更多事情的。

在我看来,这一片混乱的局势才是挑战的主要来源。

面临的挑战有:

    1. 来自多终端的挑战:内容型网页的响应式设计。单纯IE与标准浏览器的角逐已经开始告一段落,开始进入更混乱的手机/平板/桌面三分天下的局势。页面重构童鞋们任重道远。
    2. 功能与开发效率的平衡:前端开始在非大众产品上崭露头角,尤其是后台管理系统、组织信息反馈系统等。这时我才不管什么low Level API呢,君不见ExtJS, YUIjs等哥斯拉久盛不衰?这时前端童鞋面临的往往是前后端甚至包括数据层面通吃的局面,这何尝不是挑战。(我一直觉得,这方面才是最适合后端转前端的路线)
    3. 混合式APP的大潮:不管是桌面端还是移动端,都越来越多软件/应用开始使用混合式的开发,从而在保证核心功能体验的同时、提升总体的开发效率。(Hybrid App,反正我的理解是原生代码与WebView混合)
    4. 作为可互动终端:使得信息传达能更具体化、可视化、互动化。最典型的就是数据可视化方面的挑战(当然我觉得不止于此)。d3js的团队从protovis全力转入到d3js中就可见一斑:d3js更加强调可视化呈现的动画、以及即时反馈的交互能力。这在我看来也是WEB的未来之一。谁说WEB就必须是大众使用的呢?一个统一的标准总比每次都订做图形引擎来得要好。

D.

1. 沟通。前端工程师在项目中处于一个中间位置,对下要和后端工程师商定接口,对上要和产品、设计有良好的沟通。无论哪一个环节中出现的问题,都会在前端最先表现出来,良好的沟通可以保证尽早发现并解决这些问题。
2. 写出可维护的代码。前端三大语言html,css,Javascript都是十分灵活的,写出可以工作的代码并不难,真正难的是保证代码的可维护性。代码可维护性涉及的问题包括,(html)标签语义化,标签结构化,(css) 规则体系化,组件化,(js)框架的选择,模块化,高内聚,低耦合。
3. 写出高性能的Js代码。包括字符串操作,dom操作,ajax操作。需要考虑性能问题的环节实在很多。
4. 兼容性。兼容性问题仍在拖慢前端工程师工作进度的主要问题,等ie6死掉,国产浏览器外壳质量做的好一些,情况可能会有所好转。
5. 技术更新快。前端技术更新速度十分快,html5,css3,nodejs, commonJs,按需加载,等等都是最近几年出来的。google又搞出一个Dart语言,鬼知道它会会真的把js取代了。

 

淘宝 UED 前端、腾讯脚本开发、豆瓣前端开发,应该如何在这几个工作之间选择?

“淘宝 UED 前端、腾讯脚本开发、豆瓣前端开发,应该如何在这几个工作之间选择?”精华:

A.

偏向“工作目的”:

其实对于刚入行的人来说,全面的锻炼很重要,历练几年后再进大公司比较专的做某件事,这样的成长历程比较好。现在的创业风气纯属阴谋,不要把宝贵年华扔在不靠谱的事上。毕业后至少5,6年踏踏实实的研习技术。

B.

豆瓣对前端工程师的要求算比较全面,反过来也意味着在开发中会经受全面的技术挑战。挑战你对模板的规划能力,代码的设计能力,对复杂JS项目的驾驭力,还有前端技术以外的.....专钻一门技术,不符合前端的特点啊

C.

最后,想说一点:任何一个团队,永远不会像你想象中的那么好,也不会如你所听说的那么糟。一个团队的好坏,往往在你自己的心中。想好自己想要什么,并为之去努力去改变,这远比选择外界环境更重要。

D.

偏向“工作选择”:

作为一个刚经历了换工作的前端,一个公司,我会问自己3个这样的问题:

1. 团队是不是我愿意呆的?
2. 做的产品是不是我愿意花心思的?
3. 在能胜任的情况下,他们是否看重我的要求,比如工资?

E.

3. 真正的成长,不是你参与多少项目,学会多少语言,应用多少框架。而是你在用技术解决业务问题后沉淀下来的属于你的方法论,这些方法论通常不会过期,还会帮助你触类旁通的解决各种问题。三家公司都存在着各种复杂的业务问题,充满着机会。不管你选择哪家公司,坦诚面对伙伴,敢于面对挑战,勇于突破,乐于分享,总结出自己的方法论...任何一家健康的公司都会向你敞开怀抱。
F.

但半年前决定离开了居,原因只有一个,稍微有追求得的前端应该都不愿在乐居呆太久,除非你是过日子。

大公司,始终是以业务为主导了,这是领导无法改变的,所以不要相信领导的承诺(不是说他不去改变,而是这些他无法改变),如果你发现你的个人发展与公司业务有相背离的,就该好好想想是否还要呆下去了。

我只能把我自己的经历给你做一个参考。


4. 祝福很多离开团队的同事,曾经共同奋斗过,都是缘分。

 

书籍:Web前端黑客技术揭秘

把它整理到这里是因为书简介的一些关键词:“Web前端的黑客攻防技术是一门非常新颖且有趣的黑客技术,主要包含Web前端安全的跨站脚本(XSS)、跨站请求伪造(CSRF)、界面操作劫持这三大类,涉及的知识点涵盖信任与信任关系、COOKIE安全、Flash安全、DOM渲染、字符集、跨域、原生态攻击、高级钓鱼、蠕虫思想等,这些都是研究前端安全的人必备的知识点。本书作者深入剖析了许多经典的攻防技巧,并给出了许多独到的安全见解。

本书适合前端工程师阅读,同时也适合对Web前端各类安全问题或黑客攻防过程充满好奇的读者阅读,书中的内容可以让读者重新认识到Web的危险,并知道该如何去保护自己以免受黑客的攻击。”

 


推荐阅读
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 前言:关于跨域CORS1.没有跨域时,ajax默认是带cookie的2.跨域时,两种解决方案:1)服务器端在filter中配置详情:http:blog.csdn.netwzl002 ... [详细]
  • 必须先赞下国人npm库作品:node-images(https:github.comzhangyuanweinode-images),封装了跨平台的C++逻辑,形成nodejsAP ... [详细]
  • 一.常见基于身份识别进行反爬1通过headers字段来反爬headers中有很多字段,这些字段都有可能会被对方服务器拿过来进行判断是否为爬虫1.1通过headers中的User-A ... [详细]
  • jvm内存区域与溢出为什么学习jvm木板原理,最短的一块板决定一个水的深度,当一个系统垃圾收集成为瓶颈的时候,那么就需要你对jvm的了解掌握。当一个系统出现内存溢出,内存泄露的时候 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 本文介绍了指针的概念以及在函数调用时使用指针作为参数的情况。指针存放的是变量的地址,通过指针可以修改指针所指的变量的值。然而,如果想要修改指针的指向,就需要使用指针的引用。文章还通过一个简单的示例代码解释了指针的引用的使用方法,并思考了在修改指针的指向后,取指针的输出结果。 ... [详细]
  • 跨站的艺术XSS Fuzzing 的技巧
    作者|张祖优(Fooying)腾讯云云鼎实验室对于XSS的漏洞挖掘过程,其实就是一个使用Payload不断测试和调整再测试的过程,这个过程我们把它叫做F ... [详细]
author-avatar
她的马尔代夫
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有