Scala.js vs Scala GWT用于客户端Web开发?
我正计划编写一个Web应用程序。 不过,我想在Scala中编写客户端和服务器端。 我应该选择Scala.js吗? 或者我应该去GWT。 有什么情况下我必须选择一个呢? 另外,除了二者之外,还有其他Scala框架可以用于客户端Web编程吗?
这两个都不应该使用。
图书馆已经缩小规模,目前这种说法不再是真实的。
其他技术是可用的,但选择一个取决于您想要编写的应用程序的类型。 如果您打算使用模板技术 (如JSP或JSF)开发瘦客户端,则可以考虑使用Play模板,Lift,Scalatra ......
为了帮助您考虑您的需求,以下是一些想法:
你需要小部件和东西来设计你的UI,这些东西通常是面向组件和事件驱动的。 在这种情况下,FP不提供比OOP更多的优势。
在一个标准的企业应用程序中,scala.js对于为js代码设计一个干净的函数库非常有用。 这种库肯定有很多东西可以提供,但它不会成为客户端代码的核心。 相反,小部件,MVC基础架构以及与后端集成的层将成为您将大部分时间用于处理的内容。
GWT已经存在很长时间了。 我认为它是一种成熟和成熟的技术。 你必须学习一些调整和模式才能充分利用它的潜力,但在我看来,远远低于编写干净和可维护的js代码所需的。
GWT并不需要你知道js(尽管我们都同意最好知道一些关于浏览器中发生的事情)。 如果你不知道你在编译什么,那么你不会用scala.js。
如果你已经很熟悉JavaScript,那么直接输入你的Scala代码就好像它是某种支持scala的js一样。
对于大型团队来说,使用GWT比使用js容易得多,因为您可以轻松地将代码分解为代码,同时有利于代码测试和重用。
GWT绝对是面向对象(小部件/模型/视图/控制器)和事件驱动的。 如果您有计划以全功能的方式设计界面(针对游戏或特定应用),我认为这会妨碍您的设计。
GWT
Scala.js
最后的建议