【问题标题】:application design: Scala + HTML5应用程序设计:Scala + HTML5
【发布时间】:2012-02-24 12:27:29
【问题描述】:

我想用 Scala 和 HTML5 实现一个应用程序。我的想法是创建一个“本地”客户端-服务器架构:Scala 处理计算并将 HTML5 生成为 GUI。

在我看来有两种可能

  1. 使用允许嵌入 HTML5 的 Java/Scala 框架。例如,SWT 有一个浏览器小部件。 JavaFX 似乎也不错。
  2. 通过服务器分发程序并在本地主机上的浏览器中运行。

需要互联网连接而忘记本地主机可能是最方便的。不幸的是,离线模式是必需的。

现在我想知道如何做到这一点:

  • 第一个选项似乎更容易实现,但我想知道:如何在没有 HTTP 协议的情况下与 Javascript 通信?
  • 第二种方法只是一个想法。你做过这样的事情吗?

如果您有建议或知道一个好的框架,请继续。

更新:

我刚刚有了一个有趣的想法:我可以使用 nodejs 创建类似服务器-服务器架构的东西吗?

现在 Scala 和 Coffescript 之间的通信似乎是最有问题的部分。我仍然想知道如何从应用程序的 Scala 端启动更新。 HTTP 请求是交换数据的好方法。遗憾的是,据我所知,“标准”Coffeescript 没有事件挂钩来监听服务器端 HTTP 消息。

我考虑过使用 nodejs 来监听服务器发送的数据。这是个好主意吗?

【问题讨论】:

  • 我不是 HTML5 专家,但不支持 HTML5 本地存储,因此允许离线工作?
  • 据我所知,本地存储仅用于保存网站的阶段。您可能可以编写一个使用本地存储的离线网站来拥有一个小数据库,但随后您将使用“纯”Javascript。可悲的是,Scala 需要更“重”的东西;)我不知道本地存储是否可以(错误)用于与 javascript 的通信。我怀疑您是否可以从除 javascript 之外的任何其他方式访问存储

标签: html scala architecture coffeescript


【解决方案1】:

关于第二个选项,您可能希望调查Play! FrameworkLift。它们自动化了在 Scala 中制作 Web 应用程序所需的大量工作,包括处理 AJAX 请求。

虽然我也没有尝试过打包以供本地使用,但之前有一个 Stack Exchange question 关于打包 Lift 可能是相关的。 Play 应该可以实现!也是。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    • 1970-01-01
    • 2012-08-01
    • 1970-01-01
    • 2011-03-11
    • 1970-01-01
    相关资源
    最近更新 更多