• 两年前端历程回顾的思考与总结


        2017年的9月,正式从后端开发转做前端工作,这其中更多的是机缘。公司技术部门组织调整,原先的团队发生变动,领导准备组织新的人员去总部接项目,当时想着给自己更多挑战,就申请加入了新的团队。当时现状是,公司前端开发人员较少,属于稀缺资源,新的团队没有FE。到现场以后才知道,因为前后端分离,前端是单独的项目,使用的也是新的前端技术,ES6是基础,框架是React、Redux、antd,以及公司基于Webpack封装的构建框架,整个项目的开发和最终在系统上运行的流程也是全新的技术思路,需要一定的前端知识。当时自己的现状是会写JSP,写过一段时间的JS,也因为曾经在前端工作较重的情况帮助FE同事做过一些Angular1、Angular2的项目,算是在整个团队里面前端知识相对"丰富"的了,顺理成章就由我接了前端的两个项目。回来以后,由于自己对前端技术一直比较好奇,对大前端也有耳闻,前端人员人手不充足也给了自己机会,所以就在现在的领导的帮助下,顺利转了前端,正式成为了前端的开发小白,对我来说这是一个比较大的转折点。

        在这几年的开发过程中,接触的前端技术也发生了很多的变化:

        最开始的时候,公司没有单独的前端开发人员,前端的页面是由后端完成的,使用的是JSP。JSP 是运行在服务端的语言,使用服务端渲染,适用前后端耦合的项目。随着时代的发展,前后端的界限分得越来越明确,术业有专攻,后端工程师把精力放在了高可用,高性能,高并发,存储,安全等问题上,而前端工程师主要负责页面展示,浏览器的兼容性,用户体验等问题,前后端分离是中大型公司的一种必然趋势。在此基础上,前后端耦合的项目,需要前端工程师使用java的IDE,以及配置各种后端的开发环境,对前端开发非常的不便。而且使用JSP,每一次请求都是访问servlet后再输出流到html页面,效率没有直接使用html高。而且前端工程师在使用jsp的时候,如果没有java基础,修改页面遇到一些标签也会难以使用。另外,现今的局面是,对于互联网项目的性能要求越来越高,前后端耦合在一起的架构模式也逐渐不能满足我们,动态资源和静态资源全部耦合在一起,服务器压力大,因此需要通过解耦,来大幅度提升项目的负载能力。所以放弃jsp,也是一种趋势所在。

        公司有了前端开发工程师后,就已经抛弃了jsp,使用的前端框架是Angular1,后来又逐步换成了Angular2。在这段时间,我只是参与了几次前端的开发,对Angular1和2的使用和区别有一些了解。1、Angular2是重写的,不是Angular1的升级版,所以他们之间的差别比较大,可以认为Angular2是全新的框架。2、Angular1是JavaScript,可以直接在浏览器中运行,而Angular2是TypeScript,需要经过编译后才能在浏览器中运行,所以它必须使用构建工具。3、在Angular1 中控制器Controller是非常重要的,用于封装视图控制逻辑,而Angular2中开发模式改为了模块化开发,去除了Controller,4、在Angular2中没有$Scope,而是使用zone.js来记录监测变化。5、Angular1中没有明确的生命周期机制,在Angular2中有精心设计的生命周期。

        在这段时期,公司的项目虽然引入了新的前端框架,但是并没有实现真正意义上的前后端分离,而是将最终的文件打包到后端项目的静态资源文件夹中,实际最终运行的只有一个后端项目。显然这不是我们想要的前后端分离的架构模式。

        在正式开始前端工作之后,因为公司前端技术发生了一些调整,先后接触了Vue、React,再后来为了技术统一方便维护,公司大力推行统一的框架,React就成为主流一直使用至今。Vue虽然使用的不多,但是给我的感觉是比较轻量,学习成本低,上手快,适合需要快速开发迭代的项目。因为是双向数据绑定,不需要写过多的代码,但是也因为如此,有时候会发生不可预料的数据问题,可操控性不强。相对而言,React单向数据流,虽然需要写很多的change事件,但不会出现数据不可操控的问题,适合比较大型的项目。React是Facebook创建的Javascript UI框架,他推广了Virtual DOM,并创造了新语法JSX,允许开发者在Javascript中书写HTML。无论React还是Vue都是JavaScript的UI框架,有别于Augular的功能齐全,需要使用其他功能时就得通过组件引入。

        从后端开发到前端开发的这段时间,深深的感悟到前端在不断的向一个更加成熟的方向发展。从一开始后端开发包揽前端工作,到后来有独立而专业的前端开发,从普遍的前后端耦合项目,到后来前后端分离的架构模式在项目中广泛被应用。从jsp的广泛使用,到后来前端自己的框架和库丰富成熟,短短的几年时间,前端开发已经成为整个项目开发周期中很重要的一环。也坚定了自己选择前端开发道路的信心。两年的前端开发工作,对于自己熟悉前端已经有了很好的基础,接下来的日子里,会对自己有更高的要求,希望自己能在这条道路上越走越远~

    愿时光为我加冕
  • 相关阅读:
    Binary Tree Zigzag Level Order Traversal
    Binary Tree Level Order Traversal
    Symmetric Tree
    Best Time to Buy and Sell Stock II
    Best Time to Buy and Sell Stock
    Triangle
    Populating Next Right Pointers in Each Node II
    Pascal's Triangle II
    Pascal's Triangle
    Populating Next Right Pointers in Each Node
  • 原文地址:https://www.cnblogs.com/taishuhanmei/p/11283258.html
Copyright © 2020-2023  润新知