• 程序员篇:目前流行的前端框架推荐

    2022-04-26 16:28

      框架之间的论战一直以来都是 JavaScript 社区的热门话题,也是业内的圣战之一。从刚开始的 jQuery,到后来的 AngularJS,再到现代框架,相关的讨论从未停歇。
      
      参与者自从 JavaScript 这场框架“战争”开始以来,Backbone 与 Sencha 等框架逐渐“体力不支”,在战斗中倒下了,它们所遗留下的只有大量需要维护的代码。而存活下来的,像 jQuery 则变得越来越强大,如今拥有一个庞大的社区;另外存活下来的还有像 Angular 这样没有预期中发展得那么好的框架,让人略感遗憾。

      
      1.jQueryjQuery
      
      是一个快速、简洁的 JavaScript 框架,它可能是目前最老的参赛者了。由于 jQuery 曾经修复了浏览器之间的互操作性,因此它非常流行,但它的应用却很难扩展。不过如今,jQuery 已经不是主流框架之一,也不再是大多数项目的最佳选择。
      
      2.AngularJSAngularJS
      
      作为一个基于 JavaScript 的开源前端框架,目前它已经达到了生命周期终止的状态(EOL),未来将不再获得任何支持与维护,Angular 团队希望现有用户能够迁移到下一代的 Angular 框架中。由于它曾是框架生态系统的一次巨大飞跃,因此有不少人依旧怀念它。但因为它已经不再被积极维护了,所以不算是一个竞争者。
      
      3.AngularAngular
      
      是如今高效和开源的 JavaScript 框架之一,起初它的诞生是为了与 React 竞争。随着 AngularJS 越来越老,出现许多问题,而 React 却发展得很好的情况下, AngularJS 团队决定对其进行现代化改造,将 AngularJS 重写为 Angular。3.AngularAngular 是如今高效和开源的 JavaScript 框架之一,起初它的诞生是为了与 React 竞争。随着 AngularJS 越来越老,出现许多问题,而 React 却发展得很好的情况下, AngularJS 团队决定对其进行现代化改造,将 AngularJS 重写为 Angular。
      
      Angular 存在的另一个问题是它至今还有许多目标没有达成。例如,自从 Angular 2.0 以来,不少人都期待能有一个简单的方法来创建服务器端渲染的页面,但直到 2022 年 2 月,Angular.io 网站自身在没有 JavaScript 的情况下仍然是无法工作的。
      
      4.VueJS
      
      Vue 是比 AngularJS 性能更强,且比 Angular 更稳定、更容易使用的框架。Vue 在其模板系统中非常接近最初的 Angular,它既保持了 AngularJS 的简单性,同时又从 React 获得了一些灵感。
      
      不过 VueJS 在版本 1 和版本 2 中存在一个严重的问题:它不能很好地处理数组,编写者把他们错误选择更新算法导致的结果归咎于 JavaScript。此外,如果你不使用像 Vuex 或 Redux 这样的库,可能就会出现严重问题。你可以在这里看到一个在 AngularJS 中工作的应用程序,但却不能在 VueJS 中看到。
      
      5.SvelteJS
      
      SvelteJS 是一个逐渐强大的竞争者,它声称自己的主要优势是在构建时会将组件转换成高效率执行的命令代码。据 SvelteJS 表示,这比 React 采取的声明式更好。SvelteJS 使用起来的确更简单,但转换成命令代码以及生成的组件并不像看起来那么容易。在某些情况下,SvelteJS 无法正确检测更改,当这种情况发生时,状态可能会被破坏并且视图也不会正确更新。这个问题引起了很多关注,导致 SvelteJS 像过去的 VueJS 一样,很难证明它其中的项目都是合理的。
      
      6.StencilJSStencilJS 作为基于 Web Components 设计的框架,从技术上讲,StencilJS 并不算是真正的框架。实际上,StencilJS 允许编写组件,并将其翻译到其他框架。如今,它可以将组件转换为 Angular、React、Vue 和 Web Components 组件。
      


      • 公司历程

        5+

        • 来自各领域的合作客户

          800+

          • 覆盖100+行业

            100+

            • 软件著作权

              30+