Announcing MinorJS: An Unopinionated, Ultra-minimal Web Framework for Node.js
Skytap is a big believer in open source software. Our company is built on amazing open source projects like Linux, Ruby on Rails and Node.js. That’s why we feel it’s so important to give back to the open source community by releasing and maintaining the MinorJS project.
What is MinorJS?
MinorJS is an unopinionated, ultra-minimal web framework that alleviates the pain of routing, testing, and deployment clustering for Node.js applications.
By starting with MinorJS you maintain the freedom to develop your application with whichever technologies and philosophies you find appropriate for your Node.js project. MinorJS only handles routing, testing, and deployment clustering, ensuring that you have the tools to develop with speed and ship with confidence.
Express and Rails-like Controllers.
With MinorJS, creating a new page or RESTful interface is as simple as creating a new controller file. Routes are automatically created for present controllers and use the Rails convention of mapping each action to a particular CRUD operation in a database. Custom methods can be easily added to a controller as well, ensuring you have the flexibility to build the infrastructure you want while providing the foundation you need for the most common requests.
Simple and Powerful Functional Testing.
MinorJS has a functional-testing framework that allows you to exercise both your frontend and server side web application code. The testing framework uses Zombie.js as the web browser, allowing your tests to run quickly while giving you full access to the DOM. Zombie.js runs your front-end code the way an actual browser would, enabling you to write tests for complicated in-browser interactions.
The functional-testing framework takes care of starting and stopping your web server, so running your tests on CI machines like Jenkins is extremely easy. Just ‘npm install’ your application modules and run your tests!
Enterprise-Ready Deployment Clustering.
MinorJS takes advantage of Node.js clustering support to handle HTTP requests with multiple workers across multiple CPU cores. You can easily combine MinorJS with robust clustering tools like Strongloop’s Cluster Control or pm2 for zero-downtime deploys and automatic restarting of crashed workers.
A Fast and Flexible Development Environment.
When MinorJS is running in development mode it will automatically reload files (code and templates) when they change. Sound taxing? Don’t worry, this feature won’t put any extra load on your CPU or disk because it doesn’t use file-watching to keep things up-to-date. Running your web stack using Vagrant and an NFS mount? No problem, MinorJS will even work with mounted filesystems!
Get Started with MinorJS
To get started using MinorJS, head over to Skytap’s Github page to find instructions on installation.
Does working with Node.js sound interesting to you? Come work with us!