我如何使用HTML 5进行Scala输入和输出?

时间:2015-03-02 01:55:13

标签: scala

我将Scala用于各种家庭项目,我遇到了一个涉及简单画布绘制的项目,还有一些基本的输入控件,如按钮和文本框。我知道如何使用Swing,但我开始怀疑我是否在浪费时间学习这项技术。在Scala中绘制HTML 5画布的最简单方法是什么,可能为输入添加一些按钮控件..这是我需要开始学习Play框架的地方吗?那里有什么抽象的HTML / Javascript(我也不知道。)

由于Swing图书馆正在退休,我不明白Scala的官方战略是什么样的输入/输出。如果我更清楚这是什么,我想在正确的方向上提高我的技能。

谢谢

1 个答案:

答案 0 :(得分:2)

您应该考虑使用Scala to JavaScript编译器Scala.js。它将您的Scala代码编译为JavaScript,因此您可以直接在浏览器中运行它。

Scala-Js-Fiddle是在浏览器中尝试此功能的好方法。

例如,您可以执行以下操作(假设您在类路径上有DOM库):

import org.scalajs.dom
import org.scalajs.dom.html

import scala.scalajs.js

object CanvasExample extends js.JSApp {
  def main(): Unit = {
    val canvas = dom.document
                   .getElementById("myCanvas")
                   .asInstanceOf[html.Canvas]
    val ctx = canvas.getContext("2d")
                .asInstanceOf[dom.CanvasRenderingContext2D]

    ctx.fillStyle = "red"
    ctx.fillRect(0, 0, 255, 255)
  }

}

Hands-on Scala.js book进一步详细介绍,并有一个很好的演练。