Skip to content
The Onyx Framework documentation πŸ“š
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vuepress
eda
http content (HTTP/views): add XML macro Mar 17, 2019
img
sql
.gitignore
README.md major update Mar 10, 2019
components-overview.md
installation.md
package.json
yarn.lock deps: vuepress β†’ alpha.44 Mar 11, 2019

README.md

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
You can’t perform that action at this time.