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

https://github.com/onyxframework/docs

The Onyx Framework documentation 📚
https://github.com/onyxframework/docs

crystal ruby

Last synced: 12 months ago
JSON representation

The Onyx Framework documentation 📚

Awesome Lists containing this project

README

          

---
sidebarDepth: "1"
---

# Introduction

## What is Onyx Framework

Onyx Framework is a general purpose framework built on [Crystal, the Programming Language](https://crystal-lang.org). Crystal is, in turn, built on top of LLVM, which makes it **type-safe** and **incredibly fast**. Crystal syntax is heavily **inspired by Ruby**, which makes it a perfect language to replace slow Ruby code in your applications.

## Design principles

Very deep in the architecture of the framework lies an aim to be **perfect** from engineering point of view — true SOLID, loosely coupled components and **clean** architecture. But these idioms may be tedious for newcomers both to language and the framework and also require to write more boilerplate code.

That's why there is also a goal to hide the complexity under **simple** and **beautiful** DSL, but still be **extendable** and avaialble for more explict usage in the later stages of development cycle. The framework is able to grow with your knowledge of Crystal and your application needs.

## Applications

You can use Onyx Frameworks to either create new projects from scratch or incrementally replace services in your existing applications. **Areas** where you can apply the framework include:

* **Web** development, including real-time applications, as Onyx has first-class support for websockets
* **Game server** development, as Onyx has tools to add reactivity
* **Native platform applications**, as Onyx includes tools to work with embeddable databases like SQLite

You'd want to **switch** to Onyx and Crystal to:

* Reduce **server costs** dramatically
* Create **long-term** maintainable applications
* **Catch bugs** in development, not in production, while writing fever tests
* **Pay less** for migration, as Ruby developers usually learn Crystal in days