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

速览Vue开发小程序的技术原理

时间:2023-03-31 22:22:11 vue.js

Vue、React和Angular是应用最广泛的三个前端框架。从GitHub趋势来看,Vue已经达到170,000Stars,排名第一。无论是BAT大厂还是创业公司,Vue都有广泛的应用。对于任何一个前端工程师来说,Vue都是一个值得学习的前端框架。目前,国产小程序成为移动开发的颠覆者后,Vue的名字往往与小程序联系在一起。让我们一起探讨一下两者之间的关系。一、什么是VueVue.js(读作/vju?/,类似于view)是一个用于构建用户界面的渐进式框架。与其他重量级框架不同,Vue旨在自下而上地进行增量开发。Vue的核心库只专注于视图层,非常容易学习和与其他库或现有项目集成。另一方面,Vue完全有能力驱动使用Vue生态系统支持的单文件组件和库开发的复杂单页应用程序。Vue.js的目标是使用尽可能简单的API启用反应式数据绑定和组合视图组件。以上是Vue官网给出的解释。对于大多数用户来说,还是很抽象,难以理解。看完之后,你可能还是不明白这个框架是干什么用的。什么是“渐进式框架”?什么是“自下而上的增量开发”?什么是“视图层”?什么是“单文件组件”?什么是“复杂单页应用”?第二段中的“响应式数据绑定和组合视图组件”是什么?1.Vue.js到底是什么?想必每个人都使用APP或网页来浏览互联网上的新闻。Vue.js是一个网页应用程序,用于构建类似的网页,其中有许多表单项和内容需要根据用户操作进行修改。2、什么是单页应用?单页应用一般是指一个页面就是一个应用。当然也可以是子应用。例如,一个页面可以看作是一个子应用程序。单页面应用中通常会有很多交互处理,页面内容需要根据用户的操作动态变化。3、什么是视图层现在我们抽象一个web应用,那么HTML中的DOM其实就是一个视图。一个网页通过DOM的组合和嵌套形成最基本的视图结构,然后通过CSS修改,在Basic视图结构中进行“拼凑”,使其看起来更加美观。最后是交互部分,需要用JavaScript接受用户的交互请求,并通过事件机制响应用户的交互操作,在事件处理函数中修改各种数据,比如修改某个DOMinnerHTML或innerText部分。我们将HTML中的DOM划分为一个独立于其他部分的层级,这个层级称为视图层。4、响应式数据绑定这里的响应式不是@media媒体查询中的响应式布局,而是指vue.js会自动响应页面上某些数据的变化。至于如何响应,可以先将下面的代码粘贴到一个扩展名为html的文件中,用浏览器打开,在文本框中输入一些文字,观察页面的变化。5、组件化开发是单页面应用,页面交互和结构非常复杂。一个页面需要写的模块很多,往往一个模块的代码量和工作量都非常大。如果按照原来的方法去开发,会很累的。而且,如果未来产品需求发生变化,修改起来也很麻烦。恐怕其中一个div移动后,其他的div会跟着雪崩,整个页面就会乱七八糟,或者由于JavaScript的事件冒泡机制,修改了一些内部DOM事件。处理完函数后,出现了各种莫名其妙的怪bug。在面向对象编程中,我们可以利用面向对象的思想,将各种模块封装成类,或者将一个大的业务模块拆分成更多、更小的类。在面向过程的编程中,我们也可以将一些大的功能拆分成很多功能,然后分配给不同的人进行开发。在前端应用中,我们是不是也可以像编程一样封装模块呢?这就引入了组件化开发的思想。Vue.js通过组件将单页应用中的各个模块拆分成一个个的组件(components)。我们只需要在父应用(入驻)中写好各种组件标签,并在组件标签中写入要传递给组件的参数即可(就像给函数传递参数一样,这个参数称为组件的属性),然后写出每个组件的实现(填坑),然后整个应用就完成了。2、Vue与小程序的关系首先需要说明的是,Vue与小程序开发没有直接关系。但是在Vue和众多Vue开发者的影响下,很多机构二次开发小程序,以类似Vue语法的形式开发小程序(最后通过自己的工具转成原生小程序语法),比如美团的mpVue(小程序中的Vue.js)。好处是降低了Vue开发者学习小程序开发的成本,优化了很多小程序的不足。例如,小程序不能使用Npm、CSS预处理器和本机回调语法。例如,mpVue是一个使用Vue.js开发小程序的前端框架。该框架基于Vue.js的核心。Mpvue修改了Vue.js的运行时和编译器实现,使其可以运行在小程序环境中,从而引入了一套完整的Vue.js开发体验。使用Mpvue开发小程序,你将获得基于小程序技术体系的一些额外能力:完善的组件开发能力:提高代码复用性完善的Vue.js开发体验便捷的Vuex数据管理解决方案:轻松构建复杂的快速应用webpack构建机制:自定义构建策略,开发阶段支持hotReload使用npm外部依赖使用Vue.js命令行工具vue-cli快速初始化项目H5代码转换编译成小程序目标代码能力mpVue开发小程序请参考totheofficialdocument:http://mpvue.com/mpvue/#_13.如何让小程序发挥更大的作用了解了如何基于Vue开发小程序之后,你还可以学习如何改进小程序,给全发挥小程序的价值,不得不提的是Hybrid模式逐渐流行,架构lNative+小程序模式成为趋势,解决了传统APP带来的迭代不灵活、代码堆积、多平台维护等问题,同时拥有远超H5的体验。这里要推荐的是FinClip,目前市场上比较成熟的小程序容器技术。通过SDK的集成,让您的APP快速具备运行小程序的能力。另外,FinClip的视图层和逻辑层的分离也带来了很多好处:1.方便了多个小程序页面之间的数据共享和交互。在小程序的生命周期中具有相同的上下文可以为开发人员提供具有熟悉的编码体验的原生应用程序开发背景;2、Service和View的分离和并行实现,可以避免JS执行影响或拖慢页面渲染,有利于提升渲染性能;3、由于JS是在Service层执行的,在JS中操作DOM不会影响到View层,所以小程序无法操作DOM结构,这也使得小程序的性能优于传统小程序。H5更好。还有一点值得推荐,兼容微信小程序开发规范。也就是说,原本通过Vue开发的微信小程序,不改代码也可以放到自己的APP中。同时提供后台管理页面,可以管理自有和外部开发的小程序,并对收集到的小程序数据进行分析。