react框架是后端框架吗_什么是2021年最好的后端框架

news/2024/7/9 23:39:08 标签: java, react, spring, python, vue

react框架是后端框架吗

So far, 2020 has been a slow year for me in general because of the current situation of the world. But if we look at the tech world, 2020 seems the forecast is not at its end. As we are in a quick-moving industry, it is indeed good to be aware of technologies we should use for future implementations. In the 21st century, web and mobile-based applications are using and developing rapidly to overcome numerous human requirements.

到目前为止,由于当前的世界形势,总体而言,2020年对我来说是缓慢的一年。 但是,如果我们看一下科技界,2020年的预测似乎还没有结束。 由于我们处在快速发展的行业中,因此了解将来应使用的技术确实是一件好事。 在21世纪,基于Web和移动的应用程序正在使用和快速发展,以克服众多人类需求。

According to a survey, I have found that using frameworks for development purposes plays a huge role in the IT industry. Knowing and working with frameworks is one of the main job factors of the modern IT industry.

根据一项调查,我发现将框架用于开发目的在IT行业中发挥着巨大作用。 了解和使用框架是现代IT行业的主要工作因素之一。

If you observe the following states, you can see that the main job factor of the IT industry is knowing languages, frameworks, and other technologies.

如果观察以下状态,则可以看到IT行业的主要工作因素是了解语言,框架和其他技术。

Image for post
Figure 01: https://insights.stackoverflow.com/survey/2020#technology-learning-new-tech-frequency-professional-developers
图01: https : //insights.stackoverflow.com/survey/2020#technology-learning-new-tech-frequency-professional-developers

As developers, we all are familiar with at least one backend framework. In this article, I am am going to discuss the three most trending backend frameworks which you should use for 2021.

作为开发人员,我们都至少熟悉一个后端框架。 在本文中,我将讨论2021年应该使用的三个最流行的后端框架。

So, get ready!

所以,准备好!

调查和统计 (Surveys and Stats)

GitHub统计 (GitHub stats)

A GitHub survey shows the number of active repositories, total pushes, count of pushes for a single repository, new forks per repository, opened issues per repository, and new watches per repository for each language. As we can see, JavaScript is at the top, as always.

GitHub的调查显示了活动存储库的数量,推送总数,单个存储库的推送次数,每个存储库的新派生,每个存储库的未解决问题以及每种语言的每个存储库的新监视。 如我们所见,JavaScript一如既往地位于顶部。

Image for post
Figure 02: https://githut.info/
图02: https : //githut.info/

StackOverflow调查 (StackOverflow survey)

According to the StackOverflow survey, we can observe that Express is at the top as the most-loved backend framework follows by Spring and Django. As the most promising scripting language, NodeJS-based Express is at its top, while one of the most powerful languages, Python, also climbs up the ladder.

根据StackOverflow调查,我们可以发现Express是最受关注的,因为Spring和Django紧随其后是最受欢迎的后端框架。 作为最有前途的脚本语言,基于NodeJS的Express是最重要的,而功能最强大的语言之一Python也在不断攀升。

Image for post
Figure 03: https://insights.stackoverflow.com/survey/2019
图03: https : //insights.stackoverflow.com/survey/2019

GitHub储存库 (GitHub Repositories)

Image for post
Figure 04: https://github.com/nodejs/node
图04: https : //github.com/nodejs/node
Image for post
Figure 05: https://github.com/spring-projects/spring-boot
图05: https : //github.com/spring-projects/spring-boot
Image for post
Figure 06: https://github.com/django/django
图06: https : //github.com/django/django

As per the stats of GitHub repositories, we can see that, as a framework, NodeJS has the most number of stars. But, the gap between stars is not differentiated much as the number of forks. Spring Boot and Django have the highest number of forks, while NodeJS is having a significantly low amount of forks.

根据GitHub存储库的统计信息,我们可以看到,作为一个框架,NodeJS具有最多的星星。 但是,恒星之间的差距不会像叉子的数量那样大。 Spring Boot和Django的派生数量最多,而NodeJS的派生数量非常少。

“Some people don’t like change, but you need to embrace change if the alternative is a disaster.” — Elon Musk

“有些人不喜欢改变,但是如果另一种选择是灾难,那么您需要接受改变。” —伊隆·马斯克(Elon Musk)

为什么要选择Node.JS? (Why You Should Choose Node.JS?)

Node.JS has become an all-purpose full-stack development environment. It’s based on Chrome v8, an engine for chromium browsers. Node.JS allows your programs written in JavaScript to be executed on the server. There are many frameworks built for Node, including popular ones like Express JS.

