当前位置: 首页 > Web前端 > vue.js

Backbone前端框架解读

时间:2023-04-01 11:45:32 vue.js

作者:京东零售陈振义,什么是Backbone在前端开发中,前端框架的元老之一jQuery封装了繁琐的DOM操作,提供链调用和各种选择器,屏蔽了不同浏览器的写法差异,但前端开发过程中仍然存在范围污染、代码复用度低、冗余度高、数据和事件绑定繁琐等痛点。五年后,Backbone诞生了。通过与Underscore、Require、Handlebar的集成,提供了一个轻量级、友好的前端开发方案。它的很多设计思想对后来现代前端框架的发展起到了举足轻重的作用。现代前端框架的基石。通过对Backbone前端框架的学习,让我们领略其独特的设计思想。2.核心架构根据MVC框架的定义,MVC是一种架构模式,用于将应用程序划分为三个主要的逻辑组件:模型、视图和控制器。这些组件用于处理应用程序的特定开发。MVC是最常用的行业标准Web开发框架之一,用于创建可扩展的项目。Backbone.js为复杂的Web应用程序提供模型、集合和视图。?模型用于绑定key-value数据,通过RESRfulJSON接口连接到应用;?视图用于UI界面渲染,可以通过监听模型和集合的变化(比如执行渲染)来声明自定义事件并执行相应的回调。如图所示,当用户与视图进行交互时层,控制层监听变化,负责与数据层进行数据交互,触发数据变化事件,通知视图层重新渲染更新UI界面。此外,当数据层发生变化时,Backbone提供了在数据层和服务器之间共享和同步数据的能力。它的设计思想主要有以下几点:?数据绑定(依赖渲染模板引擎),事件驱动(依赖Events)?View组件化,组件有生命周期的概念?前端路由配置,实现局部页面刷新创新思想在现代前端框架中得到了进一步的继承和发展。3.部分源码分析Backbone极其轻量级,编译后只有几kb,贯穿了大量的设计模式:工厂模式、观察者模式、迭代器模式、适配器模式……,代码流畅且执行过程比较优雅。按照功能分为Events、Model、Collection、Router、History、View等几个模块,这里提取一些精彩的源码进行分析。相信也会指导我们日常的代码开发:(1)迭代器EventsApi启动一个迭代器对多个事件进行分流、解析、拆分的功能,设计非常经典,执行时有以下用法是合法的:?用法1:传入一个带有名称和回调函数的对象modal.on({"change":change_callback,"remove":remove_callback})?用法二:将多个事件名称以空格分隔绑定到同一个回调函数model.on("changeremove",common_callback)实现如下:vareventsApi=function(iteratee,events,name,callback,opts){vari=0,names;if(name&&typeofname==='object'){//处理第一次使用if(callback!==void0&&'context'inopts&&opts.context===void0)opts.context=callback;for(names=_.keys(names);i