Welcome! If you are familiar with the concepts and basics of object-oriented programming, javascript, json and linux you can pick up fulljs very quickly. The good news is that you don’t have to learn anything new to create impressive and efficient web applications based on fulljs.

Installing

Before you can do anything you have to install FullJS on your server. To install FullJS please follow the installation guide.

Create account & login

When the installation is complete an account must be created. When the development environment is first accessed it asks for registration. Please navigate to http://[yourip]/admin/ and create the account.

For security reasons the registration is only available from local host.

Start Coding

It’s that simple. Now you can start coding.

There are two main files for each FullJS application: server.jss and client.js.  Server side code (server.jss) is running continuosly on your server while client.js is sent to each (if any) connecting browser and executed on client side. An example worths a thousand word:

client.js:

import css		from "./css/client.css";
import template	from "./html/client.html";

import gui		from "gui";
import Client	from "client";


class MyClient extends Client {
  static get template() {
    return template;
  }
  static get css() {
    return css;
  }
  static constructor() {
    customElements.define("jdesktop-myclient", MyClient);
  }
  constructor() {
    super();
  }
  RM_message(notification, message) {
    alert(message);
  }
}

MyClient.constructor();

new MyClient();


server.jss:

import Server from "server";

new (class MyServer extends Server {
  constructor() {
    super();

    this.loginRequired = false;
    this.i = 0;
    console.log("Application is up and running.");
  }
  onconnect(client) {
    return(true);
  }
  onopen(client) {
    super.onopen(client);
    client.notify("RM_message", `Welcome! You are the ${++this.i}th visitor.`);
  }
})();
Open

Further and Beyond

There are several examples included in the Web IDE that guides you through the ‘language’ and gets you started. Furthermore, you can follow by looking at the the references of the supported libraries.