Node.JS已成为通用的全栈开发环境。 它基于Chrome v8(Chrome浏览器的引擎)。 Node.JS允许您用JavaScript编写的程序在服务器上执行。 有许多为Node构建的框架,包括诸如Express JS之类的流行框架。

NodeJS的优点 (Pros of NodeJS)

  • Node.JS has opened the doors to JavaScript full-stack development, inheriting the merits of JavaScript programming as well as allowing engineers to use its libraries and features.

    Node.JS为JavaScript全栈开发打开了大门,它继承了JavaScript编程的优点,并允许工程师使用其库和功能。
  • Lightweight JavaScript achieves high performance with fewer lines of code when compared to Java or C.

    与Java或C相比,轻量级JavaScript使用更少的代码行即可实现高性能。
  • The frontend and backend are easier to keep in sync, because of a single language used on both sides of the application.

    前端和后端更易于保持同步,因为在应用程序的两面都使用一种语言。
  • Developer-wise, it also became possible to share and reuse code.

    对于开发人员而言,共享和重用代码也成为可能。
  • With the help of node modules, which are basically independent chunks of code, developers can use prebuilt modules or reuse their own.

    借助节点模块(它们基本上是独立的代码块),开发人员可以使用预先构建的模块或重用自己的模块。
  • It is highly scalable and lightweight — that’s why it’s a heavy favorite for microservice architectures.

    它具有高度的可伸缩性和轻巧性,这就是为什么它在微服务体系结构中广受青睐。
  • It fits well for designing such architectures with the help of Node modules which represent building blocks of Node.JS functions.

    它非常适合通过代表Node.JS功能构建块的Node模块设计此类架构。
  • It’s used to compile JavaScript into machine code instead of using an interpreter. JavaScript community notes constant improvements in the engine, as Google continues to invest heavily in it.

    它用于将JavaScript编译为机器代码,而不使用解释器。 JavaScript社区指出,随着Google继续对其进行大量投资,该引擎在不断改进。
  • The non-blocking input-output model solves performance issues. The performance is enhanced by concurrent request processing which uses a single thread event loop.

    无阻塞输入输出模型解决了性能问题。 通过使用单线程事件循环的并发请求处理来提高性能。
  • Node.JS is an open-source project that gathered a vast community of developers providing ready-made solutions and guides for each issue on Github.

    Node.JS是一个开源项目,聚集了众多开发人员社区,他们为Github上的每个问题提供现成的解决方案和指南。
  • Node.JS may become suitable for processing CPU-bound tasks and used for machine learning-based calculations in the near future.

    Node.JS可能会在不久的将来变得适用于处理CPU约束的任务,并用于基于机器学习的计算。

使用nodeJS的公司 (Companies which use nodeJS)

  • Paypal

    贝宝
  • Netflix

    Netflix公司
  • LinkedIn

    领英
  • Uber

    优步
  • eBay

    易趣
  • Yahoo

    雅虎

By looking at the above pros and the giants in the IT industry which uses Node, we can see that there is nothing to wonder why nodeJS is so popular. According to the pay scale, the salary for a NodeJS developer varies been $40,000-$130,000. So why not choose nodeJS?

通过查看以上使用Node的专家和IT行业的巨头,我们可以发现,毫无疑问NodeJS为什么如此受欢迎。 根据薪资表,NodeJS开发人员的薪水在$ 40,000- $ 130,000之间。 那么,为什么不选择nodeJS呢?

为什么要使用Spring Boot? (Why Should You Use Spring Boot?)

Spring Boot is also a java-based open-source backend framework which used to build microservices. It is also knowing as a framework which bootstraps a spring application. In another hand, it is a tool to create standalone spring applications. If you are willing to move in to spring in 2021, first check out why you should choose Spring Boot.

Spring Boot还是一个基于Java的开源后端框架,用于构建微服务。 它也被称为引导Spring应用程序的框架。 另一方面,它是用于创建独立spring应用程序的工具。 如果您愿意在2021年进入Spring,请首先查看为什么选择Spring Boot。

