# Imba > Imba is a friendly, full-stack programming language for the web that compiles to fast JavaScript. DOM elements and scoped CSS are first-class parts of the language, and declarative tag trees compile to a memoized DOM that outperforms virtual DOM approaches. Notes: - Imba uses tabs for indentation. Code blocks in the docs are Imba unless tagged otherwise. - Every page below is plain markdown. The same URL without the .md suffix serves the human version. - The complete documentation in a single file: https://imba.io/llms-full.txt - Try code in the playground: https://imba.io/try ## Language - [Language](https://imba.io/docs.md) - [Introduction](https://imba.io/docs/introduction.md) - [Variables](https://imba.io/docs/basic-syntax/variables.md) - [Identifiers](https://imba.io/docs/basic-syntax/identifiers.md) - [Operators](https://imba.io/docs/basic-syntax/operators.md) - [Functions](https://imba.io/docs/basic-syntax/functions.md) - [Control Flow](https://imba.io/docs/basic-syntax/control-flow.md) - [Classes](https://imba.io/docs/basic-syntax/classes.md) - [Fields](https://imba.io/docs/field-descriptors.md) - [Decorators](https://imba.io/docs/decorators.md) - [Modules](https://imba.io/docs/basic-syntax/modules.md) ## UI - [UI](https://imba.io/ui.md) - [Elements](https://imba.io/docs/tags.md) - [Mounting](https://imba.io/docs/tags/mounting.md) - [Binding Data](https://imba.io/docs/tags/data-binding.md) - [Components](https://imba.io/docs/components.md) - [Slots](https://imba.io/docs/components/slots.md) - [Lifecycle](https://imba.io/docs/components/lifecycle.md) - [Teleports](https://imba.io/docs/components/teleports.md) - [Events](https://imba.io/docs/events.md) - [Usage](https://imba.io/docs/events/handling.md): Deep-dive into event handling syntax and features. - [Modifiers](https://imba.io/docs/events/modifiers.md): Reference for all event modifiers. - [Hotkeys](https://imba.io/docs/events/hotkeys.md) - [Reference](https://imba.io/docs/events/reference.md): Reference for all events and their interfaces. - [Rendering](https://imba.io/guides/rendering.md): How Imba's declarative rendering works. ## Styling - [Styling](https://imba.io/docs/css.md) - [Syntax](https://imba.io/docs/css/syntax.md): Basic descriptions of how to write styles in imba. - [Properties](https://imba.io/docs/css/properties.md): Reference for all shorthands and regular css properties. - [Modifiers](https://imba.io/docs/css/modifiers.md): Reference for all style modifiers. - [Units](https://imba.io/docs/css/units.md): Defining and using custom style units. - [Colors](https://imba.io/docs/css/colors.md) - [Transitions](https://imba.io/guides/transitions.md) ## Apps & Tooling - [Apps & Tooling](https://imba.io/guides.md) - [Router](https://imba.io/docs/router.md) - [Assets](https://imba.io/docs/assets.md) - [CLI](https://imba.io/cli.md) - [Deployment](https://imba.io/guides/deployment.md) - [Static Deployment](https://imba.io/guides/deployment/static.md) - [Full Stack Deployment](https://imba.io/guides/deployment/full_stack.md) ## Reference - [Reference](https://imba.io/other.md) - [Changelog](https://imba.io/changelog.md) ## Experimental - [Experimental](https://imba.io/experimental.md) - [Observable](https://imba.io/docs/observable.md) - [Undocumented](https://imba.io/undocumented.md)