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的广泛使用,到后来前端自己的框架和库丰富成熟,短短的几年时间,前端开发已经成为整个项目开发周期中很重要的一环。也坚定了自己选择前端开发道路的信心。两年的前端开发工作,对于自己熟悉前端已经有了很好的基础,接下来的日子里,会对自己有更高的要求,希望自己能在这条道路上越走越远~

转载于:https://www.cnblogs.com/taishuhanmei/p/11283258.html

两年前端历程回顾的思考与总结相关推荐

  1. 【BDTC 2016】中国移动苏州研发中心大数据部总经理,高级工程师钱岭:大数据研发历程的回顾和思考...

    [CSDN现场报道]2016年12月8-10日,由中国计算机学会(CCF)主办,CCF大数据专家委员会承办,中国科学院计算技术研究所.中科天玑数据科技股份有限公司与CSDN共同协办,以"聚焦 ...

  2. 经济学人使用Golang构建微服务历程回顾

    关键点 经济学人内容分发系统需要更大的灵活性,将内容传递给日益多样化的数字渠道.为了实现这一灵活性目标并保持高水平的性能和可靠性,平台从一个单体结构过渡到微服务体系结构. 用Go编写的服务是新系统的一 ...

  3. AMD统一渲染GPU架构 历程回顾与评测

    AMD统一渲染GPU架构 历程回顾与评测     前言:NVIDIA公司历经长时间酝酿的Fermi架构高端产品GTX480/GTX470发布已经结束,经历了长达一个月的忙碌,我们已经了解到了这款产品的 ...

  4. 两年前端职业生涯总结

    作者:TaylorPzreal 我的GitHub https://github.com/TaylorPzreal 时间如白驹过隙,2015年9月27日我抵达帝都的那个晚上还仿佛昨日,从此便开始帝都的工 ...

  5. 对WEB前端的几段思考(一)——界面设计和性能优化(整理中)

    尽管我并非艺术出生,既没有任何设计基础,又没有较高艺术涵养,也深谙在短时间内创造一定艺术造诣并非易事,但是既然当初选择从事网站前端开发,我的目光不能仅停留在前端代码上.作为一名志向在前端领域发展的人员 ...

  6. 前端知识点回顾——HTML,CSS篇

    前端知识点回顾篇--是我当初刚转行为了面试而将自己学过的前端知识整理成的一份笔记,个人目的性很强,仅供参考. doctype 有什么用 doctype是一种标准通用标记语言的文档类型声明,目的是告诉标 ...

  7. 做了两年前端开发,平时就是拿 Vue 写写页面和组件,简历的项目经历应该怎么写得好看?

    无意间在知乎看见的,感觉讲得很有道理.看原文点这里  ------>  做了两年前端开发,平时就是拿 Vue 写写页面和组件,简历的项目经历应该怎么写得好看? 2年经验做的东西没什么技术含量,应 ...

  8. 前端历程(一)------初识前端

    前言 ​ 刚刚接触前端这一概念和基础知识是大一下学期的时候,有一门课程叫做客户端技术.起初只是把它当做一门一般的非考试课对待,上课也不认真听,到最后结课让提交大作业时,也是因为巧合之下那学习选择了一门 ...

  9. 2018年前端开发回顾

    2018年前端开发回顾 摘要: 前端发展迅速,非常快! 原文:2018年前端开发回顾 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 本文将回顾2018年一些重要的前端新闻,事件和Ja ...

  10. 【原创】软件架构技术发展历程总结及思考 1of2(待续)

    软件架构技术的发展历程总结及思考1of2(待续) 骆金松 1   软件架构技术产生的背景 1.1     软件危机的出现 20 世纪60年代以前,计算机刚刚投入实际使用,软件设计往往只是为了一个特定的 ...

最新文章

  1. python安装3.7.2_linux环境安装python3.7.2
  2. 中的挂起是什么意思_数字博物馆是什么意思?数字博物馆用到了哪些技术?
  3. 解析时代需要什么样的根目录,中国科技需要什么样的根技术
  4. centOS7 Minima无法上网解决方案(Linux设置开机自动获取ip地址)
  5. zoj-3802-Easy 2048 Again
  6. 正则表达式提取字符串内所有的img标签下的src路径
  7. html加载完显示图片,js图片未加载完显示loading效果
  8. 北大poj1018题解题报告
  9. mysql的常用内置函数
  10. 【ArcGIS微课1000例】0017:ArcGIS测量距离和面积工具的巧妙使用
  11. linux的常用操作——lftp、nfs、ssh和scp
  12. css线条伸缩_CSS3弹性伸缩布局之box布局
  13. dbhelper的使用
  14. 极限编程创始人Ron Jeffries建议开发者放弃敏捷
  15. 端口汇聚实现多端口带宽叠加
  16. 国内用户最多的linux系统,统信UOS将可能超越麒麟系统夺得中国Linux市场份额第一名...
  17. albedo diffuse specular
  18. 计算机房屋出租系统毕业设计选题意义的说明
  19. 程序员带你回味童年,一起用C语言做一个“推箱子”玩!【文末源码】
  20. 北京中医药大学本科毕业论文答辩PPT模板

热门文章

  1. 又一个国内知名论坛,突然被全面叫停!
  2. 太火了,这些牛逼的Java代码技巧,肯定能让你目瞪口呆!
  3. 80%的Oracle JDK用户正在寻找免费的替代品!!!
  4. 金九银十招聘季,程序员跳槽BAT最新面经
  5. 苹果Callkit国内被叫停 微信等应用受到冲击
  6. Spring MVC 中集成 Apache Shiro 安全框架
  7. Linux运维之ntpdate同步网络时间
  8. 想跟大家一起做件小事
  9. 【题解】Luogu P2157 [SDOI2009]学校食堂
  10. 【一步一步学习mysql】数据库操作