Jquery会死吗?我为何不用vue写富文本!

1、事件背景:前端

       我最近开源了一个我的耗时半年打造的富文本及一套适用于web后台的ui框架,在gitee上受到网友们的关注,部分网友对我采用jquery的技术栈提出了质疑。总结起来:无非是jquery已经落后,不久将死。甚至有少数网友很激进:非vue技术栈,你不该该加入我这个群,无论你作得多好。对应这个事情,首先我通常不反驳,由于我对vue,jquery有本身的应用场景度量。可是对于这种不分场景应用而盲目赶潮流的观点,我是持否认态度的。vue

       为此我想有必要经过这篇文章,说明一下:我为何用jquery来写vue和web后端ui框架,而不用vue。在文章开始前,先贴一下我开源的富文本:jquery

       gitee: https://gitee.com/kevin-huang/Bui-Editor-publicwebpack

浮动文本/图片/视频功能git

 绘制流程图功能web

 移动设备模拟功能编程

 

       经过上述富文本的截图,能够大概了解到这个富文本的功能很丰富,许多功能能够说是全网富文本里面的only-one。这么复杂的应用对技术栈的选择很重要,良好适配的技术栈能够在设计上,编码上给开发者更大的自由度,同时能够避免不少繁杂的实现,提高代码质量,下降后期的维护,运营的成本。后端

 

2、个人观点:api

          一、vue技术栈适用于移动端应用开发,对于pc端web应用,vue技术栈并不见得优于传统技术栈(相对于vue来讲是传统的)。浏览器

          二、jquery是目前dom操做的王者,除此无二,jquery和vue不可比较,他们各自擅长的场景不同。

          三、复杂应用,原生JavaScript +  jquery是比较好的技术栈组合,优于vue技术栈。

 

3、jquery、vue技术栈诞生背景,擅长场景说明

     jquery:

             诞生背景

                   一、jquery诞生于2006年,它诞生的背景是浏览器的dom操做繁杂,各类浏览器api不统一。市场须要一个前端JavaScript库解决dom操做的痛点。

                   二、jquery诞生的年代,移动应用还在萌芽,它的设计实现都是面向pc端的,当时的前端技术范畴也尚未mvvm(数据驱动)的思想,它为操做dom而生。

     擅长场景:

                    dom操做为主的场景,如富文本,流程设计器,这些应用须要对dom进行大量的操做,jquery最合适不过。

                    对于这种场景,vue的编程规范会形成设计实现上的束缚,其双向绑定在这里也是多余的,彻底没有用武之地!                    

             缺点:

                   一、jquery没有mvvm思想,不能解决移动端带宽、性能的痛点。   

                   二、jquery无法实现数据驱动开发,还须要开发者编写dom读写操做。           

    vue:

           诞生背景

               一、vue的诞生以前,已经有了许多成熟的mvvm框架,如backbone、angular,他们都是在一些数据驱动的需求场景中获得很好的应用,但也并无像vue被开发者如此着迷。

               二、backbone、angular既然已经有了数据驱动的实现,为什么没有像vue那样火呢,由于他们要么比较笨重,要么尚未解决移动端应用的痛点(带宽、性能)。

               三、vue能够说是为移动应用而生,轻量,其设计的虚拟dom解决移动设备频繁触发浏览器刷新而引发的性能/电量问题,其设计的单页打包(webpack)模式,解决了跳转须要网络请求的带宽痛点。

                 

          擅长场景:

                 一、数据驱动的双向绑定场景,特别是表单读写,能够说解放了表单读写对dom的操做编程。

                 二、移动应用场景,经过双向绑定,虚拟dom、webpack打包,解决移动端web应用的设备性能/电量、带宽痛点。

          缺点:

                 一、采用数据驱动,没有灵活的dom操做,不适用于dom操做为主的应用场景。

                 二、在复杂应用中,大量的dom监听、data状态联动维护并非一种好的机制。

                 三、webpack打包方式解决了移动应用的痛点,但也带来了发布后,难以跟踪定位问题,无法即刻修改已经在线页面的缺点。

                 四、学习成本相对传统技术栈高一些,对团队的前端知识要求也相对高一些。

 

4、vue应用场景说明

          pc端web应用场景

               一、pc端没有移动端性能、带宽的限制,采用vue技术栈,反而带来了开发环境繁杂、学习额外的非w3c规范的web知识、发布后难以定位跟踪问题、无法即刻修改在线页面这些缺点。

               二、pc端的应用,大可能是普通的表单开发应用,除此以外基本都是展现类型的页面,我的认为除了表单的双向绑定,监控类ui的数据联动,其余如ui表现/结构的编程采用vue有点多余。

    

         移动端应用场景

               一、移动应用场景,对性能、带宽有要求,移动设备的特色也决定了其在问题跟踪定位,更新部署方面与pc端有差别。

               二、vue技术栈应用于移动应用场景具备天生的设计实现优点。

 

个人总结:

        一、 pc端采用传统的ui技术栈,同时在传统的基础上引入轻量级mvvm方案解决表单读写开发编程,即优于vue技术栈。这也Bui会实现一个min-mvvm的初衷。

        二、移动端应用,毫无疑问,采用vue技术栈是王道。

 

欢迎登录个人demo网站,体验多是全网最强大的富文本应用:

       http://www.vvui.net/bui/ 

相关文章
相关标签/搜索