Internationalization (i18n)

2018-08-10 - 3:00 PM (4 months ago)

Internationalization of a Spincast application is now very easy.

You can read everything about this topic in the Dictionary section of the documentation.

Not only can you now translate your application, but you can also override the messages provided by Spincast and the various plugins.

Finally, a Pebble function is also provided to get localized messages from your templates (your HTML templates, for example).

JDBC / SQL utilities

2017-12-26 - 2:00 AM (12 months ago)

A new plugin, Spincast JDBC plugin is available! Using this plugin, you have access to :

  • Scopes - automatic connections management and support for transactions.
  • Statements - allow the creation of SQL queries in a safe and easy manner, with named parameters support.
  • Result Sets - with goodies and better null support compared to plain JDBC.

A full documentation section "JDBC / SQL" is dedicated to the features this plugin provides.

Configuring a Spincast application

2017-06-20 - 11:00 PM (1 year ago)

A new section on how to configure a Spincast application is now available.

In this section, you will learn how to make the configurations externalizable, so they can have different values depending on the environment the application runs on....

Video : Spincast Framework application from scratch in under 3 minutes

2017-01-08 - 12:00 PM (2 years ago)

A tutorial video has been posted on Youtube : Spincast Framework application from scratch in under 3 minutes.

Please watch in 1080p to see the code clearly!

Bootstrapping++

2017-01-02 - 12:00 PM (2 years ago)

This release is all about bootstrapping a Spincast application. This process has been greatly improved and the creation of the Guice context associated with an application is now easier. A new component, the Bootstrapper, is at the core of this process.

Here's a fully working "Hello World!" Spincast application :

public class App {

    public static void main(String[] args) {
        Spincast.init(args);
    }

    @Inject
    protected void init(DefaultRouter router, Server server) {
        router.GET("/").handle(context -> context.response().sendHtml("<h1>Hello World!</h1>"));
        server.start();
    }
}

Speaking of "Hello world!" applications, you can now find three of them in the "Demos / Tutorials" section! :

Finally, we introduced a new section in the documentation dedicated to plugins : what they really are, how to install them, etc.