JavaEE替代Scala?

JavaEE替代Scala?,scala,jakarta-ee,typesafe-stack,Scala,Jakarta Ee,Typesafe Stack,许多JavaXScala比较似乎只关注语言(语法、集合api、参与者等),但企业应用程序开发又如何呢 如果您想使用Scala构建分布式企业系统,您会使用Scala语法(例如,使用Scala语法的EJB兼容类)编写一个传统的Java EE应用程序,并在Java EE容器中运行它,还是Scala生态系统中有Java EE替代品 如果是第二个,到目前为止我发现的最接近的东西是类型安全堆栈;它是Scala对JavaEE容器的替代品吗 Akka是JMS(可能还有会话bean)的替代品,还是您的Scala系

许多JavaXScala比较似乎只关注语言(语法、集合api、参与者等),但企业应用程序开发又如何呢

如果您想使用Scala构建分布式企业系统,您会使用Scala语法(例如,使用Scala语法的EJB兼容类)编写一个传统的Java EE应用程序,并在Java EE容器中运行它,还是Scala生态系统中有Java EE替代品

如果是第二个,到目前为止我发现的最接近的东西是类型安全堆栈;它是Scala对JavaEE容器的替代品吗

Akka是JMS(可能还有会话bean)的替代品,还是您的Scala系统仍然会利用JavaEE服务?

Akka确实是JMS的一种“替代品”。在这个想法(以及你的问题)的背后,这确实是一个范式的变化,我们必须意识到这一点,但从这个事实出发,我认为akka有机会在未来被广泛用于多种用途,从消息传递到分布式etherogeneus并发平台之间的集成

Typesafe堆栈是一个堆栈,所以我发现对于JavaEE contanier来说,这样想是无用的


最后一个答案:如果你想使用EJB语法,请考虑使用注释,你应该有机会以java的方式编写EJB,加上Scala

< P>的一些“语法糖”。如果你想要java EE,你可以直接使用java斯卡拉。然而,我不知道Scala社区中有谁不想远离JavaEE(或继续回避它)。

好吧,
Scala/Akka为许多常见的陷阱提供了不同的概念 在系统开发中。要将几个与Java EE进行比较,请执行以下操作:

=>JavaBeans:
易变的数据结构只是简单的邪恶,而不是线程安全的。 把它们放进一个容器不会改变任何事情。 改用不可变的数据结构,就像scala对CaseClasses强制执行的那样

=>EJB:
EJB的组成很糟糕。实际的问题是,EJB需要具有高水平的内聚性,以便在可重用性方面发挥作用,而在实践中这几乎是不可能的。把它们塞进一个容器并不能使它变得更好。在Scala中,使用特征, for composition使您能够通过受f-bounded多态性保护的构造函数注入来使用即席合成。生活可以如此轻松

=>交易:
是的,事务管理器已经让事情变得更好了,但它仍然是 需要大的JavaEE堆栈才能工作。在Scala中,只要使用akka提供的软件事务内存(STM),就可以了

=>持久性:
我们真的需要ORM吗?像squeryl.org这样的项目将强类型LINQ添加到Scala中。 它没有像Hibernate那样进行重量级的查询语言映射,而是集成了 查询到scala,由编译器进行完全检查。当然,这只适用于关系数据库。对于无sql,还有其他可用的解决方案

=>缩放?
集群javaee?我还需要多说吗?
在akka中,您只需再添加几个服务器,系统就可以扩展。为什么?因为 远程参与者的处理和访问方式与本地参与者和所有内容的处理和访问方式相同 否则,只需配置分布式参与者系统。阿克卡是基于 Erlang模型,所以他们不寻求五九次,而是九九次 在全系统负载下。 同时,akka非常简单、重量轻,因此 可以在Android上使用它。您会尝试在Android上运行Java EE吗?

明确地说,也许十年前,JavaEE是如何构建的问题的答案 大型企业级软件,一旦Spring使其可用,它可能是当时可用的最佳解决方案。
今天,世界已经发生了很大变化,大多数旧的答案不再符合今天的现实。Scala并不完美,但如果它真的归结为一行,它将是:

在scala中,我用JavaEE的一小部分时间完成了实际编程 和容器设置将需要

即使是Spring,作为Java EE的首选框架也正在向scala迈进:

从Akka的概念和最佳实践开始,有一个方便的方法 书名为“阿克卡基本”


忘记JEE(容器和其他血腥的企业规范),拥抱Scala库,使用Akka RabbitMQ。重新发现编程的真正意义:乐趣@aloiscochard我正在用JavaEE进行大量有趣的编程,这里不需要Scala;)@我猜你从来没有真正使用过一种像样的编程语言。“乐趣”和“Java”不属于同一句话…@mccann你是谁决定的?我肯定会从用Java编写非常酷的东西中得到很多乐趣。如果你太盲目,太受时髦人士的影响,那就是你的错。@MikeBraun:我是一个期望一门语言能帮助你,而不是阻碍你的人,我已经用了足够多的语言来区分不同。Java客观上(哈,哈)是一种糟糕的语言,仅此而已;我只是想知道Scala对于分布式企业系统的最佳实践是什么:)J2EE确实已经有十年的历史了。现在我们有JavaEE。你已经了解了吗?很好的帖子,但是案例类也可以是可变的:
案例类Foo(var x:Int)
是绝对有效的。>
事务管理器已经让事情变得更好了,但它仍然需要大的Java EE堆栈
-TOME是完全事务性的,大小为25MB。对于整个下载。>
您是否尝试在Android上运行Java EE?
-嗯,它在Raspberry Pi上运行;)“一个JavaEE容器安装所需时间的一小部分”-你是说我下载和解压TomEE、JBoss、Glassfish、Resin等所需的2秒钟?它是下载和解压。那么一切都准备好了。如果你认为需要一些复杂的安装和设置,那么你已经活了10年了