JavaScript
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
server #zpravy-273 Required changes before update to IMA v. 15 Jan 18, 2018
.eslintrc.js
.gitignore
LICENSE
README.md
gulpConfig.js
gulpfile.js
jest.conf.json #! updated dependencies and fixed code stle Apr 3, 2018
package.json

README.md

IMA.js logo

IMA.js skeleton application

The IMA.js is an application development stack for developing isomorphic applications written in pure JavaScript and React.

Why we use IMA.js and you should too?

Here at Seznam.cz, development of a frontend application comes with many checkboxes that need to be ticked off before the project goes public. Mainly because of a diverse audience and a challenging product requirements.

In order to not reinvent the wheel on every project and to address all of these problems (checkboxes) we created the IMA.js framework. Here are a few outlines that we're most proud of:

  • Isomorphic - application logic is first executed at the server-side, generates the page markup, and then when the application logic is executed at the client-side it automatically binds to the server-generated markup and acts like a single-page application (or a multi-page application if the client does not support JavaScript). This allows for fast load times, out-of-box support for web crawlers and greater overall user experienc (or UX for short).
  • React compatible - IMA.js Views extend the React Component and are in tight cooperation with our Controllers. That means you can use the full magic of React v16 without loosing anything.
  • Production ready - there's no need for additional setup or configuration. IMA.js uses evironment-specific configurations from the start.
  • Battle tested - IMA.js is used on various projects across Seznam.cz. Some of them pushing the limits of what a frontend application can do.

Documentation

We have prepared a complex tutorial for you: Your first IMA.js application. This tutorial covers the basics of creating isomorphic web applications using IMA.js, but you will encounter some more advanced concepts in there as well.

For a more in-depth information about the IMA.js see a full documentation.

Plugins

Here's a list of plugins maintained by Seznam.cz and other contributors that you can safely use in your app: