Scala-JS用于真实的Web项目

ses*_*ses 24 scala client-side-validation playframework scala.js

有人Scala-JS在真正的网络项目中使用过,但不仅仅是JavaScript在隔离环境中进行简单替换吗?

我想尽可能多地使用Scala(我希望我能).并且似乎Scala-JS声称是我可以使用(现在)或将来使用的库.

这就是为什么我对小工作解决方案感兴趣,以及引导程序(如PlayFrameworkapp在哪里Scala-JS).

可以证明Scala-JS可用于实际Web开发工作的解决方案/示例.

我这么问是因为我发现Scala-JS到目前为止是它几乎实际使用.

问:一些例子/证明它已准备好在真实项目中使用?

更新(1年后):

例如,有很多TypeScript例子.当我说"例子"和"真正的网络项目"时,我的意思.还有许多在线培训.如果我在Google中查询:"typescript github angular",它将返回172 000页.ScalaJS绝对不幸的是,它缺乏一切.

但它有一些:'"scala-js"github angular' - 4 980场比赛.但到目前为止,大部分都是"发展的早期阶段","没有商业支持"

那个看起来很有希望:https://github.com/greencatsoft/scalajs-angular

sjr*_*jrd 28

我还没有特别看到客户端表单验证.但是,有几个项目有效地使用Scala.js,其中包括:


Jus*_*eur 15

我刚刚注意到这个问题,并且可能应该插入 - 如上所述,我公司的产品Querki现在已经完全用Scala.js构建了它的UI.这是Scala的大约8k SLOC,最后我检查过:不是世界上最大的程序,但比大多数网站复杂得多.我猜它会取代原本可能是20-30k SLOC的JavaScript,而且实际上这是该公司合理的唯一方式.

这是测试版的一家小公司,但在生产中非常多,而且它是一个天赐良机:在SJS代码是远远更容易编写和维护比它取代了JavaScript和很多在实践中更加稳定.此外,将SJS前端连接到我的Akka/Play后端极大地加速了开发,并减少了错误,因为在端到端Scala中API是强类型和无样板的.

由于人们已经问过:优化的JS代码目前大约是1兆,而且现在我的所有基础架构都已编写,增长速度相当慢.(再加上我使用的JS库也是如此.)这不是微不足道的,但它是每次发布的一次性负载; 一旦它被缓存在浏览器中,UI就会非常快,比那里的动态页面快得多.

哦,因为你正在寻找一个完整的例子:源代码可以在GitHub上找到.这是开放但受限制的,因为它是一种商业产品,但随意挖掘并用它来获取灵感.(并随意请求有用的部分:我正在逐步将广泛有用的部分提升到麻省理工学院许可的库中.)


Jul*_*lie 9

我正在使用scala.js为我的创业公司积极构建仪表板webapp.它不完整,但发展很快.

我的初始原型是基于angular.js,使用角度绑定.我后来用scala.rx,scalatagsscalacss的反应式网格替换了角度,它利用了scala类型系统.所有的逻辑/渲染都是类型安全的,并且使用一种语言(scala),而不是分散在"字符串式"HTML,CSS和JavaScript中

虽然这个webapp是作为内部工具开发的,但它应该能够在真实世界的应用程序完成后演示scala.js.

  • Web应用程序具有一些实用示例.我还为scala.js启动了一个SVG可视化库(在引擎盖下使用D3).你可以在这里找到它:https://github.com/yakticus/goggles (2认同)

小智 6

然后

  1. W3C在banana-rf中使用它:github.com/w3c/banana-rdf

  2. @jducoeur建立Querki:github.com/jducoeur/Querki

  3. TypeSafe共享一个非常实用的模板:typesafe.com/activator/template/play-scalajs-showcase

以上所有都展示了相当先进的功能和技术.

细心的读者可以学到很多东西,并为自己确定ScalaJS已准备好迎接黄金时段.

最后,这个https://github.com/SemanticBeeng/play-scalajs-showcase是原始的衍生物,展示了如何应用事件源和功能域模型从面向CRUD的API转变为功能API.这是一项实验和正在进行的工作.