Skip to content

Thrizian/hyperstack

 
 

Repository files navigation

Hyperstack

Build Status

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!

Website and documentation

Please see the website for full documentation, or find the same content in the /docs folder in this repo if you prefer.

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.

Setup and installation

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.

Community and support

Hyperstack is supported by a friendly, helpful community, both for users, and contributors. We welcome new people, please reach out and say hello.

StackOverflow Questions

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.

Roadmap

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.

Contributing

If you would like to help, please read the CONTRIBUTING file for suggestions.

Links

License

Released under the MIT License. See the LICENSE file for further details.

History

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.

Packages

No packages published

Languages

  • JavaScript 74.4%
  • Ruby 24.5%
  • Other 1.1%