This is the edge branch - the system is stable, and there are approx 1000 test specs passig. For current status on development see current status.
Hyperstack is a Ruby-based DSL and modern web toolkit for building spectacular, interactive web applications fast!
- One language throughout the client and server. All Ruby code is compiled by Opal into JavaScript automatically.
- Webpacker and Yarn tooling for a modern, fast hot-reloader build environment with Ruby source maps.
- A well documented and stable Ruby DSL for wrapping React and ReactRouter as well as any JavaScript library or component. No need to learn JavaScript!
- Isomorphic Models with bi-directional data so you can access your models as if they were on the client.
All that means you can write simple front-end code like this:
class GoodBooksToRead < HyperComponent
render(UL) do
Book.good_books.each do |book|
LI { "Read #{book.name}" }.on(:click) { display book } if book.available?
end
end
end
In the code above, if the good_books
scope changed (even on the server), the UI would update automatically. That's the magic of React and Isomorphic Models with bi-directional data at work!
Please see the website for full documentation, or find the same content in the /docs folder in this repo if you prefer.
- Website: hyperstack.org
Our website serves as a Hyperstack example application. All the doc content is loaded dynamically from this repo and converted to HTML on the fly. It uses React Semantic UI and a client-side JavaScript full-text search engine. Its a Rails app hosted on Heroku.
You can be up and running in less than 5 minutes. Just follow the simple setup guide for a new Rails application all correctly configured and ready to go with Hyperstack.
- Setup and Installation: /install
Hyperstack is supported by a friendly, helpful community, both for users, and contributors. We welcome new people, please reach out and say hello.
- Join our new Slack group
- After you have joined there is a shortcut at https://hyperstack.org/slack
Please ask technical questions on StackOverflow as the answers help people in the future. We use the hyperstack
tag, but also add ruby-on-rails
, ruby
and react-js
tags to get this project exposed to a broader community.
- Please ask questions here: https://hyperstack.org/question
- All the
hyperstack
tagged questions are here: https://hyperstack.org/questions
Hyperstack is evolving; we are improving it all the time. As much as we love Ruby today, we see ourselves embracing new languages in the future. Crystal perhaps? We are also watching Wasm carefully.
Please see the ROADMAP file for more information.
If you would like to help, please read the CONTRIBUTING file for suggestions.
- Rubygems: https://rubygems.org/profiles/hyperstack
- Travis: https://travis-ci.org/hyperstack-org
- Website edge: https://edge.hyperstack.org/
- Website master: https://hyperstack.org/
Released under the MIT License. See the LICENSE file for further details.
Hyperstack is an evolution of Ruby-Hyperloop. We decided to rename the project to drop the Ruby suffix and also took the opportunity to simplify the repos and project overall.
- Old website: http://ruby-hyperloop.org/
- Old Github: https://github.com/ruby-hyperloop
- Legacy branch: https://github.com/hyperstack-org/hyperstack/tree/hyperloop-legacy
- Legacy install script: https://github.com/hyperstack-org/hyperstack/tree/hyperloop-legacy/install