飞天舞88
在没有接触IT行业之前,也不知道web前端工程师具体是做什么的,只是认为这个行业的薪资待遇很高,想要加入进去,成为web前端工程师。Web前端主要是用来开发用户通过浏览器可以浏览和使用的Web页面的。IT培训认为在一般情况下会是W3C中的HTML、CSS和Java这三方面的内容。但是随着现在IT行业的不断发展,web前端也在不断的更新当中。前端目前所涉及到的内容也不会是现在这么几点,会出现更广阔的方面。前端工程师相对于IT行业的其它工程师还是比较容易的,对于那些没有什么基础又想从事这个行业的人来说,你可以先从前端学起,前端还是比较容易接受的。前期对于很多人来说是一个容易的过程,web前端是一个先易后难得过程,主要包含三个方面HTML、CSS和Java。这就要求web前端工程师在后期需要学习很多的知识,不仅要掌握基本的Web前端开发技术,网站性能优化、SEO和服务器端的基础知识,而且要学会运用各种工具进行辅助开发以及理论层面的知识,包括代码的可维护性、组件的易用性、分层语义模板和浏览器分级支持等。
眼角落下的泪
Web前端灵活多变,能够直观看到成果,所以成就感更容易体现,学习起来也会相对轻松。Java被称为最稳定的语言,应用最为广泛,无论是一线城市还是二三线城市的岗位需求都比较大,容易找到工作,但入行门槛相对更难。你也可从以下三个方面来作为参考:
工作方向:
Java开发Java作为编程语言中最热门的技术,可谓无处不在。无论是生活软件、游戏还是电脑软件,从你的每一次购物到每一笔支付的成功,都离不开Java,越来越多的企业也正采用Java语言开发网站,而在所有程序员中,Java开发工程师就占据了30%的比例。Java语言具有面向对象、跨平台、安全性、多线程等特点,这使得Java成为许多应用系统的理想开发语言。学完Java可以:
1.编写网站。Java可以用来编写网站,现在很多大型网站都用JSP写的,JSP全名JavaServerPages它是一种动态网页技术,比如我们熟悉的163,一些政府网站都是采用JSP编写的。所以学习Java的同学可以找开发网站方面的工作,而且现在找这方面的岗位比较多。比如:网站开发大多使用JSP、Servlet、JavaBean这些技术。
2.做Android。Android是一种基于Linux的自由及开放源代码的操作系统,其源代码是Java。所以市场上见到的手机系统例如MIUI,阿里云,乐蛙等,都是修改源代码再发行的。Java做安卓不单单是指系统,还有APP,对于更多的开发人员来说,他们更多的时间是花在开发APP上面。
3.游戏开发。在以前诺基亚还很流行的时候,你玩的手机游戏有90%以上都是Java开发的。PC端也有Java开发的游戏,比如:《我的世界》(minecraft,简称MC),《英雄联盟》(简称LoL)等等。
4.大数据。都说现在是数据时代。各种大数据技术层出不穷。目前处理大数据的技术有python,Java,R等。虽然说Java没有绝对的优势,但同样也是一大霸主。
5.做企业软件。企业级应用开发大多使用Java语言,大到全国联网的系统,小到中小企业的应用解决方案,Java都占有极为重要的地位。
另外,Java在人工智能、科学计算等领域也有一定的应用。Java已成为当今市面上最受欢迎的编程语言了,可以说只要你使用手机、电脑等电子产品,你就会用到跟Java有关的东西。
Web前端
网站的“前端”是与用户直接交互的部分,包括你在浏览网页时接触的所有视觉内容--从字体到颜色,以及下拉菜单和侧边栏,这些视觉内容,都是由浏览器解析、处理、渲染后呈现而来。从狭义上讲,前端工程师使用HTML5、CSS、JavaScript等专业技能和工具将产品UI设计稿实现成网站产品,涵盖用户PC端、移动端网页,处理视觉和交互问题。从广义上来讲,所有用户终端产品与视觉和交互有关的部分,都是前端工程师的专业领域。Web前端工程师在企业里主要负责以下三方面的工作:
1.网站设计;
2.网页界面开发;
3.前台数据绑定和前台逻辑的处理;
技术知识:
Java开发
1、Web前端技术(HTML5、CSS、JS、jQuery、Ajax)
2、互联网架构(Nginx、Redis、MQ)
3、JavaEE三大核心框架(Spring,SpringMVC,MyBatis)
4、Web服务器端编程(Java基础、Servelt、SSH、SSM)
5、数据库技术(Orale、MySQL、JDBC、DAO)
猫与老虎
前端领域发展很快,各种新技术新思想不断涌现,这是一个好现象。
但是前端发展太快也带来一些问题,比如有同学就问到我究竟应该学些什么,、React、、ES6、ES7、CoffeeScript、TypeScript??似乎永远有太多东西需要学习,有些东西好像还没学明白就被另一些新的技术取代而“过时了”。
1
我们需要知道前端工程师是做什么?
前端工程师是互联网时代软件产品研发中不可缺少的一种专业研发角色。
从狭义上讲,前端工程师使用HTML、CSS、javaScript等专业技能和工具将产品UI设计稿实现成网站产品,涵盖用户PC端、移动端网页,处理视觉和交互问题。
从广义上来讲,所有用户终端产品与视觉和交互有关的部分,都是前端工程师的专业领域。
2
那么,前端工程师需要什么样的知识和技能?
有人说前端工程师的技术栈是这样的:
还有人说是这样的:
实际上前端工程师最核心的技能还是:
在一个典型的互联网公司的产品研发流程中,前端工程师和其他角色的关系大致上是这样的:
前端是最接近产品和设计的工程师,起到衔接产品和技术的作用,前端为用户可以看到的部分负责,所以也是最接近用户的工程师。
在多终端的时代,如果一个产品同时支持PC、移动端,前端工程师还需要和更多的角色打交道:
JavaScript对于前端是最重要的技能,所以优秀的前端工程师要有扎实的JavaScript基本功。
而JavaScript这门编程语言也是目前程序设计领域炙手可热的宠儿,如今的它不仅仅只是用来开发Web,还可以用在各个方面。
JavaScript可以用在“树莓派”这类智能硬件芯片开发
前端工程师也是软件工程师,所以软件工程师的基础知识也是非常重要的,这些基础知识包括:
数学
计算机体系
操作系统
数据结构和算法
编译原理
HTML和CSS也是前端工程师非常重要的基本功,很多同学,尤其是喜欢写代码的同学容易忽视MarkupLanguage,实际上ML也是UI相关的领域里面很重要的内容,不应该被忽视。
HTML:TheLivingStandard
HTML&CSS
3
有同学问说:“前端工作需求很多,老是改来改去,实际的技术点并没有多少,产品决定业务逻辑,从事底层基础服务会不会更有挑战和职业未来?”
的确,越贴近业务和产品层面上的工作,需求差异性越大,可能改动越频繁。
不仅仅是前端改来改去,PHP服务端做业务的同学也面临这样的问题,业务逻辑改来改去。
越底层通用性越强,改动相对较少。
不过事情都是有两面性的,首先可以这么想想,是底层基础服务的市场大还是互联网业务和产品的市场大。
其次,基础服务的通用性很容易达成,而产品层面上如何通用化,如何在业务驱动的产品研发中利用工程化和工具化提升开发效率,这其实是一个很难的问题。
丰富的互联网产品已改变和正在改变着我们的生活,然而作为产品的创造者,工程师们怎样让自己过得更好,这个领域值得研究。
另外,不要觉得实际的技术点没有多少。
举几个例子:实现曲线和曲面动画,计算地图的最短路径,让png静态图片类似于gif图一样做局部的运动,抽奖游戏,物理效果的HTML5游戏,3D图表,增强现实的WebGL视频流处理等等,这些都是在前端领域中遇到的实际问题。
就JavaScript来说,在实际项目中设计最合适的模型高效率解决现实问题本身就很有挑战。
作为一种典型的新生代编程语言,JavaScript特性丰富,使用灵活,性能优良。
面向对象、函数式编程、各种设计模式、MVC和MVVM,这些本身就有足够的吸引力。
前端要解决界面和交互问题,实际上UI层面上的问题一直是软件工程方面的一个难题,因为UI不停地在变化。
浏览器各个版本的兼容性、Web标准、移动设备、多终端适配,给了前端工程师很大的挑战,对前端工程师的能力也有很高的要求。
许多UI问题有不只一种解决方法,许多问题有非常巧妙的思路和精彩的解决办法,前端在工程师群体里是属于非常有创造力的一个群体,因为这个行业需要丰富的创造力和想象力。
前端工程师还是Web标准的制定者、实践者和推动者,而现在的W3C标准不仅仅局限于浏览器,还包括各种手持智能设备,车载设备、智能家居等等。
在未来万物互联的时代,前端将不仅仅是网页上的工程师,而是所有人机交互领域的工程师。
优质工程师考试问答知识库