我的 web 前端开发技术选择

不使用 mvvm 之类的前端组件,是因为我觉得没有必要。

mvvm 常见的宣传,对我来说没什么吸引力,反而增加了技术的复杂度。

一、Javascript 操作 DOM 慢。我不觉得慢。

二、Javascript 操作 DOM 复杂。我用了 jQuery 之后,不觉得复杂。

三、mwwm 代码更简洁。我觉得 jQuery 极其插件(plugin)的代码更简洁、功能更多。

四、mwwm 可以实现代码逻辑分层。我觉得用 Apache Velocity(或 C# 的 NVelocity) 更容易实现代码的前后端分层。

五、可测试性。我觉得如果只使用 jQuery 、不使用 mvvm 的代码,也能进行单元测试。

谷歌(Google) 公司开发了一款浏览器,名叫 Chrome, 宣称 "世界上最快的浏览器"; 谷歌(Google) 另一个团队说,因为 浏览器慢、所以我们开发了一个叫 Angular 的 Javascript MVVM 组件/框架。

这是怎么回事?谷歌(Google)公司你们内部两个团队打一架吧,然后再对外统一口径:Chrome 浏览器到底是快还是慢。

或者,把 Angular 的技术,融入到 Chrome 浏览器内部,那样不是更好吗?

用标准 javascript 的原因,在于5年前、10年前使用标准 javascript/ jQuery 自己写的代码,现在还能用。而几年前的 MVVM 代码(Angular/React/Vue等),现在是否还能用,很难说。mvvm 组件的升级,往往会不兼容旧版本。这是一个大问题。

当然了,jQuery 版本升级时,也有一些不兼容旧版本代码。但与 MVVM 组件/框架的向前兼容性(兼容旧版本)相比,jQuery 的新旧版本兼容性要好很多。

Original: https://www.cnblogs.com/jacklondon/p/my-frontend-tech.html
Author: 杰克伦敦尘
Title: 我的 web 前端开发技术选择

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/592730/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • ElementUI嵌套页面及关联增删查改实现

    @ 前言 一、ElementUI如何在原有页面添加另外一个页面并实现关联增删查改? 二、实现步骤 1.ElementUI代码 2.思路:很简单 1.1 首先通过el-row、el-…

    Java 2023年6月13日
    083
  • 三万字盘点Spring/Boot的那些常用扩展点

    大家好,我是三友。 Spring对于每个Java后端程序员来说肯定不陌生,日常开发和面试必备的。本文就来盘点Spring/SpringBoot常见的扩展点,同时也来看看常见的开源框…

    Java 2023年6月16日
    065
  • HTML笔记整理–上节

    一、认识WEB 「网页」主要是由 文字、 图像和 超&#x94…

    Java 2023年6月7日
    0103
  • 一级缓存与二级缓存

    1.一级缓存 一级缓存基于sqlSession默认开启,在操作数据库时需要构造SqlSession对象,在对象中有一个HashMap用于存储缓存数据。不同的SqlSession之间…

    Java 2023年6月13日
    097
  • 数据库锁表及解锁

    一、查询PG_STAT_ACTIVITY的信息 SELECT * FROM pg_stat_activity where datname=’bms’ and wait_event_…

    Java 2023年6月5日
    075
  • docker安装Jenkins

    背景:内网打包纯手工,每次打包、部署很烦 需求:傻瓜式操作、持续集成 方法: 一、安装Jenkins 1、拉取镜像 docker pull jenkins/jenkins 2、拉取…

    Java 2023年6月8日
    093
  • Lambda表达式工具类-日常搬砖

    众所周知,jdk8提供的Lambda表达式能帮我极大的精简代码,但是就在我们在实际使用过程中会有一些重复性的代码,比如对于stream来源的空判断处理,今天我就给大家整理了一些工具…

    Java 2023年6月5日
    082
  • Docker内运行的nginx除了80端口其他端口都无法访问

    请检查nginx容器是否只开启了80端口映射!!! 请检查nginx容器是否只开启了80端口映射!!! 请检查nginx容器是否只开启了80端口映射!!! 环境: Docker: …

    Java 2023年6月5日
    097
  • 系统调用跟踪——ls功能实现(二)

    在上篇文章中我们跟踪 ls命令看到了其所使用的这么几个系统调用: stat、openat、fstat、getdents、close、write等,这里再简单介绍下这几个系统调用的功…

    Java 2023年6月16日
    091
  • 增长黑客招聘条件 JD

    HubSpot招聘T型营销人员加入我们的营销团队。担任此职务后,您将成为第二个致力于HubSpot正在构建的新产品的营销人员。由于其高度机密,我们无法告诉您该产品是什么。 我们正在…

    Java 2023年6月13日
    099
  • idea使用教程-模板的使用

    一、代码模板是什么 它的原理就是配置一些常用代码字母缩写,在输入简写时可以出现你预定义的固定模式的代码,使得开发效率大大提高,同时也可以增加个性化。最简单的例子就是在Java中输入…

    Java 2023年6月5日
    073
  • IntelliJ IDEA竟然出了可以在云端编码的功能?

    前言 自从我用了正版的IntelliJ IDEA后,基本上都是与时俱进,出一个新版本就立马更新,这也能能让我体验到最新最快的功能。 最近在闲逛Jetbrains的官网时,看到了最新…

    Java 2023年6月8日
    069
  • springboot 中事件监听模型的一种实现

    定义事件本身 定义事件源 定义监听者 一、需要实现 ApplicationListener 二、使用 @EventListener 注解 测试 项目结构 前言: 事件监听模型是一种…

    Java 2023年6月16日
    077
  • cpp和c中struct用法的区别

    cpp和c中struct用法的区别 不使用typedef C语言中,定义struct的语法如下: struct [<tag>] { <member-list&gt…

    Java 2023年6月7日
    077
  • docker安装Java开发相关环境

    docker安装Java开发环境 官网:https://www.docker.com/ 主要安装: mysql:5.7.29 Redis RabbitMQ nginx 如果在获取镜…

    Java 2023年6月5日
    079
  • MySQL十九:分库分表实践

    转载~ 在很多小型应用中都没真正使用分库分表,但是说起来并不陌生,因为我们在面试中经常会被问到,今天我们从从以下几个方面来聊聊分库分表: 「是什么?解决什么?怎么做?为什么要这么做…

    Java 2023年6月8日
    079
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球