Latest news:

Welcome to the Atlas toolkit web site

About the Atlas toolkit

Main features

With a web interface and the right infrastructure, an application is directly available on any device providing a modern web browser connected to internet. The goal of the Atlas toolkit is to provide a efficient way to achieve this for your own applications, in particular by:

  • being very simple to install and to use,
  • being available for a wide range of languages,
  • providing instant access from all the internet.

The latter means that web applications based on the Atlas toolkit, when launched on any computer which has access to internet (no need to be accessible from internet), will be accessible from every device with an access to internet. You have nothing to upload on a remote server. Simply launch your web application on a computer connected to internet, and it will be accessible from everywhere on internet.

The Atlas toolkit is currently available for Java, Node.js, PHP, Python and Ruby. Works are in progress for the toolkit to be available for other languages, and if you wish to discuss about those perspectives, you are welcome to do so in this forum.

Educational purpose

Let's take the Raspberry Pi as example. This nanocomputer was developed to provide an affordable device with which you can learn programming. And with the GPIO ports available on the Raspberry Pi, you can write programs to control electronic circuits and even robots.

The Atlas toolkit makes things even more fun. With te Atlas toolkit, you can easily modify your programs to add a web interface, and control your circuits and robots directly from your smartphone.

Of course, you don't need a Raspberry Pi (or such kind of devices) to use the Atlas toolkit. You can use it for whatever application you want as long it is developed in one of the available language.

There are some applications which were developed especially fot the Raspberry Pi and other similar devices (like ODROIDs), and you will find more about them at this page.

Prototyping web applications

The development of a web application is something which requires special computing skills and plenty of time, and therefore costs a lot of money. Before launching such a development, you better have a very good idea of what the result should be, and be sure that the developers exactly know what you want.

As the Atlas toolkit is available for the most popular languages and requires only basic programming skills, it's an affordable and fast way to develop a prototype of your web application, which can easily be shown to discuss about, and used to test the functionalities and refine them.

Once the prototype is validated, it can be used as a model for the development of the final application. You will so be sure that this application will be exactly what you want. And you can use the prototype to easily test and validate new functionalities before including them in the final application.

Examples

Hello, World! - a simple example

Here is a preview of the famous "Hello, World!" program made with the Atlas toolkit:

Hello World! preview

Click on above animation to get an overview of the global structure of a program using the Atlas toolkit, with the source code of the Hello, World! program for all languages in which the Atlas toolkit is available.

The TodoMVC application

For comparison, the application from the TodoMVC project has been developed using the Atlas toolkit. This is what it looks like:

All live demonstrations

Note that the live demonstrations make use of RunKit, and hence will be stopped after a few tens of seconds due to a RunKit timeout.

How does it work?

The library

On the launching of the application, or to update broad parts of the interface, the needed HTML code is sent directly to the browser; this is very similar to a CGI based application. Otherwise, only the needed part of the DOM is updated, like a single-page application. With the Atlas toolkit, you have the best of both worlds.

The HTML code can be generated using XSLT, manually, or by using the template engine of your choice.

Here are where you will find the source code of the library, with examples of use:

Remote server

Web applications usually need to be installed on a server which have to be accessible from internet. And, in addition of the application itself, there is also the need of a web server, standalone or embedded in the application, which handles the user's web browser requests.

By using the Atlas toolkit, you only have to launch your web application on your computer, and you can give access to your application to whoever is on internet. As you don't have to deploy your application on a remote computer, each modification you make to your application is instantly available. That's why the Atlas toolkit is particularly suitable for prototyping.

To achieve this, the Atlas toolkit connects to a free public server, which also handles the connections from the user's web browser. The URL corresponding to your application is displayed in the console from which you launched your application, and by simply giving this URL to someone on internet, you grant this person the access to your application.

The sources of the software on the remote server can be found here:

Behind the Atlas toolkit

The lead developer behind the Atlas toolkit is Claude SIMON, a freelance software engineer who lives near Strasbourg, in France.

He developed C++ libraries to handle desktop user interfaces using XULRunner. As XULRunner were discontinued, he switched to the newly standardized HTML5, along with the Chromium Embedded Framework. The libraries were then improved to also handle web user interfaces. Finally, Electron replaced the Chromium Embedded Framework.

As most of the popular languages are interpreted ones, he also specialized in improving the performances of this languages, by developing binding libraries simplifying the use of the more efficient C++ native code with this languages.

About the Atlas toolkit

Others

License

The Atlas toolkit is free software, released under the GNU AGPL. If this license doesn't meet your needs, feel free to ask about another one on the contact page.