by Sindre Aarsaether
Server and client web programming language with DOM manipulation built in.

Imba is a new programming language for the web that compiles to performant JavaScript. It is heavily inspired by ruby and python, but developed explicitly for web programming (both server and client). It has language level support for defining, extending, subclassing, instantiating and rendering dom nodes.

Even though the syntax and semantics of Imba is much more related to Ruby than JavaScript, it does compile down to plain performant JavaScript, and is fully compatible with any existing JavaScript library. Imba ships with a rather small runtime for custom tags and utilities, but do not extend any native types from JavaScript. Arrays are arrays, strings are strings, numbers are numbers, classes are constructors with prototypes and so forth. If you simply like Imba better, there is no reason not to write your npm package in Imba, even if it is supposed to be used in the general JavaScript ecosystem. In fact, Imba produces very readable JavaScript, by keeping your indentation, comments, and coding style.

tag reminders < form

	def onsubmit event
		@list.append <li.reminder> @field.value
		@field.value = ''
		event.cancel

	def render
		<self>
			<input@field placeholder='Remind me...'>
			<ul@list>
Information updated 01/24/16
View Comments