侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

jQuery会死吗?我为什么不用vue写富文本

前端  /  管理员 发布于 3年前   109

一、事件背景:

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

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

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

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

 绘制流程图功能

 移动设备模拟功能

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

二、我的观点:

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

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

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

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

     jquery:

             诞生背景

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

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

     擅长场景:

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

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

             缺点:

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

                   2、jquery没法实现数据驱动开发,还需要开发者编写dom读写操作。          

    vue:

           诞生背景

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

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

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

          擅长场景:

                 1、数据驱动的双向绑定场景,特别是表单读写,可以说解放了表单读写对dom的操作编程。

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

          缺点:

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

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

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

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

四、vue应用场景说明

          pc端web应用场景

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

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

         移动端应用场景

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

               2、vue技术栈应用于移动应用场景具有天生的设计实现优势。

我的总结:

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

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

欢迎登陆我的demo网站,体验可能是全网最强大的富文本应用:

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

以上所述是小编给大家介绍的jQuery会死吗?我为什么不用vue写富文本,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!


  • 上一条:
    如何在ASP.NET Core应用程序运行Vue并且部署在IIS上详解
    下一条:
    基于Laravel + Vue + Element 实现 人力资源系统(考勤应用 )
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在js中使用URL类用来解析处理URL的示例代码(0个评论)
    • js中动画事件:requestAnimationFrame、transitionend、animation...(0个评论)
    • 在js中mouseover和 mouseenter的区别浅析(0个评论)
    • uniapp调用手机实现打电话录音功能示例代码(0个评论)
    • 在uniapp开发微信小程序中图片大小显示不正常解决方法(0个评论)
    • 近期文章
    • 在laravel框架中的5个HTTP客户端技巧分享(0个评论)
    • 在go语言中使用FFmpeg库实现PCM音频文件编码为mp3格式文件流程步骤(0个评论)
    • gopacket免安装Pcap实现驱动层流量抓包流程步骤(0个评论)
    • 在laravel项目中实现密码强度验证功能推荐扩展包:password-strength(0个评论)
    • 在go语言中用filepath.Match()函数以通配符模式匹配字符串示例(0个评论)
    • Laravel Response Classes 响应类使用优化浅析(0个评论)
    • mysql中sql_mode的各模式浅析(0个评论)
    • 百度文心一言今天发布,个人第一批内测体验记录,不好别打我(0个评论)
    • 嘿加密世界让我们谈谈在共识中将中本聪主流化(0个评论)
    • 在go语言中寻找两个切片或数组中的相同元素/共同点/交集并集示例代码(0个评论)
    • 近期评论
    • 博主 在

      2023年国务院办公厅春节放假通知:1月21日起休7天中评论 @ xiaoB 你只管努力,剩下的叫给天意;天若有情天亦老,..
    • xiaoB 在

      2023年国务院办公厅春节放假通知:1月21日起休7天中评论 会不会春节放假后又阳一次?..
    • BUG4 在

      你翻墙过吗?国内使用vpn翻墙可能会被网警抓,你需了解的事中评论 不是吧?..
    • 博主 在

      go语言+beego框架中获取get,post请求的所有参数中评论 @ t1  直接在router.go文件中配就ok..
    • Jade 在

      如何在MySQL查询中获得当月记录中评论 Dear zongscan.com team, We can skyroc..
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-10
    • 2017-11
    • 2018-03
    • 2018-04
    • 2018-05
    • 2018-06
    • 2018-09
    • 2018-11
    • 2018-12
    • 2019-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2021-04
    • 2021-05
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客