Announce Binding.scala 10.0

354 views
Skip to first unread message

杨博

unread,
Dec 22, 2016, 8:01:01 PM12/22/16
to Scala.js

Hi all,

Recently we released Binding.scala 10.0.1, a data-binding framework for Scala, running on both JVM and Scala.js. Binding.scala can be used as a reactive web framework. It enables you to use native XHTML literal syntax to create reactive DOM nodes, changed automatically whenever the corresponding data sources change.

The notable changes from Binding.scala 8.0.x/9.0.x:

New Features

  • Added route library. See this example for its usage.
  • Supported referencing HTML DOM elements by id attributes.

    @dom showInput(v: Vars[String]) = <div>
      <!-- any Scala code inside the div element is able to access `myInput` -->
      <input id="myInput" onclick={_: Event => v := myInput.value />
    </div>

Performance improvements

  • Avoided re-rendering in some complicated cases.
  • Reduced about 30% generated JavaScript code size for @dom methods.
  • Resolved some other minor performance issues.

Backward incompatible changes and deprecated functions

  • oldSeq/oldValue in MultiMountPoint/SingleMountPoint has been removed.
  • SingleMountPoint is deprecated, in favor of simply Binding[Unit] block. See this example for usage.
  • dom.currentTarget is deprecated, in favor of id attribute.

Requirements

  • Scala versions:
    • 2.10.x
    • 2.11.x
    • 2.12.x
  • Scala.js version
    • 0.6.13

Future plan

In the next major version (Binding 11.0), we will support JavaFX and FXML. Afterwards, we will also launch the development of Android support. Binding.scala will become an universal solution for GUI on all platforms in 2017.

Contributors

Thanks to all the contributors who create Pull Requests, report bugs and discuss the design for Binding.scala on Gitter and other forums.

Special thanks to @Psycho7, who created an amazing Chinese translation of README,
and @Algomancer, who created a full stack Scala example application showing how to integrate Binding.scala into a Play project with a Scala.js,
and @williamho, who fixed a critical bug,
and @MarisaKirisame@OlivierBlanvillain@maowug@kitsudog@bbarker, and all of you.


Reply all
Reply to author
Forward
0 new messages