首页 > 编程知识 正文

前端ui框架,javaweb是前端还是后端

时间:2023-05-05 17:59:45 阅读:56045 作者:3832

Web前端开发是当今最受欢迎的领域之一,为了提高开发效率和用户体验,创造更具竞争力的产品,请访问http://www.Sina.com/http://www.Sina.com /

但是近年来,随着技术和开发理念的发展和进步,前端开发框架也在不断重复。 在众多选择面前,如何区分各框架的特点和短板? 如何判断其技术架构是否适合自己?

本文试图从多个角度分析市场上主流的前端框架,为你的选择提供参考。

前端框架的流行度

从上图中堆栈溢出的数据可以看出,近十年前端框架的流行程度发生了变化。

从2016年开始,React和Angular开始被人们学习和讨论。 曾经华丽一时的jQuery虽然没落了,但仍有一定的群众基础。

Vue起步较晚,但增长势头强劲。

截至2020年底,Github上的Star数量也从侧面印证了Vue、React、Angular的流行。选择适合自己项目或团队的开发框架成为技术决策者首先需要解决的问

jQuery有很多mdxh,最近也很好地支持移动端开发的进展。 但是,本质上它是用于处理DOM和CSS并提供交互式动画的库。

在开发大型APP应用程序、支持高级JavaScript功能、可重用组件和更少的编码量方面,与现代框架仍然存在许多差距。

从用户数量和社区发展的角度来看,其他框架也与React、Vue、Angular有很大的差距。

React、Vue、Angular介绍

题。Airbnb、Facebook和Netflix .

React最初是Facebook为满足产品需求而开发的,2013年展示给参与者并开放源代码。 其虚拟文档对象模型(virtual Document Object Model )大大提高了页面的渲染性能和表现力。

对于希望建立稳定、高效的单页面APP应用程序的项目,React是一个不错的选择。

3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com/paypal、谷歌、Autodesk .

Angular是一个用于构建谷歌支持的用户界面的开源框架,其历史可以追溯到2010年正式发布的AngularJS。 后开发团队基于TypeScript重写了AngularJS,并推出了Angular 2以满足2016年9月不断增长的网络需求。 为了避免混淆,新框架名称删除了“JS”。

Angular是一个大型完整的开发平台和完整的技术体系,非常适合开发和维护大型复杂项目。

http://www.Sina.com/http://www.Sina.com/http://www.Sina.com/git lab、Behance、Alibaba .

Vue是原谷歌员工Evan You在2014年开发的。 具有平缓的学习曲线,只要有HTML、CSS、JavaScript的基础,马上就能获得,官方文档也非常细致全面。 这在重视高速迭代、小步奔跑的互联网大环境中尤为重要。

设计哲学

毫无疑问 React、Vue 和 Angular 仍将是 2021 年最受青睐的三款开发框架。

React提供轻量级DOM渲染库,旨在以高效、可重用的方式创建组件和子组件。 引入了通过在JavaScript代码中嵌入“HTML元素”来实现组件级关注点隔离的JSX语法。

由于React主张更灵活,除核心DOM渲染库外,官方不再提供对采用的网站:采用的等类库的更多支持。

幸运的是,React拥有庞大而专业的社区,并提供了许多强大的第三方类库,如react-redux和react-router。 在其中,您可以找到适合自己的解决方案。

网站

Angular在三个框架中提供最多的功能:用户界面控制、用户输入处理、表单验证、状态管理、路由、测试和PWA。

因此 Angular 更像是一个平台,它提供了一套工具集,覆盖了几乎所有开发周期内可能出现的问题。

 

 

Vue

Vue 的核心库只关注视图层,它提供的类库和工具比 React 多(CLI、 状态管理和路由的支持),但相比 Angular 更少。

 

Vue 是渐进式的,被设计为可以自底向上逐层应用。Vue 的一个特色是使用文件扩展名为 .vue 的 single-file components (单文件组件) ,可以在一个文件中同时处理 HTML、CSS 和 JavaScript。

 

 

小结

React 主张灵活性,相对的就丢失了确定性,Angular 满足了确定性,但又不够灵活。这本身就是在事物的不同方面做取舍。

 

Vue 似乎兼容了确定性和灵活性,并且提供渐进式的支持,但是过高的自由度带来的是不够稳定和健壮。

 

谁的设计更好?这可能是个难以回答的问题。不同的团队、不同的需求,所侧重的方向也不尽相同。

 

语法风格

 

React

React 使用 JSX 将 JavaScript 和 HTML 结合在一起,在构建项目的时候 JSX 会被编译为常规的 JavaScript 和 HTML 代码。

 

下面是 React 的 Hello World 组件代码。

       import React from "react"function HelloWorld(props) { return <li>Hello World</li>}export default HelloWorld

你可以通过 JavaScript 函数创建 React 组件,在返回值中使用 JSX 呈现视图内容。

 

Angular

Angular 使用 TypeScript 作为开发语言。他是 JavaScript 的超集,在面向对象、类、接口、静态类型检查等方面提供了更全面的支持。

 

