前端的学习并不简单,目前,HTML5可以说是热门的前端岗位了,但是市场上优秀的前端工程师却相对较少,有人在吐槽招不到前端工程师,因为在供不应求的前端招聘市场上,优秀的前端工程师才是有话语权的那一方。不仅在国内的互联网行业,在国外,前端工程师一样是需求旺盛,入门不难,但是想要精通前端开发还是有难度的。
1.前端开发是什么
可能很多人认为前端开发和 Web 开发类似,而 Web 开发已经有 20 多年的历史,所以前端并不是一个新领域。然而,前端工程师概念中的「接口技术实现和用户体验作为一个专业的工作领域」,却无疑是很新的。大概几年前,前端开发的技术增长迅猛,更久以前,Web 的可视化设计和技术实现所需要的资源是平均分配的。随着网站的发展,网站不仅是一个登录页面,工程资源的需求越来越明显。人们开始专门学习网站专用的 JavaScript、后端技术、UX、数据库,甚至系统设计。现在,一位合格的前端工程师,必须对视觉设计有兴趣。很显然,要处理大量的 Web 应用程序需求,技术任务就要进行分类,以便于多人同时处理网站请求。事实上现在已经不可能一个人快速地解决所有的技术细节了。现在还有一类人是独自处理一个 Web 应用程序的所有问题,即「全栈工程师」,但是优秀的全栈工程师确实比较少的。
2.前端难度并不小
大多人都认为前端开发是一个相对于其他模块来说更简单的领域,事实上,前端工程师在做的是:
(1)在设计师和工程师之间实现可视化的语言;
(2)用可视化的设计,定义一组代表内容、品牌和功能的组件;
(3)为 Web 应用程序的会话、框架、需求、可视化的语言和规格设定底线;
(4)定义 Web 应用程序的设备、浏览器、屏幕、动画的范围;
(5)开发一个质量保证指南来确保品牌忠诚度、代码质量、产品标准;
(6)为 Web 应用程序设定适当的行距、字体、标题、图标、填充等等;
(7)为 Web 应用程序设定多种分辨率的图像,设备为主的实体模型,同时维护设计指南;
(8)标记 Web 应用程序,使之语义化,SEO 友好;
(9)用一种友好的,耗电少的,设备和客户端感知的方式连接 API,获取信息;
(10)开发客户端代码来显示流畅的动画、过渡、延迟加载、交互、应用工作流程,大多数时间用来考虑渐进增强和向后兼容的标准;
(11)保证后台连接安全,采取跨域资源共享 (CORS)的程序考虑,防止跨站点脚本 (XSS)和跨站请求伪造 (CSRF);
(12)重要的是,尽管有严格的期限、利益相关的要求,以及设备的限制,无论现在还是将来都是以用户为主。
为了实现上述目标,前端工程师采用了从可视化到编程的多种工具 ,甚至有时要照顾市场、 UX 到内容改进等等。