电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOCX文档下载
分享到微信 分享到微博 分享到QQ空间

前端技术框架切换之旅-WEB前端大作战

  • 资源ID:265414253       资源大小:1.52MB        全文页数:25页
  • 资源格式: DOCX        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

前端技术框架切换之旅-WEB前端大作战

  记一次难忘的前端技术框架切换之旅【WEB前端大作战】   【摘要】 记一次难忘的前端技术框架切换之旅1     旅行之始     2020年初,某个普通的工作日,正在聚精会神“搞事情”的我,接到MAE-Access前端技术专家的espace语音,被告知MAE-Access域使用的前端技术框架需要从AngularJS1.x切换到React,要求2020年底完成。接到消息的我,忧喜交加,机会与挑战并存,这次前端技术框架切换之旅在所难免,但该如何开始,又该如何结束.记一次难忘的前端技术框架切换之旅1     旅行之始     2020年初,某个普通的工作日,正在聚精会神“搞事情”的我,接到MAE-Access前端技术专家的espace语音,被告知MAE-Access域使用的前端技术框架需要从AngularJS1.x切换到React,要求2020年底完成。接到消息的我,忧喜交加,机会与挑战并存,这次前端技术框架切换之旅在所难免,但该如何开始,又该如何结束。     问:MAE-Access切换前端技术框架,基站产品三部的FMA LTE,为何也“在所难免”?     原因大体可以总结为以下三点,如图1-1所示:     1)FMA LTE以FMA LTE Website和FMA LTE Service两个微服务,集成在MAE-Access上,与整个MAE-Access域统一构建。     2)MAE-Access域统一为各Website微服务提供前端工程化解决方案,各Website微服务统一使用Cloudsop平台自研的前端UI组件-eview 。一方面统一网管各UI界面风格;另一方面方便统一管理前端相关的开源及三方件,同时也便于统一构建。     3)Cloudsop提供的eview组件,有基于angularJs前端开源框架和react前端开源框架两个版本的。angularJs版的eview因使用angularJs1.X,21B后便不再满足开源三方件生命周期管理要求,需要统一切换为react版的eview 。图1-1 前端技术框架切换原因2     旅行攻略2.1         目的地React技术框架及前端工程化2.1.1   Web前端发展简史     正式介绍React和前端工程化之前,先简单了解下Web前端发展史。如图2-1所示,Web前端发展主要经历5个关键时代。图2-1 Web前端发展简史      简单明快的早期时代:适合小项目,不分前后端,页面由JSP、PHP等在服务端生成,浏览器负责展现。      后端为主的MVC时代:为了降低复杂度,以后端为出发点,有了Web Server层的架构升级,比如Structs、Spring MVC等。      Ajax带来的 SPA 时代:2005年Ajax正式提出,前端开发进入SPA(Single Page Application 单页面应用)时代。      前端为主的MVC、MV* 时代:为了降低前端开发复杂度,Backbone、EmberJS、KnockoutJS、AngularJS、React、Vue等大量前端框架涌现。      Node带来的全栈时代:随着Node.js的兴起,为前端开发带来一种新的开发模式。     纵观5个时代的变迁,每个后时代都在尝试解决前时代的痛点。     1)、时代,前端开发重度依赖开发环境;前后端职责依旧纠缠不清,可维护性越来越差。     2)时代,SPA应用大多以功能交互型为主,存在大量JS代码的组织,与 View 层的绑定等,都不是容易的事情,需要进行前端负责度控制。     3)、时代,前后端职责清晰;前端开发复杂度可控,通过合理的分层,让项目更可维护;部署相对独立,产品体验可以快速改进。2.1.2   React技术框架     从Web前端简史来看,React其实是前端为主的MVC、MV* 时代的产物,为降低前端开发复杂度而生。     React官方解释React是一个用于构建用户界面的JavaScript库,可以使创建交互式UI变的轻而易举。通过使用React,可以创建拥有各种状态的组件,再由这些组件构成更加复杂的UI,组件逻辑使用javascript编写而非模板(此处不同于JSP、PHP),可以轻松地在应用中传递数据,使得状态与DOM分离。       FMA废除原本jQuery+AngularJs1.x混搭的多页面iframe嵌套实现,进行React技术框架的切换,重新划分并组织各个UI组件为SAP,需要对整个前端进行“换血”式重写。2.1.3   前端工程化      为了高效高质量完成Web应用的迭代上线,出现了前端工程化解决方案及相关架构如图2-1所示。图2-2 前端工程化架构       工程化解决的问题是,如何提高编码、测试、维护阶段的生产效率。前端工程化要解决的问题包括:      1)制定各项规范,让工作有章可循:编码规范统一、开发流程规范、前后端接口规范等。      2)使用合适的前端技术和框架,提高生产效率:采用模块化的方式组织代码(ES6 Module);采用组件化的编程思想,处理UI层(React);将数据层分离管理(Redux);使用面向对象或者函数编程的方式组织架构。      3)提高代码的可测试性,引入单元测试,提高代码质量。      4)通过使用各种自动化的工程工具(Gulp/Webpack),提升整个开发、部署效率。      FMA进行React技术框架切换的同时,引入业界流行的前端工程化解决方案,以组件化、模块化、自动化、规范化等手段,提升开发及维护效率。      综上所述,分析此次前端技术框架切换将发生的变化,从+混搭到+相结合,再加上集成组件/模块的编译构建、规范检查、自动化持续集成、部署为一体的前端工程,实则是整个产品软件工程技术的转变与提升。2.2        游玩路线技术框架切换关键步骤2.2.1   React项目工程搭建      1)React项目工程搭建:React官网提供了一套创建React项目的脚手架工程Create React App,可以快速创建出一个新的单页面的、且已经集成好标准前端构建流水线的React项目工程(可通过修改webpack等构建工具的参数配置,自定义打包、构建、调试工程)。      (1)先要安装Nodejs(一个javascript运行环境),上官网下载不同操作系统的版本,一键式安装即可。      (2)再通过Nodejs的包管理器工具npm,安装create-react-app脚手架工具(npm install -g create-react-app)      (3)在需要创建项目的位置打开命令行,输入create-react-app + 项目名称的命令(create-react-app myProject),进行项目创建。      (4)至此,项目已经创建成功,可以进入项目(cd myproject),直接启动(npm start)。 如果需要构建出包,则执行(npm build)。需要注意的是,npm脚本在创建好的项目的packge.json文件script中可以自行进行修改或扩展。2.2.2   开发视图设计及组件目录规划      业界比较主流的相对通用的目录结构如下表所示。具体业务开发时,需按照下述结构进行业务本身的目录及文件划分,基本上自定义components及contaniners以下的目录,进行组件划分即可。|   index.js / 入口js|   router.js / 路由入口|   base.css / 全局样式文件+-store  /redux|   |    store.js / redux store 入口,此处可用以注册中间件|   |    reducers.js / reducers入口+-services  /数据访问 (通常为api) 各域按需使用,不做统一要求+-contexts    /contexts+-utils   /公用方法逻辑 +-assets  /资源文件|   +-i18n  /多语言|                images  /图片|                fonts   /字体资源|                media    /媒体资源+-constants  /公用常量 (通常为后端各种枚举)+-components / 通用展示组件目录|   +-Header|   |       index.js|   |       Header.less|   -NotFound|           index.js-containers / 容器组件目录|   +-Todo / 声明页面的目录|   |       |-index.js / 页面入口|   |       +-components / 页面通用组件|   |       |   +-Button|   |       |           index.js|   |       |           Button.jsx /推荐用法|   |       |           Button.less|   |       |           Button.stories.js|   |       |   +-Input|   |       |           index.js|   |       |           Input.jsx|   |       |           Input.less|   |       |           Input.stories.js|   |       +-containers|   |       |       Search.js|   |       |       Body.js|   |       +-store|   |              types.js|   |               action.js|   |              reducer.js -test / 测试目录  和src目录的结果保持一致     +-components / 通用展示组件目录     |   +-Header     |   |       index.spec.js /对index.js的测试文件     -containers         +-Todo         |       +-components         |       |   +-Button         |       |           Button.spec.js /对Button.jsx的测试文件         |       |   +-Input         |       |           Input.spec.js /对Input.jsx的测试文件         |       +-store         |               reducer.spec.js

注意事项

本文(前端技术框架切换之旅-WEB前端大作战)为本站会员(ji****81)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.