Angular 会将 TypeScript 项目编译为与浏览器兼容的 JavaScript 代码。

 

你可以用如下的方式编写 Angular 组件。

        import { Component } from '@angular/core';@Component ({   selector: 'my-app', template: `<h1>Hello World</h1>`,})export class AppComponent{}  

Angular 负责在幕后将你定义的组件,转换为真实的 DOM。

 

Vue

Vue 使用普通的 JavaScript 语法,对于新手而言很友好。

      new Vue({ el: '#app', data: { message: 'Hello Vue.js!' }})  

小结

三个框架都是基于组件来构建功能模块和界面。

 

React 和 Angular 都有自己的主张的技术栈(JSX、TypeScript)因此有更陡峭的学习曲线,而在这方面 Vue 则没有过强的主张,更易上手。

 

但 React 和 Angular 也正是因为有自己的主张,才使得自身能够支持更加先进和高级的特性。

 

因此,讨论谁的语法风格更优秀似乎并没有什么意义,适合自己的就是最好的。

 

优势与不足

 

一番对比下来,似乎并没有什么坚实的理由来选出一款最优秀的框架,它们都有自身的特色。

 

正因如此,我们不妨将他们的优势和不足统统罗列出来,相信会有更大的参考价值。

React

优势

采用虚拟 DOM 大幅提升页面性能和一致性。

拥有强大的浏览器端开发工具,对于提升开发和调试的效率至关重要。

庞大的社区生态,使你总是能够找相关问题的解决方案。

单向数据流能防止很多错误,并且有助于调试工作。

可重用的组件从某种程度上来说简化了开发工作,提升了效率。

可以方便的使用 React-Native 开发移动端 Web 应用。

 

不足

不完整,官方仅提供 MVC 模型的视图(View)部分,因此你不得不选择其他的第三方库。

React 的发展速度非常快,这意味着你现在学习的特性很可能在以后被遗忘,你必须时刻跟随它的脚步。

相对来讲 React 的文档可能不是很全面。

React 生态主张函数式编程和 JSX 语法特性,对于不熟悉相关技术的新手,上手难度较大。

 

Angular

优势

Typescript - 相比较 JavaScript 而言是更健壮的语言,有利于写出高效和可维护的代码。

指令 - 作为 HTML 的扩展,指令可以让工程师轻松地创建动态且丰富的内容。

依赖注入使组件更易于重用,更易于管理和测试。

双向数据绑定可以使工程师减少开发的时间。

基于组件的体系结构,有利于提供可重用的高质量代码。

强大的社区支持,包含全面的文档、讨论和第三方工具。

 

不足

将旧的系统从 AngularJS 迁移到 Angular 需要一定时间。

从某种程度来说,Angular 系统显得冗长和复杂。

Angular 是一套完整的前端解决方案,有很陡峭的学习曲线。

使用真实的 DOM ,对于动态 Web 内容的加载在性能上会受到些许的影响。

 

Vue

优势

具有平缓的学习曲线,对于新手开发者非常友好。

在单个文件中分离关注点,程序开发更便捷,可读性更强。

和 React 一样,具有虚拟 DOM 带来的高渲染性能和一致性的优势。

和 Angular 一样支持双向数据绑定,数据更新和追踪更直接。

可重用组件,对于简化开发工作、提升开发效率至关重要。

生态系统完善,官方提供状态管理路由库的支持。

出现时间较晚,吸收了 React 和 Angular 的优势,增长迅速。

 

不足

双向数据绑定可能会带来一些问题。

对比 React 和 Angular,Vue 背后没有大型企业的支持。

对较旧版版本的 Safari 支持会出现一些问题。

过高的灵活性通常会引入更多的错误以及编码的不规范。

社区中文化程度较高,对于英文用户来讲很难学习。

 

结论

 

下图总结了 Vue、React 和 Angular 三个框架在集成度、学习曲线、性能和主张方面的表现。

nrdxs需要在很短的时间内快速构建一个健壮的交互式单页应用,React 会是一个稳妥的选择。但是如果你缺乏对 JavaScript 的掌控,React 则不是很合适,因为 JSX 有一定的学习难度。

 

对于构建大型复杂的企业级的应用,使用 Angular 是最好的选择。但同样因为它庞大的体系,Angular 并不适合构建简单的小型应用。尤其是nrdxs的团队规模较小时,选择一个低复杂度和语法简单的框架会好很多。

 

nrdxs需要一个灵活的架构,以便于从头开始设计所有内容,Vue 是值得被推荐的。但与此同时你需要在组件稳定性和它所带来的便利性之间做权衡。

 

这三个框架都有各自的优点和缺点,要做选择的确不是一件简单的事。但是,如果你明确了自己真正需要的和真正不能接受的,那么相信你的心中已经有答案了。

本文来源:灵感发生器 微信公众号

图片来源:

封面, simform.

 

本文编辑: 标梵互动(https://www.biaofun.com/)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。