h5前端工程师现在就业前景怎样好就业吗
web前端html5工程师开发机构学习就到盈佳科技学习中心H5培训机构,根据教育部统计,近10年来全国高校毕业生数量呈快速增长的趋势。
2005年全国高校毕业生为338万人,2007年为495万人。2013年毕业生人数达到699万人,2014年毕业生人数继续走高,达到727万。而2015届毕业生预计将达到749万。与10年前相比,今年高校毕业生人数是当年的2.2倍。现在移动网络的发展趋势很大,就目前来看前端工程师极度缺乏。为了解决前端工程师缺乏的问题,很多企业都想过自己招人,花1-2年培养。也想过各种途径挖人。前后应该有1年的时间了吧,人才还是不够。
造成这种局面有几点原因:
1.互联网创新数量在几何级的增长。现在好多大型互联网公司都不再安于原来的业务,或投资或自己研发新型产品,不少都是和原来的产品独立的。这些项目都需要大量的前端人才;
2.不少人对前端开发有偏见,认为前端没有技术含量。目前前端开发的布道士还太少,不少做后端的都对前端技术不屑一顾;
3.前端开发之前只有大型互联网公司才重视,WPO也是最近才被提上来的;
4.不喜欢js,geek喜欢优美的语言,js实用性太强,不符合geek的技术品位,因此很难说服这些人深入研究js。比如一个Java SS2H的开发人员,即使可以做基础的前端开发,也更可能选择学习Python,Ruby这样的语言而不去拓展对js的了解;
5.学前端要不要研究IE6?IE6?IE6?IE6?IE6!!!!!!! 历史遗留问题,大量的浏览器版本,各式的语言标准,充满了折中和无奈;5.学校不培养。这点并非不重要,虽然不out的毕业生可以自学,但毕竟损失了相当多out但优秀的毕业生。
这几条基本上在几年之内都不会有大的改变。在改变之前,前端工程师肯定是极度缺乏的。所谓稀缺就是价值。剩下的就找“H5盈佳科技学习中心培训机构”快速学习培训。Web前端开发是从网页制作演变而来的,之前使用Photoshop和Dreamweaver就可以方便的制作网页。但如果要让网页的内容更加生动,提供更多交互形式的用户体验,以满足企业级别的需求。那么还需要掌握基本的Web前端开发技术,其中包括:CSS、HTML、DOM、Ajax、JavaScript等。
为什么整个互联网行业都缺前端工程师
现在,几乎整个互联网行业都缺前端工程师,不仅在刚起步的创业公司,上市公司乃至巨头,这个问题也一样存在。没错,优秀的前端工程师简直比大熊猫还稀少。
每天,100offer的HR群都有人在吐槽招不到前端工程师。实话说对这些需求,Betty也无能为力,因为在供不应求的前端招聘市场上,优秀的前端工程师才是有话语权的那一方。
放眼全球,不仅在国内的互联网行业,在国外,前端工程师一样是需求旺盛、供不应求的香饽饽。
举个例子,根据indeed.com抓取的数千家网站的职位显示:目前前端的热门岗位——「HTML5」是需求增长最快的开发岗位,在所有开发职位中排名第一,MongoDB和iOS紧随其后位列第二、第三。
jobgraph
可见,HTML5可以说是最热门的前端岗位了,在2010年和2014年底有两次爆发性增长,现在在美国的岗位需求甚至超过了iOS。
所以市场上优秀的前端工程师相对较缺少,是一个世界性难题。
原因一:前端相对来说是一个新领域,当今的web需求要求更多的工程师供应
可能很多人认为前端开发和web开发类似,而web开发已经有20多年的历史,所以前端并不是一个新领域。然而,前端工程师的概念中的「接口技术实现和用户体验作为一个专业的工作领域」,却无疑是很新的。大概几年前,前端开发的技术增长迅猛,如下图所示:
过去几年前端工程师的可视化增长趋势 by Google Trends
15年或更久以前,web的可视化设计和技术实现所需要的资源是平均分配的。随着网站的发展——网站不仅是一个登录页面,工程资源的需求越来越明显。人们开始专门学习网站专用的JS、后端技术、UX、数据库,甚至系统设计。
今天,一个像AirBnB/Facebook/Quora的Web应用程序,投入的工程资源比设计资源多得多。换句话说,如今,做出网页的视觉设计比技术实现要更快,所以当今的web需求要求更多的工程师供应。
现在,一位合格的前端工程师,必须对视觉设计有兴趣(或者乐于做一个受虐狂▼)。
CSS.jpg
很显然,要处理大量的Web应用程序需求,技术任务就要进行分类,以便于多人同时处理网站请求。事实上现在已经不可能一个人快速地解决所有的技术细节了。
现在还有一类人是独自处理一个Web应用程序的所有问题,即「全栈工程师」,但是优秀的全栈工程师同样如大熊猫一般数量稀少。
现在,一个创业公司想要成功,几乎要覆盖一个Web应用程序的诸多技术方面:前端、后台、DBA、运营等。虽然已经有一些服务可以让企业购买登陆页面的前端模块和组件;但是如果你想要创造一些真正的Web应用程序,除了求助前端工程师,别无他法,就像你要创立一个品牌你也绕不开请一位设计师一样。
原因二:对前端,普遍存在巨大的误解,其实前端一点也不简单
大多人都认为前端开发是一个「相对于其他模块来说更简单的领域」,在他们心中的前端工程师是这样工作的:
1、把Photoshop文件、图片或者线框做成一个页面;
2、偶尔设计Photoshop文件、图片或者线框;
3、用JS实现动画、过渡效果;
4、用HTML和CSS编程,实现网页的内容和形式。
事实上,前端工程师在做的是:
1、在设计师和工程师之间创建可视化的语言;
2、根据设计稿定义一组代表内容、品牌和功能的组件;
3、为Web应用程序的框架、需求、可视化的语言和规格设定基准;
4、根据设备、浏览器、屏幕、动画来划分web应用的工作划分;
5、用QA基准来保证指南来确保品牌忠诚度、代码质量、产品标准;
6、调节Web应用程序的样式,包括间距、字体、标题、图标、布局等等;
7、根据不同分辨率、横屏竖屏等,调节Web应用程序的样式;
8、标记 Web 应用程序,使之语义化,SEO 友好;
9、通过API获取内容要考虑友好性、电池消耗性、设备和客户端的特性;
10、开发客户端要考虑动画的流畅、延迟加载、交互、应用工作流程,大多数时间用来考虑渐进增强和向后兼容的标准;
11、保证后台连接安全,采取跨地资源共享( CORS )的程序考虑,防止跨站点脚本( XSS)和跨站点请求伪造( CSRF ) ;
12、最重要的是,尽管有严格的期限、利益相关者的要求,以及设备的限制,无论现在还是将来永远是「客户第一」。
为了实现上述目标,前端工程师采用了从可视化到编程的多种工具 ,甚至有时要照顾市场、 UX 到内容tweakes等等。
原因三:大量糟糕前端工程师的存在,扰乱了市场
这或许是难以招到优秀前端工程师最明显的原因。由于前端工程师的入门门槛非常低,JS、CSS、HTML并不是很难入门掌握的语言,似乎只要花一点时间,谁都可以通过网上教程和书本学会它。对的,前端工程师市场就是被这些浅尝辄止的家伙搞坏的。
糟糕的前端工程师是这样做事的:
1、滥用 JavaScript 库,因为他们实际上并不了 JavaScript 的核心(e.g. 一切都用 jQuery);
2、滥用 JavaScript 插件,无节制的复用别人的代码,哪怕自己根本读不懂;
3、不看需求、设计,也不做比较或评价,就给 Web 应用程序添加 CSS 框架,却只用到框架的一小部分;
4、认为只要用了 CSS 框架,网站就是响应式的,或是对响应式设计的意义理解不到位;
5、一边在说着「响应式 Web 设计」,却对服务器端解决方案技术一无所知;
6、用 CSS 编程时不做预处理器、命名规范等;
7、忽视性能、内存泄露(并不理解内存泄露的真正含义),不会检测代码;
8、不会用指标衡量一个产品,或者这种指标旨在自己的电脑、浏览器、设备有效;
9、忽视 30 年来的软件工程技术,闭门造车。
要知道,入门容易精通难,计算机和软件的基础对你用JS或浏览器编程都非常重要。web可能是最有影响力的平台和环境之一,在那里执行的程序必须被小心对待。一位优秀的前端工程师不仅要考虑web技术和语言,并且还要了解所有不同的组件、系统和概念。
以下是优秀的前端工程师在即时面对普通的任务也会做的事情(这才是市场急需的前端):
1、DNS 解析,使用 CDN,把资源请求分散到多个域名上去;
2、理解 HTTP Headers (Expires、Cache-Control、If-Modified-Since)
3、Steve Souders 的所有高性能网页优化规则(参考:High Performance Websites 一书)
4、如何解决 PageSpeed、YSlow、Chrome Dev Tools Audit、Chrome Dev Tools Timeline 等工具列出的所有问题;
5、何时把任务传到服务器,何时适合传到客户端;
6、缓存,预取和延迟加载技术的使用;
7、原生 JavaScript,知道何时从头开始做,何时参考别人的代码,同时可以评估这样做的优缺点;
8、 最新的 MVC Javascript 库知识以及用法;
9、CSS 标准的知识与用法;
10、JavaScript的计算机科学部分的知识(内存管理,垃圾收集算法等等)
换句话说,如果说精通HTML+CSS+JS,了解后端知识,只是60分的合格前端;那么要想成为受追捧、拿高薪的80分优秀前端,要对业务需求和、架构设计有真正的运用;而100分的顶级前端,则必须要能够兼顾技术和设计,更接近「以前端开发为主的全栈工程师」了。
100offer 说:市场不是缺少前端,而是缺少优秀的前端工程师
现在,前端工程师终于前所未有的在web中占有了一席之地。随着多设备、浏览器和Web标准的演变革命,前端正在成为兼顾逻辑、性能、交互、体验的综合性岗位。
虽然现在互联网行业普遍缺少前端工程师,但是我们相信越来越多的人将会加入前端的大军。不仅是因为大多数前端工作提供的优渥薪水和办公环境,也是因为web中的前端编程变得越来越有挑战和意义。
最后,分享一组3~4月的100offer拍卖数据,给前端们鼓鼓劲:
前端工程师人均收获8.2个面试机会,已入职的前端工程师平均薪资涨幅达39%。其中,前端offer之王共收获47个offer,最高offer薪水38k*16 ,开自某土豪电商。
加油吧,前端!
学Java真的就比web前端有前途吗?
之前一直对前端感兴趣,也想做前端,但是周围很多人都说搞前端没有技术含量,说只不过就是把网页画出来而已是个人都能做没有前途,而Java是企业用的最多的语言,学Java比前端好多了,云南java培训建议我去报个培训班,我和他们说了在知乎上听到的观点:1前端很有前景。2培训班不好。
他们说网上的东西听听就算了。中小企业招人都是直接去培训班招的,而且只有大公司才要专门的前端,中小企业的前端都是后端直接找框架套的,只有在后端人员充足完成所有功能无压力的前提下才会勉为其难的找个“美工”,就业面很窄。说这些话的都是中型企业的前辈现在接触的面也很广,在企业也身居要职,也是行业内专门搞开发的,我听了觉得好像也很有道理,因为中小企业招不到人那确实会去倾向于去培训班招人,因为培训班那里的人不说大牛,企业拿回来稍微培养下就能用,减少很多成本,而网上说的培训班出来的都不是什么好苗子这里的不好也只是相对于少部分大牛来说的,而这种大牛在现实中确实很少,只是因为在网络上所以被无限的放大了。另外前端的地位好像确实在中小企业不那么重要,因为中小企业没有前端团队,一般来说前端都是由后端套框架兼的,只有在人员充足的情况下才会招一个“美工”+“前端”而且地位也很低,工资也不高。我现在被说的有点动摇了,心里在想:前端真的就那么不堪吗?
不要把程序员的所有类型,包括前端,想成一种低压力高回报的职业!
低压力高回报从来不是程序员好么?遇到好多人都是学java学不明白转前端,学c++学不明白转前端,学c学不明白转前端,前端是入门门槛低了些,可岂是随随便便就能做好的?这话听着跟我上大学的时候说,“实在学不会就转销售”去一样。现在也送给那些认为前端不用脑子也能学会的人,学不会就转销售吧,干什么前端。
一个优秀的前端工程师应具备哪些技能?
第一阶段:
HTML+CSS:
HTML进阶、CSS进阶、div+css布局、HTML+css整站开发、
JavaScript基础:
Js基础教程、js内置对象常用方法、常见DOM树操作大全、ECMAscript、DOM、BOM、定时器和焦点图。
JS基本特效:
常见特效、例如:tab、导航、整页滚动、轮播图、JS制作幻灯片、弹出层、手风琴菜单、瀑布流布局、滚动事件、滚差视图。
JS高级特征:
正则表达式、排序算法、递归算法、闭包、函数节流、作用域链、基于距离运动框架、面向对象基础、
JQuery:基础使用
悬着器、DOM操作、特效和动画、方法链、拖拽、变形、JQueryUI组件基本使用。
第二阶段:
HTML5和移动Web开发
HTML5:
HTML5新语义标签、HTML5表单、音频和视频、离线和本地存储、SVG、WebSocket、Canvas.
CSS3:
CSS3新选择器、伪元素、脸色表示法、边框、阴影、background系列属性改变、Transition、动画、景深和深透、3D效果制作、Velocity.js框架、元素进场、出场策略、炫酷CSS3网页制作。
Bootstrap:
响应式概念、媒体查询、响应式网站制作、删格系统、删格系统原理、Bootstrap常用模板、LESS和SASS。
移动Web开发:
跨终端WEB和主流设备简介、视口、流式布局、弹性盒子、rem、移动终端JavaScript事件、手机中常见JS效果制作、Zepto.js、手机聚划算页面、手机滚屏。
第三阶段:
HTTP服务和AJAX编程
WEB服务器基础:
服务器基础知识、Apache服务器和其他WEB服务器介绍、Apache服务器搭建、HTTP介绍。
PHP基础:
PHP基础语法、使用PHP处理简单的GET或者POST请求、
AJAX上篇:
Ajax简介和异步的概念、Ajax框架的封装、XMLHttpRequest对象详细介绍方法、兼容性处理方法、Ajax框架的封装、Ajax中缓存问题、XML介绍和使用。
AJAX下篇:
JSON和JSON解析、数据绑定和模板技术、JSONP、跨域技术、图片预读取和lazy-load技术、JQuery框架中的AjaxAPI、使用Ajax实现爆布流案例额。
第四阶段:
面向对象进阶
面向对象终极篇:
从内存角度到理解JS面向对象、基本类型、复杂类型、原型链、ES6中的面向对象、属性读写权限、设置器、访问器。
面向对象三大特征:
继承性、多态性、封装性、接口。
设计模式:
面向对象编程思维、单例模式、工厂模式、策略模式、观察者模式、模板方法模式、代理模式、装饰者模式、适配器模式、面向切面编程。
第五阶段:
封装一个属于自己的框架
框架封装基础:
事件流、冒泡、捕获、事件对象、事件框架、选择框架。
框架封装中级:
运动原理、单物体运动框架、多物体运动框架、运动框架面向对象封装。
框架封装高级和补充:
JQuery框架雏形、可扩展性、模块化、封装属于传智自己的框架。
第六阶段:
模块化组件开发
面向组件编程:
面向组件编程的方式、面向组件编程的实现原理、面向组件编程实战、基于组件化思想开发网站应用程序。
面向模块编程:
AMD设计规范、CMD设计规范、RequireJS,LoadJS、淘宝的SeaJS。
第七阶段:
主流的流行框架
Web开发工作流:
GIT/SVN、Yeoman脚手架、NPM/Bower依赖管理工具、Grunt/Gulp/Webpack。
MVC/MVVM/MVW框架:
Angular.js、Backbone.js、Knockout/Ember。
常用库:
React.js、Vue.js、Zepto.js。
第八阶段:
HTML5原生移动应用开发
Cordova:
WebApp/NativeApp/HybirdApp简介、Cordova简介、与PhoneGap之间的关系、开发环境搭建、Cordova实战(创建项目,配置,编译,调试,部署发布)。
Ionic:
Ionic简介和同类对比、模板项目解析、常见组件及使用、结合Angular构建APP、常见效果(下拉刷新,上拉加载,侧滑导航,选项卡)。
ReactNative:
ReactNative简介、ReactNative环境配置、创建项目,配置,编译,调试,部署发布、原生模块和UI组件、原生常用API。
HTML5+:
HTML5+中国产业联盟、HTML5PlusRuntime环境、HBuilder开发工具、MUI框架、H5+开发和部署。
第九阶段:
Node.js全栈开发:
快速入门:
Node.js发展、生态圈、Io.js、Linux/Windows/OSX环境配置、REPL环境和控制台程序、异步编程,非阻塞I/O、模块概念,模块管理工具、开发流程,调试,测试。
核心模块和对象:
全局对象global,process,console,util、事件驱动,事件发射器、加密解密,路径操作,序列化和反序列化、文件流操作、HTTP服务端与客户端。
Web开发基础:
HTTP协议,请求响应处理过程、关系型数据库操作和数据访问、非关系型数据库操作和数据访问、原生的Node.js开发Web应用程序、Web开发工作流、Node.js开发Blog案例。
快速开发框架:
Express简介+MVC简介、Express常用API、Express路由模块、Jade/Ejs模板引擎、使用Express重构Blog案例、Koa等其他常见MVC框架。