I'm really proud of what we've accomplished with Air. In a few short months we've taken a sketch of an idea and built out a new web framework that is both new and exciting, yet able to plug effortlessly into the FastAPI ecosystem.
Through our own experiences and feedback from users we can say the following is working out quite well:
- Air Tags are really popular and most people enjoy the API. That it plugs so well into IDEs and LLMs is a super power.
- AirResponse makes writing views powered by Jinja or Air Tags easy and fast
- Examples in all the doc strings makes it much easier for both humans and LLMs
- Jinja + Air Tags base templates for layout and Air Tags for content is a really sweet pattern we should talk about more
- Ecosystem Leaning into FastAPI-isms means its easy to plug into the large and vibrant FastAPI ecosystem. Deployment is also easy - Air deploys precisely the same way as FastAPI
Yet we've got a ways to go before I feel confident about taking Air from Alpha to Beta. It's not just a matter of stability, it is also features that I believe are core to the vision. I want the project to be easier and more powerful for app builders and end users alive.
TLDR: When we feel Air is ready
While it would be nice to have Air be a Beta project there's something to be said about having the freedom to make breaking changes or to backtrack from designs when we must. It's easy to fix mistakes now then later when there are more projects that could be broken by us making breaking changes. By staying in alpha longer it gives us the opportunity to validate our ideas .
To summarize by staying in alpha longer allows us to undo mistakes rather than being stuck with them forever
TODO: Make sure all this has tickets, and link to it. Also include reasoning
- Finished User & Auth & login design
- AirRouter (compositing multiple Air apps together while preserving middleware and app info)
- Accessibility (Section 508, light/dark modes, fonts, etc) - suggested by @tallerasaf
- Better database support (optional install) - suggested by @audreyfeldroy
- Vastly improved Forms
- CSRF
- field includes
- Improved error handling
- Jinja templates from within AirTags
- Docs:
- Bring AirMarkdown back into core as an optional install so it can move faster
- Every callable has a code example
- Code highlighting in AirDocs
- Code copying in AirDocs
- Automate deployment of AirDocs