Spring Boot的优点 (Pros of Spring Boot)

  • Can create standalone spring applications with minimal effort, development process, and configurations. We can simply start those applications using the java-jar command.

    可以以最少的工作量,开发过程和配置来创建独立的spring应用程序。 我们可以简单地使用java-jar命令启动这些应用程序。

  • If the bootstrapping process of the spring-boot application fails at the beginning, the inbuilt failure analyzer will give a path o fix issues.

    如果spring-boot应用程序的引导过程在开始时失败,则内置故障分析器将提供解决问题的路径。
  • Spring-boot has the support of embedded servers like Tomcat, Jetty, etc. So e do not need to deeply .war files in external servers.

    Spring-boot支持嵌入式服务器,例如Tomcat,Jetty等。因此,无需在外部服务器中深入使用.war文件。
  • To simplify the maven configurations, it provides opinionated starter POMs.

    为了简化Maven配置,它提供了有用的启动程序POM。
  • It has the ability to automatically configure spring.

    它具有自动配置spring的能力。
  • Spring-boot can integrate with other frameworks as well as hibernate and stoats.

    Spring-boot可以与其他框架以及Hibernate和Hibernate集成。
  • It provides production-ready configurations like metrics health and externalized configurations.

    它提供了生产就绪型配置,例如度量标准运行状况和外部化配置。
  • We do not need to do XML configurations or code generations when using spring-boot.

    使用spring-boot时,我们不需要进行XML配置或代码生成。
  • Spring-boot decreases the effort of developers by using conversion over configuration software design paradigm.

    通过使用基于配置软件设计范例的转换,Spring-boot减少了开发人员的工作量。

使用spring的公司 (Companies which use spring)

  • Platform

    平台
  • Intuit

    直觉
  • MIT

    麻省理工学院
  • Zillow

    齐洛
  • TransferWise

    TransferWise

To be honest, I am not a person who is in love with Java. So, at a point, I will not use spring-boot as my backend framework for 2021. But, as per the stats, there are a lot of people who use spring-boot. According to the pay scale, the average salary for a spring-boot developer is varying between $50,000 and $104,000 manually, which is a little bit lower than a nodeJS developer.

老实说,我不是一个爱Java的人。 因此,在某种程度上,我不会将spring-boot用作2021年的后端框架。但是,根据统计数据,有很多人在使用spring-boot。 根据薪资表,Sprint Boot子开发人员的平均工资在50,000美元到104,000美元之间,这比nodeJS开发人员要低一些。

为什么要选择Django? (Why You Should Choose Django?)

Django is an open-source backend development framework built with Python. As we know, Python is one of the most loved programming languages in the whole universe. It is the main reason that Django will become one of the most popular backend frameworks. Other than that, there are many reasons that you should choose Django as your backend framework for 2020.

Django是使用Python构建的开源后端开发框架。 众所周知,Python是整个宇宙中最受欢迎的编程语言之一。 这是Django成为最受欢迎的后端框架之一的主要原因。 除此之外,还有很多原因应该选择Django作为2020年的后端框架。

Django的优点 (Pros of Django)

  • Django allows us to easily create dynamic web apps using Python. It’s written in Python, which is the most important advantage of Django.

    Django使我们能够使用Python轻松创建动态Web应用程序。 它是用Python编写的,这是Django最重要的优点。
  • It supports MVC programming methods. So, developers are able to keep the UI layer and business logic layer separately in Django applications.

    它支持MVC编程方法。 因此,开发人员能够在Django应用程序中分别保留UI层和业务逻辑层。
  • It is fast, but not bloated. What it means is that it does a great job to cut the time it takes to make a website down. You can rapidly develop your applications without the framework being bloated.

    它速度很快,但不会肿。 这意味着缩短网站的建立时间是一项很棒的工作。 您可以快速开发应用程序,而不会膨胀框架。
  • Django is not a thin microservice framework. It is very powerful and versatile and it does have idiosyncrasies.

    Django不是一个瘦的微服务框架。 它非常强大且用途广泛,并且确实具有特质。
  • It takes security seriously and provides tools to help you to do the same thing as developers. I’m sure we all are aware of the growing trend of cybersecurity breaches in these days. So, security is crucial and Django provides a user authentication system and tools of rank SQL injections, cross-site scriptings, cross-site request forgery, clip jacking, etc.

    它非常重视安全性,并提供工具来帮助您完成与开发人员相同的任务。 我敢肯定,我们所有人都已经意识到当今网络安全漏洞的增长趋势。 因此,安全性至关重要,并且Django提供了用户身份验证系统和工具,用于进行SQL等级注入,跨站点脚本编写,跨站点请求伪造,剪辑添加等等。
  • The amount of code is always lesser than any other programming language.

    代码量总是少于任何其他编程语言。
  • Developers are able to model their core classes and domains. Therefore, the ORM is always there for you.

    开发人员能够为他们的核心类和领域建模。 因此,ORM随时为您服务。
  • It is cross-platform. So, Django works flexibly with most of the databases and operating systems.

    它是跨平台的。 因此,Django可以灵活地使用大多数数据库和操作系统。
  • It is scalable. So, developers will be able to scale and modify applications according to future requirements.

    它是可扩展的。 因此,开发人员将能够根据将来的需求扩展和修改应用程序。
  • Django has a large and active support community. So, help is always there for you.

    Django有一个庞大而活跃的支持社区。 因此,随时为您提供帮助。

