angular react_Angular vs React:为您的应用选择哪一个

angular react

Angular和React的常规和技术方面的精确并排比较 (A precise side-by-side comparison of general and technical aspects of Angular and React)

There are so many articles titled “Angular vs React”, “React vs Angular”, “Angular or React” – it is a miracle you opened this one! What these articles are missing, however, is a precise side-by-side comparison of Angular vs React.

标题为“ Angular vs React”,“ React vs Angular”,“ Angular or React”的文章如此之多,这是打开这个奇迹! 但是,这些文章缺少的是Angular与React的精确并排比较

So this is what I am going to do in this blog post: to place React and Angular in direct juxtaposition. We're going to review and contrast the two JavaScript frameworks and look at each possible characteristic to make sure we don't miss even a single piece of data.

所以这就是我在这篇博客文章中要做的:将ReactAngular直接并置。 我们将回顾和对比这两个JavaScript框架,并研究每个可能的特征,以确保我们不会丢失任何数据。

In the end, I am not going to tell you which technology to choose. But I will give you enough food for thought for you to choose the technology that suits you and your project best.

最后,我不会告诉您选择哪种技术。 但是,我会给您足够的考虑,让您选择最适合您和您的项目的技术。

1.简要概述 (1. Brief Overview)

React (React)

React is a JavaScript library for UI development. It is managed by Facebook and an open-source community of developers.

React是一个用于UI开发JavaScript库。 它由Facebook和一个开放源码的开发人员社区管理。

The framework was introduced in May 2013.

该框架于2013年5月引入。

The latest updates were released on August 8th, 2019 – just over a month ago.

最新更新于一个月前的2019年8月8日发布。

角度的 (Angular)

Angular is an open-sourced JavaScript framework for web and mobile development. It is TypeScript-based and managed by Google’s Angular Team and the Angular developer community.

Angular是一个用于Web和移动开发的开源JavaScript框架。 它基于TypeScript,由Google的Angular团队和Angular开发人员社区进行管理。

Launched in September 2016, Angular (also known as Angular 2.0) is a complete rewrite of AngularJS (Angular 1.0), which was introduced in 2010.

Angular(也称为Angular 2.0)于2016年9月发布,是对AngularJS(Angular 1.0)的完全重写,后者于2010年推出。

There have been six versions of Angular already, and the latest release took place on August 28th, 2019 – almost three weeks ago.

Angular已经有六个版本,并且最新版本于2019年8月28日-大约三周前发布了。

2.普遍性 (2. Universality)

React (React)

React is a framework used in both web and mobile development. However, for mobile development, it needs to be incorporated with Cordova. Moreover, for mobile development, there is an additional framework – React Native.

React是用于Web和移动开发的框架。 但是,对于移动开发,它需要与Cordova合并。 此外,对于移动开发,还有一个附加框架– React Native。

React can be used to build both single-page and multiple-page web applications.

React可用于构建单页和多页Web应用程序。

角度的 (Angular)

Angular is suitable for both web and mobile development. In mobile development, however, a great share of work is done by Ionic. Furthermore, similarly to React, Angular has an additional mobile development framework. The counterpart of React Native is NativeScript.

Angular适用于Web和移动开发。 但是,在移动开发中,Ionic完成了大量工作。 此外,类似于React,Angular还有一个额外的移动开发框架。 React Native的对应物是NativeScript。

Angular can also be used for both single- and multiple-page web apps.

Angular还可以用于单页和多页Web应用程序。

3.自给自足 (3. Self-Sufficiency)

React (React)

React is a framework for UI development, so apps written with React need additional libraries to be used. For instance, Redux, React Router, or Helmet optimize the processes of state management, routing, and interaction with the API. Such functions as data binding, component-based routing, project generation, form validation, or dependency injection require additional modules or libraries to be installed.

React是用于UI开发的框架,因此使用React编写的应用程序需要使用其他库。 例如,Redux,React Router或Helmet可以优化状态管理,路由以及与API交互的过程。 诸如数据绑定,基于组件的路由,项目生成,表单验证或依赖项注入之类的功能需要安装其他模块或库。

角度的 (Angular)

Angular is a full-fledged framework for software development, which usually does not require additional libraries. All the above-mentioned functions – data binding, component-based routing, project generation, form validation, and dependency injection – can be implemented with the means of Angular package.

Angular是用于软件开发的成熟框架,通常不需要其他库。 所有上述功能-数据绑定,基于组件的路由,项目生成,表单验证和依赖项注入-都可以使用Angular软件包来实现。

4.学习曲线 (4. Learning Curve)

React (React)

React is minimalistic: no dependency injection, no classic templates, no overly complicated features. The framework will be quite simple to understand if you already know JavaScript well.

React极简:没有依赖注入,没有经典模板,没有过于复杂的功能。 如果您已经非常了解JavaScript,那么该框架将非常容易理解。

However, it takes quite some time to learn how to set up a project because there is no predefined project structure. You also need to learn the Redux library, which is used in more than half of React applications for state management. Constant framework updates also require additional effort from the developer. Furthermore, there are quite a lot of best practices in React, which you will need to learn to do things right.

但是,由于没有预定义的项目结构,因此需要花费很多时间来学习如何设置项目。 您还需要学习Redux库,该库在一半以上的React应用程序中用于状态管理。 持续不断的框架更新也需要开发人员付出额外的努力。 此外,React中有很多最佳实践,您将需要学习这些正确实践。

角度的 (Angular)

Angular itself is a huge library, and learning all the concepts associated with it will take much more time than in the case of React. Angular is more complex to understand, there is a lot of unnecessary syntax, and component management is intricate. Some complicated features are embedded into the framework core, which means that the developer cannot avoid learning and using them. Moreover, there are a lot of ways of solving a single issue.

Angular本身是一个庞大的库,学习所有与之相关的概念将比使用React花费更多的时间。 Angular的理解更为复杂,有很多不必要的语法,并且组件管理非常复杂。 一些复杂的功能嵌入到框架核心中,这意味着开发人员无法避免学习和使用它们。 而且,有很多解决单个问题的方法。

Although TypeScript closely resembles JavaScript, it also takes some time to learn. Since the framework is constantly updated, the developer needs to put some extra learning effort.

尽管TypeScript与JavaScript非常相似,但它也需要一些时间来学习。 由于该框架不断更新,因此开发人员需要付出一些额外的学习努力。

5.社区 (5. Community)

React (React)

React framework is one of the most popular JS frameworks worldwide, and the community supporting and developing it is huge.

React框架是全球最受欢迎的JS框架之一,支持和开发它的社区非常庞大。

Working with React, you have to be a continuous learner since the framework is often updated. While the community tries to go forward with the latest documentation as swiftly as possible, keeping up with all the changes is not that easy. Sometimes, there may be a lack of documentation, but the issue is often solved by the community support on thematic forums.

使用React,由于框架经常更新,您必须是一个不断学习的人。 尽管社区试图尽快发布最新文档,但要跟上所有更改并不容易。 有时可能缺少文档,但是该问题通常可以通过主题论坛上的社区支持来解决。

React is actively used by such companies as Facebook, Twitter, Netflix, Airbnb, PayPal, The New York Times, Yahoo, Walmart, Uber, and Microsoft.

Facebook,Twitter,Netflix,Airbnb,PayPal,《纽约时报》,雅虎,沃尔玛,优步和微软等公司积极使用React。

角度的 (Angular)

Angular is less admired than React and faces a lot of skepticism, partially because of the unpopularity of Angular 1.0. Developers used to dismiss the framework as an overly complicated one as it required a lot of time to be spent learning. However, this framework has been developed by Google, which works in favor of Angular’s credibility.

