Imba guide

This is a quick guide for Imba v1.4, which focuses on the language itself.

Imba is not just a programming language. It's a programming language optimized for the web. One of Imba's most notable features is the built-in web application framework with a fast DOM reconciler called the Memoized DOM. This allows Imba developers to easily create performant web applications in a fun and natural way. The performance of the Memoized DOM is so good, in fact, that Imba is... well, imba. If you are not into gaming, it means that Imba opens the doors to architectural patterns that are not practical in many of the today's popular frameworks and libraries.

This guide is designed to get you up to speed having fun with Imba.

You may not want to hear this, though, but "quick" is just a click-bait. The guide really quite substantial. Just as there is no way to get 8 hours of sleep in 30 minutes, there is no way to compress important information about a programming language into a few paragraphs. As with any game, though, we have provided cheats for those of you who don't want to read too much. Don't worry, we don't hate on cheaters.

Who this guide is for

This guide is written primarily for those who have nothing better to do in life than learn one of the best languages for web development to date. But hey, what could be better anyway!

Ehm... let's get serious.

This quick guide is aimed at programmers coming from different languages, not just JavaScript programmers. Many concepts are explained in detail even when they are identical or very similar in JavaScript.

Having said that, Imba does not live separately from JavaScript. Imba takes advantage of the JavaScript engine it runs in by providing unrestricted access to the built-in JavaScript APIs. This guide will not attempt to translate all those APIs to Imba. Instead, it will provide links to relevant JavaScript documentation.

If you are coming from JavaScript, you may still want to read through this guide as a refresher for some of the concepts. Or you may simply skip from one code snippet to another, and only read the surrounding text if the code looks unfamiliar. We have prepared a list of Cheats in each section that will cover the differences and similarities between Imba and JavaScript.

How to use this guide

The first recommendation is to read it. Also, like, share, and sub. :-)

We also recommend you get as hands-on as possible while reading through this guide.

If you wish to follow along, we recommend you hop on Scrimba.com, an online sandbox/screencast service written in Imba. You can also use the playground found in this guide's git repository. Instructions for getting started with the playground are in the README.md file.

Note

In Scrimba, pressing Cmd+J or Ctrl+J when some Imba code is selected will give you a compiled version of the code.

We will cover setting up Imba projects from scratch in one of the bonus sections.