使用Django的公司 (Companies which use Django)

  • Mozilla Firefox

    火狐浏览器
  • NASA

    美国宇航局
  • Pinterest

    Pinterest
  • Bitbucket

    比特桶
  • Instagram

    Instagram

Since Django is based on Python, there is no doubt about the speed of the framework and the support for it. Also, by looking at the companies which using Django, we can see that Django has become a promising framework up to 2020. So be it with 2021 as well. If we look at the average salary for a Django developer, it varies between $90,000 to $120,000 manually. From the numbers, we can see that the demand for a Django developer is quite high.

由于Django基于Python,因此毫无疑问该框架的速度及其支持。 此外,通过查看使用Django的公司,我们可以看到Django到2020年已成为一个很有前途的框架。2021年也是如此。 如果我们看一下Django开发人员的平均工资,手动的工资在$ 90,000到$ 120,000之间。 从数字可以看出,对Django开发人员的需求很高。

Image for post
Photo by Nathan Dumlao on Unsplash
内森·杜姆劳 ( Nathan Dumlao)在《 Unsplash》上的 照片

结论 (Conclusion)

As we can see, NodeJS and Django have done significantly well at the end of the story even though spring-boot got some extra numbers. By considering all the availability of the resources and the community, I think NodeJS is at its peak for 2021 as well. Even though Django is a great blackened framework to be used for 2021, still NodeJS at its top because there is a solid platform for NodeJS as a runtime environment and a huge community.

正如我们所看到的,尽管spring-boot有一些额外的数字,但在故事的结尾,NodeJS和Django的表现非常出色。 考虑到所有资源和社区的可用性,我认为NodeJS也在2021年达到顶峰。 尽管Django是要在2021年使用的出色的黑色框架,但仍将NodeJS放在首位,因为它有一个可靠的平台将NodeJS作为运行时环境和庞大的社区。

Thanks!

谢谢!

翻译自: https://medium.com/better-programming/what-will-be-the-best-back-end-framework-for-2021-c3ad1beb0f44

react框架是后端框架吗


http://www.niftyadmin.cn/n/1468904.html

相关文章

学java 内存空间_Java的内存空间学习

由于之前只是上过一门C语言编程课应付考试,以及通过网课了解一些C语法,程序执行时的具体内存空间分配对于我来说就是一个黑箱。所以在开始学习Java时,我打算了解一下内存空间的基础概念,不求真正理解JVM,只是想能够大概…

react高级_揭秘高级React钩

react高级This is not an introductory article. Let’s be clear about that. I am assuming you have experience using React. In this article, I will try to clarify with examples of how and when to use some of the advanced react hooks. Towards the end, I will a…

java客户端端游_Java服务器 - 客户端游戏

好的,我是网络编程的新手,我正在尝试解决这个问题:我有最多7名玩家的基于GUI的Java SE游戏,我希望它通过互联网支持多人游戏 .每个游戏实例都有自己的客户端发送和接收字符串 .这就是我无法解决的问题 . 我需要服务器,…

java acquire_Java AtomicReference getAcquire()用法及代码示例

AtomicReference类的getAcquire()方法用于返回此AtomicReference对象的值,并且对获取变量的内存排序效果与memory_order_acquire排序兼容。用法:public final V getAcquire()参数:此方法不接受任何内容。返回值:此方法返回此AtomicReference对…

登录本地验证java_selenium2java通过第三方登录绕过知乎登陆验证码

本人在学习使用selenium2java的过程中,突然想把知乎首页的推荐内容放到本地或者把一个问题的优秀回答整理一下。可以知乎登录时那个选中倒立的汉字的验证码不胜其烦,后来想到用第三方登录绕过了知乎帐号登录。试了一下,感觉效果很不错&#x…

java memcached 共享_memcached共享session

4、启动Tomcat查看Session是否共享成功。 说明: 1、session存储到memchached实现方案时。他主要功能是修改tomcat的session存储机制,使之能够把session序列化存放到memcached中。2、Manager标签属性说明:className此属性是必须…

java里link_EclipseLink学习(一)---初步介绍和使用

这几天学习eclipselink,发现真的和hibernate一样一样的,它唯一的优势可能就是它是J2EE推荐的规范。缺点可能就是它的文档比较少(大多是英文的),不像hibernate那样丰富而且还有很多人使用吧,毕竟众人拾柴火焰高,用大家都…

java管理系统模块设计_Java设计模块系列之书店管理系统单机版(三)

介绍今天对系列二的一个添加用户的输入小bug进行了解决, 增加了用户模块的,删除用户,和修改用户模块。下面的代码是相对于系列二来说进行了修改或者是增加的类.先看AddPanel类的修改:在收集参数的时候进行防范就可防止那个bug了。…