# Aegis Framework > Learn. Design. Create. Aegis is a simple, fast and easy to use web development framework — a family of home-made libraries spanning the front end, the back end and serverless. > Full content export — 1 document. --- # Aegis Framework > A simple, fast and easy to use web development framework — Artemis, Pandora, Kayros, Ikaros, Nymph, Melan and more. Source: https://aegisframework.com/

Aegis is a simple, fast and easy to use web development framework. It includes almost everything you'll need to design your webpage or web application and make it functional and secure.

Explore the Libraries Browse on GitHub

One framework, many tools

Aegis gives you easy access to common functions across the whole stack — from DOM manipulation to backend routing. A complete, versatile family of libraries that work beautifully together.

ArtemisArtemisJavaScript LibraryA lightweight JavaScript/TypeScript toolkit: DOM manipulation, storage wrappers, HTTP requests and platform detection — the utilities you reach for every day. PandoraPandoraWeb ComponentsA lightweight web-components library with a decorator-first API, automatic microtask-batched rendering and built-in lit-html for efficient DOM updates. KayrosKayrosCSS LibraryA simple CSS and components library — sensible variables, a flexible grid and ready-made components so you can design fast and stay consistent. OreganoOreganoFront-end TemplateA front-end-only starter template with the cutting edge of HTML5, CSS3 and JS — mobile- and social-friendly, and a progressive web app out of the box. IkarosIkarosPHP FrameworkThe PHP flavor: a lightweight microframework with routing, templating, a database ORM, authentication and encryption. NymphNymphBun / TypeScript FrameworkThe Bun/TypeScript flavor — a minimal but full-featured microframework ported from Ikaros, with idiomatic TypeScript patterns. MMelanServerless ToolkitA minified Aegis built for serverless functions: user authorization & authentication, plus KMS-encrypted secrets pulled from the environment.

How simple is it? Look at its syntax

Real, current code from each library — pick a flavor.

```javascript import { $_, $_ready, Request, Platform } from '@aegis-framework/artemis'; $_ready(async () => { // Adapt to the environment if (Platform.darkMode) { $_('body').addClass('dark'); } // Fetch JSON with query params const users = await Request.json('https://api.example.com/users', { page: 1, limit: 10 }); $_('#count').text(`${users.length} users`); // Chainable DOM, with a POST on click $_('button').click(async () => { const user = await Request.postJson('https://api.example.com/users', { name: 'John' }); $_('ul').append(`
  • ${user.name}
  • `); }); }); ``` ```typescript import { Component, Register, State, Listen, html } from '@aegis-framework/pandora'; @Register('my-counter') class MyCounter extends Component { @State() count = 0; @Listen('click') increment() { this.count++; // reactive — re-renders automatically } render() { return html``; } } ``` ```html

    My Card

    My content

    ``` ```php container()->get(Router::class); // Routes return data straight from the Schema ORM $router->get('/users/{id}', function (string $id) { return UserSchema::get($id); }); $router->get('/users', function () { return UserSchema::all(); }); $router->listen(); ``` ```typescript import { Nymph, Router } from '@aegis-framework/nymph'; const nymph = new Nymph(); const router = nymph.container().get('Router'); // The same elegant API as Ikaros, in idiomatic TypeScript router.get('/users/{id}', async (id: string) => { return await User.get(id); }); router.post('/users', async () => { return await User.create({ name: 'Jane', email: 'jane@example.com' }); }); router.port(3000); router.listen(); ``` ```javascript const { Router } = require('@aegis-framework/melan'); const Secrets = require('@aegis-framework/melan/lib/secrets'); exports.handler = async (event, context, callback) => { const router = new Router(event, context, callback); router.allow('*'); return router.serve(async function () { // Reject unless the request carries a valid JWT (TTL in seconds) const { payload } = await router.authorize(1296000); // Pull KMS-encrypted credentials from the environment const [user, password] = await Secrets.decrypt('DB_USER', 'DB_PASSWORD'); return { success: true, user: payload.user }; }); }; ```

    Why Aegis?

    Aegis was created for a simple purpose: to be an alternative for web developers — as simple as it could be, yet as complete and advanced as it could be. Easy to use for both new and experienced developers, and a way to help others understand how a framework is built from scratch. It takes advantage of the newest technologies and best practices: Aegis is bleeding edge, and that means it moves fast.

    We all want awesome webs, with cool functionality and design. Awesomeness needs time — so why spend it on generic stuff when you could spend it building the future?

    Free and open source

    Aegis is released under the MIT License — use it for anything, commercial or not, completely free.

    Learn. Design. Create.