Skip to content

lonnieezell/monarch

Repository files navigation

Monarch Web Framework

Monarch is an opinionated framework for building web applications. It is designed to be simple, fast, and easy to use. While it allows you to create fully modern web applications, it strips things back to a delicate balance of simplicity and power.

Philosophy

I believe that web development doesn't need to be overly complex. While there is definitely a place and a need for heavy front-end frameworks, for many projects they are overkill that add unnecessary complexity and mental overhead.

I believe that browsers have come a long way and today's HTML, CSS, and Javascript are more than capable of building powerful web applications without layers and layers of abstractions.

I believe that you can still create modern sites without needing lots of build tools. CSS has enough tools built in now that you don't require a preprocessor. A little bit of Javascript goes a long way. You don't need large frameworks to build reactive components. Web components are available in all modern browsers.

I believe simplicity can be educational. By keeping the abstractions to just what is needed, you can learn the underlying technologies better. You don't need to learn a framework. You need to learn the web. The abstractions make it easy to forget the language you are working in, and never include every feature.

I believe building the web can be fun.

Features

Note: This is a work in progress. Most of the features are not fully implemented yet. Some might not have been started. Consider this a wishlist and a roadmap.

  • File-Based Routing: Routes are defined by the file structure and names.
  • Cascading Layout System: Layouts can be nested and cascaded, defined alongside the routes they pertain to.
  • 4 Core Route Types: HTML, Markdown, API, and HTML fragments.
  • Integrated HTMX: HTMX is included and built right into the routing system.
  • SQL-Base Database Builder: SQL is a first-class citizen. It doesn't need to be abstracted away.
  • Web Components: Web components are used for building reactive components.
  • ???? Got ideas? Let me know.

Documentation

Documentation can be found within the _docs directory.

License

Monarch is open-sourced software licensed under the MIT license.

About

A back-to-basics framework for the modern web.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published