# What is Onyx Framework

Onyx Framework is a general purpose framework built on Crystal, the Programming Language . 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.

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

development, including real-time applications, as Onyx has first-class support for websockets Game server development, as Onyx has tools to add reactivity

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: