Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/moondrop/helica

✨ A blazing fast micro web framework made for rapid development of RESTful APIs
https://github.com/moondrop/helica

api crud fast http nodejs oop rest rest-api routing server webserver

Last synced: 9 days ago
JSON representation

✨ A blazing fast micro web framework made for rapid development of RESTful APIs

Awesome Lists containing this project

README

        


Helica

A blazing fast micro web framework made for rapid development of RESTful APIs




Code Style: XO


MIT License


npm Release

## About
Helica is an incredibly fast and highly performant web framework made for rapid development of RESTful APIs and minimalistic server-side rendered web applications.

Helica follows a fully object-oriented approach to creating a beautifully simple yet incredibly powerful architecture that allows developers to rapidly build highly demanding APIs, server-side rendered web applications and various other applications that require assets to be served to the web.

Routes are handled by ***resource handlers***, which are JavaScript classes including methods corresponding to the HTTP methods they should handle for the registered route. This allows for incredibly fast and easy development of clean, easy to follow, maintainable and reusable code.

## Intentions
While many other web frameworks for Node.js are *already* very fast in themselves, they're inherently bottlenecked by using the native Node.js HTTP server. Helica is built on top of a [custom HTTP server](https://github.com/uNetworking/uWebSockets.js/) written entirely in C++ in conjunction with highly optimized v8 bindings.

This translates to **up to 300% the speed** of the native Node.js HTTP server excluding the use of any framework and **up to 500% the speed** of popular solutions like Express.

A full benchmarking suite including exact results and used code can be found [here](/benchmark).

## Installing
Installing Helica is as easy as typing

```
❯ npm install helica
```

>
**Warning!**

Running Helica via Yarn is **not supported** as Yarn lacks the capability of forwarding SIGINT events to the underlying process, thus breaking graceful shutdowns! Use at your own risk!
 

## Documentation
A full documentation can be found at [helica.moondrop.io](https://helica.moondrop.io)

## Getting Started
Getting started with Helica is as simple as initiating a new project, installing Helica as depcited above and adding an `index.js` file with following contents:

```js
const Helica = require('helica');
const app = new Helica.Server({ sslApp: false, debug: true });

class HelloWorld {
get(response, request) {
response.end('Hello World!');
}
}

app.addResource('/', HelloWorld);
app.run();
```

## License
This repository makes use of the [MIT License](https://opensource.org/licenses/MIT) and all of its correlating traits.