为什么亚马逊使用PHP而不是ReactJS?

本文来自:IT宝库(https://www.itbaoku.cn)

推荐答案1

Amazon不为其主要网站使用ReactJ.它主要使用PHP,Java和C ++等服务器端技术来生成动态网页. ReactJS是用于构建用户界面的JavaScript库,尽管可以与服务器端技术结合使用,但通常用于单页应用程序或需要高动态交互性的网站的部分.亚马逊可以在某些微座或内部工具中使用ReactJ,但是它并未被广泛用作主要的Amazon网站的主要技术.

推荐答案2

哦,相当多!

  • 我猜 java 必须是在AWS和其他组织中,可能是迄今为止最普遍的语言.在看到很多收养之处,我个人既强调又为此感到高兴,这是对Java的明显替代者.我的大多数新代码都是用kotlin编写的,如今!
  • 对于某些特定用例,我们看到 rust <跨度>被采用,越来越多.
  • 我很确定仍然有一个相当大的 c ++ codebase,虽然,可悲的是,我怀疑它已经大量投资了.
  • 让我高兴, c# 正在使用不过,可悲的是,我还没有在亚马逊上写一行.
  • 我们有一个 巨大 <跨度>用 python 编写的工具和其他应用程序的代码库.许多Jupyter笔记本都是用Python编写的,用于不同的用例,其中一些涉及机器学习.各种形式的自动化,包括处理AWS资源(即boto),也想到lambda功能代码,甚至是RedShift的UDF. > tla+ 用于正式验证我们的算法,尤其是在AWS中.我碰巧使用了很多东西,真的很喜欢.
  • 我们有一个庞大的工具代码库和其他特定应用程序编写的 .
  • 作为我们的工程师(SDE)也很大程度上参与了操作,每个人都非常熟悉标准的Linux工具包,并且能够编写Shell Scripts在,例如 zsh bash ..
  • 我们确实使用 sql 与数据库进行交互,例如RedShift-我个人喜欢的.
  • 我亲自使用了 scala ,尽管我没有看到它在Spark(ML)之外经常使用.
  • 那里在我的经验中,在这里和那里出现了一些 clojure ,主要与Jepsen测试有关.
  • 我相信,在某些工具和脚本以及一些内部的Web应用程序中,仍然活着且通常发生. SPAN>我很确定还有其他零星的包裹在GO,Haskell,ML,R和许多其他包装中编写,但我个人没有看到很多.也许还值得一提的是,我们使用大量JSON,XML和YAML作为各种数据的表示格式.

    推荐答案3

    edit1:我正在回答亚马逊公司主要将Java用作其内部语言的情况是如何发生的.因此,如果Java-Lovers没有对Java本身有多出色的评论,我深表歉意.我确定这是切成薄片以来最好的东西.如果您正在寻找"哦,请再次告诉我Java有多伟大,让我们所有人都为我们引用亚马逊的认可而感到高兴",那不是这个答案.

    edit2:我深深地参与了迁移,也是有史以来最早搬到Java的球队之一.后来,我也参与了将Java转移到Scala+节点的第一个努力.所以我知道我在说什么.我是他们的第1层解析器(基本上是该网站搜索部分在黑色星期五下降时负责的单身人士)已有两年了.所以我真的知道我在说什么.我把钱放在嘴里.我不是假设谈论生产系统应该/可能会运行的方式.我运行了它们.

    一些原因.首先,Java对公司非常新.当您进行该规模的迁移时,涉及很多情绪.

    多年来,亚马逊已从C转移到Perl到Java.三年前,这将是99%的Perl代码,一些"赶时髦的人"试图带来这个名为Java的新东西.今天是Java,有一些"时髦"试图引入Node.js或Scala. Scala,JavaScript以及您有什么 - 它们不是完全选择.您永远不会根据自己认为会发生五年后的迁移计划.您必须根据现有的内容进行计划.

    如果他们不向其他事物开放,则他们不会在JavaScript上构建Lambda.他们知道存在什么.有些团队只能转向较新的,更简单的事物.

    说过,我要说的是,另一个评论者写的有关中间管理的问题,确实存在.但是由于这些问题,Java并没有引入.这些问题是由于Java成为主要的.

    无数小时浪费了辩论设计模式,或者某物是否应该是静态的,或者是否应该返回可选的<>或不是.无数的重构工作会促进促销.无数的问题可以并且可以做失速的进度.

    ,但请看JavaScript.它带来了上课吗?静态的人有自己的方式.随着时间的流逝,曾经更简单,更好,更清洁的语言正在变体成对象和经典继承. Scala仍然被需要携带的现有Java库的遗产以及执行类型擦除的JVM的遗产所困扰,或者需要创造性方法实现尾巴回归的必要性(因为无法更换堆栈框架).

    ,但不要自欺欺人.亚马逊有很多非常聪明的人,其中许多人已经认识到Java的局限性已经有一段时间了.大量内部工具使用类似序的系统.许多开发人员正在玩Scala.大量内部工具使用Python或Ruby.诸如lambda这样的新工具都是JavaScript.使用Java或坚持使用Java没有高级管理级别的任务.它不是公司范围的学说.有很多人试图赢得与Java的战争,其中很多人都成功了.

    附录:亚马逊的这些战斗是通过数据赢得的,而不是由政治赢得或思想实验.因此,当我看到他们赢得了这些战斗时,他们要么这样做是在降低成本,提高可靠性,增加收入或上述所有内容.

    推荐答案4

    我不适合AWS,但是我发现在PHP中实现了弹性豆链条服务的每一个不太可能. Java对于控制平面,如果不是C ++或Rust(对于新服务).

    推荐答案5

    1. Java具有很好的性能

    2. Java是具有大量业务逻辑的大型基于Web的企业系统的最佳编程语言.这正是亚马逊所需要的.