helica
v1.0.1
Published
A blazing fast micro web framework made for rapid development of RESTful APIs
Downloads
4
Maintainers
Readme
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 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.
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
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:
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 and all of its correlating traits.