Skip to content

onyxframework/docs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sidebarDepth
1

Introduction

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.

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