A new language and live environment made for the web.

The Amber language is deeply inspired by Smalltalk. It is designed to make client-side development faster and easier. Amber includes a live development environment with a class browser, workspace, unit test runner, transcript, object inspector and debugger.

Amber is written in itself, including the compiler, and compiles into efficient JavaScript, mapping one-to-one with the JS equivalent.

Amber...

So...What is it about again?

Amber is a language (derived from Smalltalk) and environment built for the web.

With Amber, client-side web development finally gets the power and productivity that exists in other Smalltalk dialects.

Why should I care?

Having a true live & incremental development environment where you can build your application interactively in the browser is unbeatable.

Why a Smalltalk dialect?

Smalltalk stands head and shoulders above most other languages for clarity, conciseness, and human-friendliness.

As a language, it is immensely clean and mature, both syntactically and semantically. It is a pure OO language, with objects all the way down.

But what about all the JS ecosystem?

Amber plays very well with the outer world. You can interact with JavaScript objects seamlessly, and even inspect them as any Amber object.

Evaluating JavaScript object methods is transparent and makes using libraries a breeze.

Quick links
The Wiki on GitHub includes a Getting started tutorial for OSX, Linux and Windows.

Get involved!

Meet the people behind Amber

Contributing to the project

In a sharing mood? Contributions to Amber are very much welcome!

  • The Amber source code is hosted on Github. You can fork the main repository and send pull requests.
  • The contributions page points to topics that contributors might "adopt" and realize.
  • You can also submit issues on the bug tracker.

Getting started

The Getting started page explains how to start an Amber project. Amber is shipped as a npm package for its CLI tools and as a bower package for the client-side.