Angular不如React受到钦佩,并且面临很多怀疑,部分原因是Angular 1.0的不受欢迎。 开发人员过去常常认为该框架过于复杂,因为它需要大量时间来学习。 但是,该框架是由Google开发的,该框架有利于Angular的信誉。

Google provides the long-term support of the framework and constantly improves it. However, the updates are so fast that the documentation often falls behind.

Google提供了该框架的长期支持,并不断对其进行改进。 但是,更新速度如此之快,以至于文档常常落后。

Angular is used by such companies as McDonald’s, AT&T, HBO, Apple, Forbes, Adobe, Nike, and Microsoft as well.

麦当劳,AT&T,HBO,苹果,福布斯,Adobe,耐克和微软等公司也使用Angular。

6.表现 (6. Performance)

React (React)

React’s performance is greatly improved with the introduction of the virtual DOM. Since all virtual DOM trees are lightweight and built on server, the load on browser is reduced. Furthermore, since the data-binding process is unidirectional, bindings are not assigned watchers as in the case of Angular. Respectively, no additional workload is created.

通过引入虚拟DOM,极大地提高了React的性能。 由于所有虚拟DOM树都是轻量级的并且建立在服务器上,因此可以减少浏览器的负担。 此外,由于数据绑定过程是单向的,因此不像Angular那样为绑定分配观察者。 分别不创建其他工作负载。

角度的 (Angular)

Angular performs worse, especially in the case of complex and dynamic web apps.

Angular的性能较差,尤其是在复杂和动态的Web应用程序中。

The performance of Angular apps is negatively affected by bidirectional data-binding. Each binding is assigned a watcher to track changes, and each loop continues until all the watchers and associated values are checked. Because of this, the more bindings you have, the more watchers are created, and the more cumbersome the process becomes.

双向数据绑定会对Angular应用程序的性能产生负面影响。 每个绑定都分配了一个观察者以跟踪更改,并且每个循环继续进行,直到检查了所有观察者和关联的值。 因此,您拥有的绑定越多,创建的观察者就越多,过程变得越麻烦。

However, the most recent update of Angular has greatly improved its performance, and it does not lose to React anymore. Moreover, the size of an Angular application is slightly smaller than the size of a React app.

但是,最新的Angular更新极大地提高了它的性能,并且不再失去React了。 此外,Angular应用程序的大小略小于React应用程序的大小。

7.语言 (7. Language)

React (React)

React is based on JavaScript ES6+ combined with JSX script. JSX is an extension for syntax, which makes a JavaScript code resemble that written in HTML. This makes the code easier to understand, and typos are easier to spot. For the JSX code to be compiled in a browser, React is augmented with Babel – a code translation tool.

React基于结合了JSX脚本JavaScript ES6 +。 JSX是语法的扩展,它使JavaScript代码类似于用HTML编写的代码。 这使代码更易于理解,而且打字错误也更容易发现。 为了在浏览器中编译JSX代码,React使用Babel(一种代码翻译工具)进行了扩充。

角度的 (Angular)

Angular can use JavaScript or TypeScript, which is a superset of JS developed specifically for larger projects. TypeScript is more compact than JavaScript, the code is easier to navigate, and typos are easily spotted. Code refactoring process also becomes simpler and faster.

Angular可以使用JavaScript或TypeScript,这是专门为大型项目开发的JS的超集。 TypeScript比JavaScript更紧凑,代码更易于浏览,而且容易发现错别字。 代码重构过程也变得更加简单和快捷。

8.应用程序结构 (8. App Structure)

React (React)

The structure of React provides developers with the freedom to choose. There is no “the only right structure” for a React app. However, the necessity to design the app structure at the beginning of each project makes it more difficult and longer to start.

React的结构为开发人员提供了选择的自由。 React应用程序没有“唯一正确的结构”。 但是,由于必须在每个项目开始时设计应用程序结构,因此启动起来更加困难且时间更长。

