Typesafe Activator

Hello Scaladin!

Hello Scaladin!

tepi
Source
March 21, 2014
basics scaladin starter

Scaladin makes it easier to use the Vaadin Framework with Scala programming language. It's a wrapper library that provides a pure Scala API for Vaadin. This template provides a simple Hello world application written in Scaladin. This app uses Scala 2.10.1, Vaadin 7.1.12 and Scaladin 3.0.0.

How to get "Hello Scaladin!" on your computer

There are several ways to get this template.

Option 1: Choose hello-scaladin in the Typesafe Activator UI.

Already have Typesafe Activator (get it here)? Launch the UI then search for hello-scaladin in the list of templates.

Option 2: Download the hello-scaladin project as a zip archive

If you haven't installed Activator, you can get the code by downloading the template bundle for hello-scaladin.

  1. Download the Template Bundle for "Hello Scaladin!"
  2. Extract the downloaded zip file to your system
  3. The bundle includes a small bootstrap script that can start Activator. To start Typesafe Activator's UI:

    In your File Explorer, navigate into the directory that the template was extracted to, right-click on the file named "activator.bat", then select "Open", and if prompted with a warning, click to continue:

    Or from a command line:

     C:\Users\typesafe\hello-scaladin> activator ui 
    This will start Typesafe Activator and open this template in your browser.

Option 3: Create a hello-scaladin project from the command line

If you have Typesafe Activator, use its command line mode to create a new project from this template. Type activator new PROJECTNAME hello-scaladin on the command line.

Option 4: View the template source

The creator of this template maintains it at https://github.com/tepi/hello-scaladin#master.

Option 5: Preview the tutorial below

We've included the text of this template's tutorial below, but it may work better if you view it inside Activator on your computer. Activator tutorials are often designed to be interactive.

Preview the tutorial

Introduction to Scaladin

Scaladin is a wrapper for the Vaadin Framework, making it easier to build Vaadin applications using the Scala language.

For more information about Vaadin Framework, please refer to the Book of Vaadin.

For more information about Scaladin, you can explore Scaladin github page or ask questions in the Vaadin forum thread.

Explore the Code

You've just created a Scaladin application!  This is a basic "Hello, World" application. Let's look at the HelloScaladinUI.scala file.

This file is the UI class of you Scaladin application. The HelloScaladinUI class extends the vaadin.scala.UI class which is a base class for all Scaladin UIs. One application can contain an arbitrary amount of UI classes, but this example has only one UI class. Let's look inside the class:

content = Button("Click me!", Notification.show("Hello, Scaladin!"))

Each UI must have a content, which is the base component rendered in the browser window. In this example we set a Button (vaadin.scala.Button) component as the content of our UI. The Button component accepts a string and a click listener as the constructor argument; this string will be shown as the caption of the Button component when the application is opened in the browser. Once you click the button, a Notification component will be shown.

The content can be any Vaadin / Scaladin component - you can find a good set of choices in the vaadin.scala package within the Scaladin add-on.

Running Scaladin Applications

You can deploy this scaladin application to an embedded Jetty servlet container by going to the Run tab, clicking the Start button, and then accessing http://localhost:9000 on your computer. You should end up with a simple application showing a button with the caption of "Click me!".

You can also run Scaladin applications easily from the command line using sbt. First you must of course compile the application by typing compile in the sbt prompt. Once the compilation is done you can simply type container:start to start the Jetty server and deploy your application.

Resources

Information about Vaadin and Scaladin:

Basic introduction to Scala language:

comments powered by Disqus