# Luna, our in-house framework for writing great web apps really quickly

> At Asana, we are building a Collaborative Information Manager that we believe will make it radically easier for groups of people to get work done. Writing a complex web application, we experienced pain all too familiar to authors of software.

Source: https://asana.com/inside-asana/lunascript-our-in-house-language-for-writing-great-web-apps-really-quickly

## Luna, our in-house framework for writing great web apps really quickly

At Asana, we’re building a Collaborative Information Manager that we believe will make it radically easier for groups of people to get work done. Writing a complex web application, we experienced pain all too familiar to authors of “Web 2.0” software (and interactive software in general): there were all kinds of extremely difficult programming tasks that we were doing over and over again for every feature we wanted to write. So we’re developing Lunascript — an in-house programming language for writing rich web applications in about 10% of the time and code you can today.

_Update_: For now we’ve tabled using the custom DSL syntax in favor of a set of Javascript idioms and conventions on top of the “Luna” runtime. So while the contents of this post still accurately present the motivation and capabilities of the Luna framework, we’re using a slightly more cumbersome (JavaScript) syntax than what you see below, in exchange for having more control over the “object code” (primarily for hand-tuning performance).

- [Scalabilità di LunaDb, il nostro sistema interno di caricamento dei dati dichiarativi](/it/resources/scaling-lunadb)

Progettazione

#### Ingegnere/a di piattaforme

Noi di Asana abbiamo creato un sistema di caricamento dei dati chiamato LunaDb, che funge da spina dorsale della nostra app web. Nonostante il nome, non è un database. Piuttosto, ...

- [Come Asana mi rende un responsabile tecnico più efficiente](/it/inside-asana/asana-makes-me-effective-engineering-manager)

Progettazione

#### Responsabile ingegneria infrastruttura dei dati

As an engineering manager, I need to keep track of so many things. I have my own personal to-dos that I need to prioritize, making time for focused work while also handling incomi ...

- [Scalare la nostra pipeline di invalidazione: Parte 1](/it/inside-asana/scaling-invalidation-pipeline-part-1)

Progettazione

#### Ingegnere/a di piattaforme

At Asana, our invalidation pipeline is a key part of implementing near-realtime reactivity in the webapp. Reactivity is how each-and-every Asana tab keeps up-to-date with the lat ...

- [Luna, our in-house framework for writing great web apps really quickly](/it/inside-asana/lunascript-our-in-house-language-for-writing-great-web-apps-really-quickly)

Progettazione

At Asana, we’re building a Collaborative Information Manager that we believe will make it radically easier for groups of people to get work done. Writing a complex web application ...

- [Progettazione](/inside-asana/engineering-spotlight)