Besides, React offers only View layer, while Model and Controller are added with the usage of other libraries.

此外,React仅提供View层,而Model和Controller则与其他库一起使用。

The architecture of a React app is component-based. The code is made of React components, which are rendered with React DOM library and directed in two ways: functional (with a function that returns JSX)...

React应用程序的架构是基于组件的。 该代码由React组件组成,这些组件通过React DOM库呈现,并以两种方式进行定向:功能性(具有返回JSX的功能)...

function Hello(props){
return <div>Hello {props.name}</div>
}

...and class-based (with ES6 classes).

...和基于类的(带有ES6类)。

class Hello extends React.Component {
render() {
return <h1>Hello, {this.props.name}</h1>;
}

角度的 (Angular)

The structure of Angular is fixed and complex, suitable for experienced developers.

Angular的结构固定且复杂,适合经验丰富的开发人员。

Angular is based on three layers – Model, Controller, and View. An object responsible for the Model is initialized by the Controller and displayed with the View.

Angular基于三层-模型,控制器和视图。 负责模型的对象由控制器初始化,并与视图一起显示。

The application code consists of different Angular components, each being written in four separate files: a TypeScript to implement the component, an HTML file to define the view, a CSS file to define the stylistic features, and a special file for testing purposes. Links to these files are written in the app directive, which displays the structural logic of the app. Respectively, Angular components are also reusable.

应用程序代码由不同的Angular组件组成,每个组件都用四个单独的文件编写:用于实现该组件的TypeScript,用于定义视图HTML文件,用于定义样式功能CSS文件以及用于测试目的的特殊文件。 这些文件的链接写在app指令中,该指令显示应用程序的结构逻辑。 分别地,Angular组件也是可重用的。

import { Component } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent { }

9. UI组件 (9. UI Components)

React (React)

UI tools for React are developed by the community. There are a lot of free and paid UI components on the React portal. To use material design components in React, you would have to install an additional library – Material-UI Library & Dependencies.

用于React的UI工具是由社区开发的。 React门户上有很多免费和付费的UI组件。 要在React中使用材料设计组件,您必须安装一个附加库-Material-UI库和依赖项。

角度的 (Angular)

Angular has a built-in Material toolset, and it offers a variety of pre-built material design components. There are various buttons, layouts, indicators, pop-ups, and form controls. Because of this, UI configuration becomes simpler and faster.

Angular具有内置的Material工具集,并提供了各种预建的Material Design组件。 有各种按钮,布局,指示器,弹出窗口和表单控件。 因此,UI配置变得更加简单快捷。

10.指令 (10. Directives)

React (React)

In React, templates and logic are explained in one place – at the end of the component. It allows the reader to quickly grasp the meaning of the code even if they do not know the syntax.

在React中,模板和逻辑在组件的最后一处进行了说明。 即使读者不了解语法,它也可以使读者快速掌握代码的含义。

角度的 (Angular)

In Angular, each template is returned with an attribute – a directive of how the object has to be set. The syntax of Angular directives is complex and sophisticated, which makes it incomprehensible for a reader without any experience in working with this technology.

在Angular中,每个模板都返回一个属性-指示如何设置对象的指令。 Angular指令的语法非常复杂,这使没有任何使用该技术经验的读者无法理解。

11.国家管理 (11. State Management)

React (React)

In React, each component has its own state. A React developer can create special components for holding the state of the entire application or a particular part of it. The major disadvantage here consists in the fact that the global state needs to be stored in multiple different parts of the app with data being manually passed around different component tree levels.

在React中,每个组件都有自己的状态。 React开发人员可以创建特殊的组件来保存整个应用程序或其特定部分的状态。 这里的主要缺点在于以下事实:全局状态需要存储在应用程序的多个不同部分中,而数据需要在不同组件树级别之间手动传递。

class Clock extends React.Component {
  constructor(props) {
    super(props);
   this.state = {date: new Date()};
 }
  render() {
    return (
      <div>
        <h1>Hello world!</h1>
        <h2>Now is {this.state.date.toLocaleTimeString()}.</h2>
      </div>
    );
  }
}

To solve this problem, there is a special state management library – Redux. The idea of it is that the global state is represented as a single stateful object, which is altered in different parts of the app with the help of reducers – special Redux functions.

为了解决这个问题,有一个特殊的状态管理库– Redux。 它的想法是将全局状态表示为一个有状态的对象,借助reducers(特殊的Redux功能)可以在应用程序的不同部分中对其进行更改。

Another solution is offered by the state management library MobX. Unlike Redux with the global state stored in a single immutable stateful object, MobX offers storing only the minimal required state, while the rest of it can be derived.

状态管理库MobX提供了另一种解决方案。 与将全局状态存储在单个不可变有状态对象中的Redux不同,MobX仅存储所需的最小状态,而其余状态可以派生。

角度的 (Angular)

In Angular, component data is stored in component properties. Parent components pass data through to children ones. State changes in some parts can be identified and recalculated, but in a large app, it can cause a multi-directional tree series of updates, which will be difficult to track. The features can be improved with the help of state management libraries, such as NgRx or RxJS , which would make sure that the data flow is unidirectional.

在Angular中,组件数据存储在组件属性中。 父组件将数据传递给子组件。 可以识别并重新计算某些部分的状态更改,但是在大型应用程序中,它可能导致多方向树系列更新,这将很难跟踪。 可以借助状态管理库(例如NgRx或RxJS)改进这些功能,以确保数据流是单向的。

export class HeroListComponent implements OnInit {
  heroes: Hero[];
  selectedHero: Hero;
  constructor(private service: HeroService) { }
  ngOnInit() {
    this.heroes = this.service.getHeroes();
  }
  selectHero(hero: Hero) { this.selectedHero = hero; }
}

12.依赖注入 (12. Dependency Injection)

React (React)

React does not fully support dependency injection as it does not fully comply with the idea of functional programming and data immutability. Instead, it has a global state for all components.

React不完全支持依赖注入,因为它不完全符合功能编程和数据不变性的思想。 相反,它对所有组件都具有全局状态。

角度的 (Angular)

The greatest advantage of Angular rests in the fact that, unlike React, it supports dependency injection. Therefore, Angular allows having different lifecycles for different stores.

Angular的最大优势在于,与React不同,它支持依赖注入。 因此,Angular允许不同商店具有不同的生命周期。

import { Injectable } from '@angular/core';
import { HEROES } from './mock-heroes';
@Injectable({
  // we declare that this service should be created
  // by the root application injector.
  providedIn: 'root',
})
export class HeroService {
  getHeroes() { return HEROES; }
}

13.数据绑定 (13. Data Binding)

React (React)

Data binding stands for the data synchronization process between Model and View. React should be augmented with Redux, which allows you to work with immutable data and makes data flow unidirectional. Unidirectional binding is predictable, which facilitates the debugging process.

数据绑定代表模型和视图之间的数据同步过程。 Redux应该增强React的功能,它可以使您处理不可变的数据并使数据流单向。 单向绑定是可预测的,这有助于调试过程。

角度的 (Angular)

Angular works with bidirectional data-binding and mutable data. While the advantages of mutable and immutable data are a matter of a heated discussion, it is definitely easier to work with bidirectional data-binding rather than with the unidirectional approach. At the same time, bidirectional data-binding negatively affects the performance since Angular automatically develops a watcher for each binding.

Angular适用于双向数据绑定和可变数据。 尽管可变数据和不可变数据的优点是经过激烈讨论的问题,但是使用双向数据绑定而不是使用单向方法绝对更容易。 同时,双向数据绑定会对性能产生负面影响,因为Angular会为每个绑定自动开发一个监视程序。

The ways of data-binding in Angular:

Angular中的数据绑定方式:

{{expression}}   Interpolation
[target]="expression"    Property
bind-target="expression"    Attribute
(target)="statement" Event
on-target="statement" Event
[(target)]="expression" Two-way
bindon-target="expression" Two-way

14.变更渲染 (14. Change Rendering)

React (React)

React uses a virtual Document Object Model (DOM), which enables easily implementing minor data changes in one element without updating the structure of the entire tree. The framework creates an in-memory cache of data structure, computes the changes, and efficiently updates the DOM displayed in the browser. This way, the entire page seems to be rendered on each change, whereas actually, the libraries render changed subcomponents only.

React使用虚拟的文档对象模型(DOM),该模型可以轻松地在一个元素中实现较小的数据更改,而无需更新整个树的结构。 该框架创建数据结构的内存中缓存,计算更改并有效地更新浏览器中显示的DOM。 这样,整个页面似乎在每次更改时都呈现,而实际上,库仅呈现更改的子组件。

The React team is constantly improving Fiber – a mechanism aimed at boosting the productivity of change rendering.

React团队正在不断改进Fiber –一种旨在提高变更呈现效率的机制。

角度的 (Angular)

Angular uses a real DOM, which updates the entire tree structure even when the changes have taken place in a single element. The real DOM is considered to be slower and less effective than the virtual DOM.

Angular使用真实的DOM,即使在单个元素中进行了更改,该DOM也会更新整个树结构。 实际DOM被认为比虚拟DOM慢且效率低。

To compensate for this disadvantage, Angular uses change detection to identify components that need to be altered. Therefore, the real DOM on Angular performs as effectively as the virtual DOM on React.

为了弥补这一缺点,Angular使用更改检测来识别需要更改的组件。 因此,Angular上的真实DOM与React上的虚拟DOM一样有效。

15.工具 (15. Tools)

React (React)

React is supported by multiple code editors. For instance, the code in React can be edited with Sublime Text, Visual Studio, and Atom. To bootstrap a project, you can use the Create React App (CLI) tool. In turn, server-side rendering is completed with the use of Next.js framework.

多个代码编辑器支持React。 例如,可以使用Sublime TextVisual StudioAtom编辑React中的代码。 要引导项目,可以使用创建React App(CLI)工具。 反过来,使用Next.js框架完成服务器端渲染。

To test the entire app written in React, you would need multiple tools. For instance, Enzyme for component testing, Jest for testing JS code, React-unit for unit testing and so on. To debug the app in the development mode, you can use a browser extension React Dev Tools.

要测试用React编写的整个应用程序,您将需要多个工具。 例如,用于组件测试的Enzyme ,用于测试JS代码的Jest ,用于单元测试的React-unit等。 要在开发模式下调试应用程序,可以使用浏览器扩展React Dev Tools。

Another interesting tool is React 360, which is a library used for creating AR and VR applications.

另一个有趣的工具是React 360 ,这是一个用于创建AR和VR应用程序的库。

角度的 (Angular)

Similarly to React, Angular is supported by a variety of code editing tools. For example, you may work with such code editors as Aptana, Sublime Text, and Visual Studio. A project can be promptly set up with Angular CLI. Server-side rendering is completed with the help of Angular Universal.

与React类似,Angular受到各种代码编辑工具的支持。 例如,您可以使用诸如AptanaSublime TextVisual Studio之类的代码编辑器。 可以使用Angular CLISwift设置项目。 服务器端渲染是在Angular Universal的帮助下完成的。

Unlike React, Angular can be fully tested with a single tool. For the end-to-end testing in Angular, the platforms are Jasmine, Protractor, and Karma. Another tool that debugs the app in the development mode is a browser extension Augury.

与React不同,可以使用单个工具对Angular进行全面测试。 对于Angular中的端到端测试,平台为JasmineProtractorKarma 。 在开发模式下调试应用程序的另一个工具是浏览器扩展程序Augury

总结 (To Wrap Up)

Angular is a full-fledged mobile and web development framework. React is a framework only for UI development, which can be turned into a full-fledged solution with the help of additional libraries.

Angular是成熟的移动和Web开发框架。 React是仅用于UI开发的框架,可以在其他库的帮助下将其转变为成熟的解决方案。

React seems simpler at first sight, and it takes less time to start working on a React project. However, that simplicity as the main advantage of React is neutralized because you have to learn to work with additional JavaScript frameworks and tools.

乍看之下,React似乎更简单,并且开始进行React项目所需的时间更少。 但是,这种简单性作为React的主要优势已被抵消,因为您必须学习使用其他JavaScript框架和工具。

Angular itself is more complex and takes quite some time to master. Yet, it is a powerful tool that offers a holistic web development experience, and once you learn how to work with it, you reap the fruits.

Angular本身更复杂,需要花费很多时间来掌握。 但是,它是一个功能强大的工具,可提供全面的Web开发经验,一旦您学会了如何使用它,就可以收获成果。

There is no better framework. Both are updated continuously to keep up with the competitor. For instance, while React was believed to win because of its virtual DOM, Angular equaled the score by implementing change detection. While Angular was considered to be winning because of being developed by such an authoritative company as Google, the immense devoted React community fully compensated for Google's reputation and made React similar to Angular.

没有更好的框架。 两者都不断更新以跟上竞争对手的步伐 。 例如,虽然React因其虚拟DOM而被认为是赢家,但Angular通过实施变更检测获得了成功。 尽管Angular因由Google这样的权威公司开发而被认为是获胜者,但庞大的React社区完全弥补了Google的声誉,并使React类似于Angular。

In the end, React vs Angular is all a matter of personal preference, a matter of skills and habits. As a beginner in programming, you would probably benefit more from starting with React. As an experienced developer, you just keep working with what you know better.

最后,React vs Angular完全取决于个人喜好,技能和习惯 。 作为编程的初学者,您可能会从使用React开始获益更多。 作为经验丰富的开发人员,您只需继续使用自己所了解的知识。

Do not forget to challenge yourself and start learning a new framework, React or Angular. As a Project Manager or a business owner outsourcing developers, you should talk to your web development team and together choose the framework that suits all of you best, whether it be Angular or React.

不要忘记挑战自己,并开始学习新的框架React或Angular。 作为项目经理或业务所有者外包开发人员,您应该与Web开发团队联系,共同选择最适合您的框架,无论是Angular还是React。

您对Angular或React项目有想法吗? (Do you have an idea for either an Angular or React project?)

My company KeenEthics is experienced in react development, and we, also, provide outstanding agularjs developers for your projects. In case you need the following services, feel free to get in touch.

我的公司KeenEthics在响应开发方面经验丰富,我们还为您的项目提供出色的Agularjs开发人员 。 如果您需要以下服务,请随时与我们联系

If you have enjoyed the article, you should definitely read another wonderful comparison of 2 JS frameworks: React vs Svelte: How to Build Messaging Components.

如果您喜欢这篇文章,那么您肯定应该阅读另外两个JS框架的精彩比较: React vs Svelte:如何构建消息传递组件

聚苯乙烯 (P.S.)

I would like to say thank you to everyone who contributed to this article including Sergey Gornostaev and Volodya Andrushchak, full-stack software developers @ KeenEthics.

我想对所有对本文做出贡献的人表示感谢,包括Sergey Gornostaev和Volodya Andrushchak(全栈软件开发人员@ KeenEthics)。

The original article posted on KeenEthics blog can be found here: Angular vs React: Which One to Choose for Your App.

可以在以下网址找到发布在KeenEthics博客上的原始文章: Angular vs React:为您的应用选择哪一个

翻译自: https://www.freecodecamp.org/news/angular-vs-react-what-to-choose-for-your-app-2/

angular react

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值