成为一名JavaWeb工程师需要掌握哪些技能?
然而,前端的快速发展也带来了一些问题。比如有同学问我应该学什么,Angular.js,React,Node.js,ES6,ES7,CoffeeScript,TypeScript?好像总有太多的东西要学,有些东西看起来“过时”是因为还没理解就被其他新技术取代了。
1
我们需要知道前端工程师是做什么的。
前端工程师是互联网时代软件产品开发中不可或缺的专业R&D角色。
狭义来说,前端工程师利用HTML、CSS、javaScript等专业技能和工具,将产品UI设计稿实现为网站产品,覆盖用户的PC端和移动端网页,处理视觉和交互问题。
广义来说,用户终端产品所有与视觉、交互相关的部分,都是前端工程师的专业领域。
2
那么,前端工程师需要什么样的知识和技能呢?
有人说前端工程师technology stack是这样的:
还有人说是这样的:
其实前端工程师的核心技能是:
在典型互联网公司的产品开发过程中,前端工程师与其他角色的关系大致如下:
前端是最接近产品和设计的工程师,起着连接产品和技术的作用。前端负责用户能看到什么,所以也是离用户最近的工程师。
多终端时代,如果一个产品同时支持PC和移动,前端工程师需要处理更多的角色:
JavaScript是前端最重要的技能,所以优秀的前端工程师要有扎实的JavaScript基本功。
而JavaScript这种编程语言也是目前编程领域炙手可热的宠儿。现在不仅用来开发Web,还可以用在各个方面。
JavaScript可以用在树莓派等智能硬件芯片的开发中。
前端工程师也是软件工程师,所以软件工程师的基础知识也很重要。这些基本知识包括:
数学
计算机系统
操作系统
数据结构和算法
编译基础
HTML和CSS也是前端工程师非常重要的基本功。许多学生,尤其是那些喜欢写代码的学生,往往会忽略MarkupLanguage。其实ML也是UI相关领域的重要内容,不容忽视。
HTML:生活标准
HTML & amp半铸钢ˌ钢性铸铁(Cast Semi-Steel)
三
有同学问:“前端工作需求很大,而且一直在变。实际技术点不多。产品决定商业逻辑。从事底层基础服务会不会更有挑战性和职业前途?”
的确,我们越接近业务和产品层面的工作,需求的差异就越大,我们可能会有更频繁的变化。
不仅前端变了,在PHP服务器上做生意的同学也面临这样的问题,业务逻辑变了。
级别越低,通用性越强,改动越少。
然而,任何事物都有两面性。首先,我们可以思考是底层基础服务的市场大,还是互联网服务和产品的市场大。
其次,基础服务的通用化很容易实现,但是如何在产品层面通用化,如何在业务驱动的产品研发中使用工程化和工具化来提高开发效率,其实是一个非常困难的问题。
丰富的互联网产品已经改变并且正在改变我们的生活。但是,工程师作为产品的创造者,如何让自己变得更好,是值得研究的。
另外,不要觉得实用的技术点不多。
举几个例子:实现曲线曲面动画,计算地图最短路径,让png静态图片做类似gif图片的局部运动,抽奖游戏,物理效果HTML5游戏,3D图表,增强现实WebGL视频流处理等。这些都是前端领域遇到的实际问题。
就JavaScript而言,在实际项目中设计出最合适的模型,高效地解决现实问题,是非常具有挑战性的。
JavaScript作为典型的新一代编程语言,功能丰富,使用灵活,性能优异。
面向对象、函数式编程、各种设计模式、MVC和MVVM本身就足够吸引人。
前端要解决接口和交互问题。其实UI层面的问题一直是软件工程中的难题,因为UI是不断变化的。
浏览器版本、Web标准、移动设备、多终端适配的兼容性,给前端工程师带来了巨大的挑战,对他们的能力提出了很高的要求。
很多UI问题不止一个解决方案,很多问题都有非常巧妙的思路和精彩的解决方案。前端是工程师中非常有创造力的群体,因为这个行业需要丰富的创造力和想象力。
前端工程师也是Web标准的制定者、实践者和推广者,目前的W3C标准不仅限于浏览器,还包括各种手持智能设备、车载设备、智能家居等等。
未来的万物互联时代,前端不仅仅是网页上的工程师,还有人机交互各个领域的工程师。
java培训班总结:其实前端工程师首先是软件工程师,基础最重要。基础不扎实,所有的应用技能都是“浮云”。
前端的基础是什么?
HTML、CSS和JavaScript的基本技能,数学、算法、数据结构、操作系统和编译原理的基本技能。
一个优秀的前端工程师,必须有自己的专业领域,并且研究的足够深入,同时还要有眼光,能够“跨界”。
你可以把前端作为职业,但不要把技能局限在前端领域,因为有很多东西只有站在前端之外才能看得更清楚更透彻。
感谢您阅读《成为JavaWeb前端工程师应该掌握哪些技能》。更多精彩内容请关注Java培训官网。