Django,Ruby on Rails和Node.js是否会接管Java进行后端Web开发?

我认为Java永远不会从后端消失,特别是出于性能方面的考虑。 在企业中太大了。

“新”语言将抢占一些市场份额,但更多地将来自PHP,Python和旧语言。 您还将看到人们喜欢从这些语言迁移到Java的一些想法,尤其是Node的并发模型。

在项目中选择哪种语言确实有一个优先选择的问题,Ruby现在开始创业更时尚,但我真的认为它将失去这个位置,特别是随着新功能如promise,JS都在开发中客户端和服务器打开了太多的可能性,即使仅仅是为了减少工作人员的数量,并且更容易进行认知转换,而不是使用另一种语言来编写客户端代码。

我还认为框架将使使用JS编写代码块更加容易,而响应式模式将允许您根据客户端的功能在客户端或服务器上运行相同的代码。

尽管您忘记了GoLang,但为了记录,我仍然认为Node具有优势,因为JS将跨堆栈运行并且具有领先优势,即使Go是一种更好的语言。 排队仇恨者!

不,Java是企业标准,企业市场非常保守。

将来,我希望Go会非常流行,甚至对于后端开发也是如此:The Beegoist的话。

Python和Ruby应该保持强大,但是我认为Node会减弱,尤其是。 在Go的阴影下:Node House的倒塌。

密切关注Scala(游戏)和Groovy(Grails)。

您上面提到的所有技术都足够强大,可以支持大型Web应用程序。 对于现代Web应用程序,其后端通常包含多种开发技术,我的意思是它们共同协作以维持后端业务。 例如,要建立像youtube这样的视频网站,您可以使用Django或RoR或其他方法来处理来自客户端的请求,同时使用Java执行一些复杂的工作,例如机器学习(现在ML已被广泛使用),因为Java具有比解释语言更好的性能。 对于系统中某些应具有很高性能的关键模块,必须使用某些本机语言(例如C或C ++)来重写该模块。 因此,这是为您得出的结论:现代编程语言之间没有替代关系,有互补关系。

我个人讨厌Java的冗长,过多的代码和很少的输出。

我们有一个项目使用定制的推荐系统开发CRUD应用程序。 我们遵循了面向服务的体系结构,并构建了不同的服务。

  1. 对于CRUD而言,它们没有比Rails更好的技术。 ActiveRecord闪耀光芒,并得到了社区的大力支持。 对于那些说它不能很好地扩展的人们,请我们知道如何通过制作一个好的架构将它扩展到十亿分之一。 如果您不这样做,请雇用一个好的DevOps。
  2. 使用ExpressJS Framework完成前端的开发(Async Nature使我们能够调用不同的后端服务,而不会阻塞下一行代码)。
  3. 最后但并非最不重要的建议引擎 ,我们本可以用Python开发的,但我们担心性能问题,它们是Java中带有Hadoop和Spark集成的出色库Apache Mahout。

我认为Java将继续存在,并且随着诸如Play Framework(使用Java和Scala构建现代且可扩展的Web应用程序)之类的框架的出现,您还可以编写异步代码,并同时利用仅针对Java构建且可用于业务的库。 在大多数国家/地区,学者仍然支持Java,并且在Java World中人们编写了大量的库和代码。

许多企业已经在Java技术上投入了大量资金。 Java具有广泛而强大的体系结构,应用程序/产品在个人和企业软件中都得到了证明。Django是用Python编程语言编写的Web框架。

因此,我认为Java不会被任何其他语言所取代。 Django,Ruby on Rails和Node.js并不是Java替代企业软件。

当前,Django和NodeJ创造了市场的繁荣,您可以使用更少的资源轻松地使用Django和NodeJS开发单页应用程序,大规模应用程序。 那就是在编程中大肆宣传的事情。 因此,人们开始使用Angular,Node Js和Django。 但是到目前为止,我还没有看到任何使用Django的企业软件。

Java具有广泛的社区,性能和企业支持,仍然是企业使用的语言。 尽管Java语言过于冗长且生产率较低,但是诸如scala / kotlin之类的基于JVM的语言正在兴起,以摆脱Java的单调乏味。 因此,java永远不会从企业中消失,大数据工具主要是用scala和java编写的,以提高性能,尽管它可以移植到python和其他工具。

节点的炒作已大大减少,节点社区无法长期提供任何成熟的成熟工具,生态系统需要时间才能成熟。 它还没有证明在python / ruby​​ / java等中无法实现的任何特殊功能。

python正在迅速发展,它是一种非常有前途的语言,因为它具有成熟,流行的Web,网络,异步编程,系统管理,数据分析,数字和科学编程,2d / 3d游戏,跨平台GUI开发以及其他功能的库。不? 由于python社区是生态系统中非常多样化和成熟的库。 因此,初创企业肯定会选择一个平台,该平台将提供高生产率,大量成熟和高质量的第三方聚会模块以及一个充满活力的社区,以改善语言和工具。

因此具有python和任何基于jvm的语言技能以及数据结构和算法将有助于长期实现可持续的职业发展。

另一件事是尝试新语言/工具/技术的本能。 始终尝试使自己与最新工具和不断变化的趋势保持同步,如果确实需要这种变化才能使您适应。

视情况而定。

您想快速轻巧地完成项目,请使用NodeJS .etc

您的项目需要大量的计算,而且稳定,Java是一个可靠的选择。