【IT168 评论】多年之前,大部分人对于前端工程师的工作有着很大误解,以为不过是简单的做一些HTML和CSS的工作,偶尔充当一下设计师即可,现在也不排除有如此想法的人。近两年,随着前端架构的迅猛发展,前端工程师这一岗位才逐渐被正确认知。身为一名前端工程师,在企业架构升级的前、中、后期需要注意哪些因素?累计服务客户超过2000个,十年媒体技术和服务经验的苏宁视频云前端架构经历了什么样的演变?前端开发工程师的日常又是什么样的呢?
本文采访嘉宾:李晓健。现担任苏宁视频云高级技术经理。软件技术专业,从事java开发,拥有8年开发经验,超过6年的专职前端开发经验,3年以上的团队管理经验;目前负责苏宁视频前端研发和架构工作,参与前端SDK组件的开发,推动苏宁视频云平台的架构改进和用户体验,为用户提供优质的服务。
打破误解:前端开发工程师的日常!
“我认为,大家眼中的前端开发工程师应该与实际情况不太一样”,这是李晓健在谈及此话题时说的第一句话。多年之前,前端开发工程师这个岗位还未诞生,当时的开发流程是设计师直接与后端对接,需求沟通不畅且效率低下。
随后,前端开发迎来了以JQuery为主的时代,到ES6的发布,模块化开发时代到来再到如今推崇的全栈式开发,前端开发工程师的岗位需求越来越旺盛,其不仅仅是简单的写页面,包括更加复杂的页面逻辑,更加丰富的功能以及各类运行环境适配。更为重要的是,用户体验也属于前端开发工程师的工作范畴,这是近几年企业非常重视的优化工作。
从苏宁视频云架构的三次升级窥探企业架构升级的前因后果
互联网飞速发展得这几十年,任何一家企业的架构都经过了至少一次的迭代,互联网企业基本都经历了三次左右的架构变迁,每一次升级的背后到底是哪些因素催促着企业做出了这一决定?
苏宁视频云是隶属于苏宁旗下的子品牌,目前累计服务客户已超过2000个。苏宁视频云凭借PPTV十年媒体技术和服务经验,融合流媒体技术、P2P、CDN 分发、海量存储、安全策略等构建的专注视频领域的一站式SaaS 服务平台。在这十年间,苏宁视频云架构共经历了三个发展阶段。
起初,整个项目页面采用PHP、CSS和原生javascript,包含了部分自定义组件。当时的开发流程是前端工程师开发HTML文件,CSS样式,页面交互效果;将写好的代码交给PHP工程师,工程师根据HTML文件手动转成PHP文件,再加入一些业务逻辑代码。这个看起来架构似乎并不太清晰的阶段暴露出了太多问题,比如页面数量较多、单个页面请求文件过多以及代码复杂较高等,其开发流程非常不合理。
在第二阶段的重构中,苏宁视频云技术团队在原有的架构基础上进行调整,保留所有原生组件,对页面进行重新划分,前端直接用HTML文件展示页面,直接将html文件发布到服务器,不再将hrml文件转成php文件.......该阶段针对大部分开发流程进行了优化。
不久之后,趁着网站改版的机会,苏宁视频云技术团队进行了第三次架构改造,并且在不依赖之前架构的前提下做出了一个全新的架构。这次升级不仅优化了开发流程,也考虑到了业务的未来发展及技术趋势。现在的苏宁视频云集视频云直播、云点播、云上传、云转码、云存储、云统计等功能于一体,多平台全方位支持客户各种视频场景的业务需求。
李晓健表示,一家企业进行架构升级的主要原因可概括为业务驱动和开发流程限制两方面,这从苏宁视频云架构的三次升级中也可窥探一二。升级前,工程师一定要认真了解当前架构的限制和问题以及当前的业务特点和技术走向,切忌盲目追新,这也是很多工程师存在的问题。
前端开发是非常容易出现问题的,很多问题还可能直接暴露给终端用户进而影响用户体验,技术新不代表就是主流,也不代表适合当前业务特点,一味追新很容易忽略架构深层次存在的问题。 李晓健建议,对于新开发的项目,框架选型阶段可以参考页面结构,选择适合页面结构的技术进行开发,这也会大大降低开发复杂度,比如页面需要做成单页形式,那就可以选择MVC或MVVM架构。
对前端开发工程师的一点理解!
很多前端开发工程师应该都听过前端开发的四大核心:代码、流程、测试和文档。李晓健认为,做程序开发,代码肯定是最重要的,开发过程中既要保证功能的完整性,也要注意代码的可维护性和可扩展性;对开发人员来说,流程应该是合理规划代码结构;虽然有专业的测试人员,但开发人员应该保证代码的正常运行,并确保新增代码时的向前兼容性;文档是开发过程中非常重要的一环,这会比单纯在代码中添加注释的效果更好。
如今,新兴技术框架层出不穷,李晓健认为,前端开发工程师还是应该从理论知识入手,打好基础才可步步为营,对新兴框架需要保持谨慎的采纳态度,如若可行,倒也可以尝试,切忌跟风而忽略架构本质。