-
Opal is simply a Ruby to JavaScript compiler. While it may be someday possible to run Rails on it, as you can run Rails on JRuby, the primary focus of this project is to allow you to write frontend code in Ruby and possibly share some code between your frontend and backend. It's possible to compile entire Ruby libraries to JavaScript (with little changes needed due to some caveats). Opal supports a Ruby 3.0 level of features (regardless of your backend Ruby version), often surpassing MRuby in terms of compatibility. It is being actively tested for regressions against Ruby Spec and is self-hosting, ie. can compile itself (see: TryRuby).
-
Judoscale
Save 47% on cloud hosting with autoscaling that just works. Judoscale integrates with Rails, Sidekiq, Solid Queue, and more to make autoscaling easy and reliable. Save big, and say goodbye to request timeouts and backed-up job queues.
-
Opal itself is a low-level thing, not depending on Rails whatsoever. We provide an official Gem for integration with Rails that integrates everything nicely and allows you to have .rb files in your JavaScript assets directory. Unlike Rails, Opal is not opinionated, to interface with web browser APIs properly you need to either use a library that wraps DOM directly, use a similar one that wraps jQuery or use Hyperstack, a fully-fledged Rails-integrated framework based on React that also allows you to share your models between frontend and backend. It's also possible to not use any of those and interface JavaScript APIs directly using an API that looks like this: $$[:document][:location].replace("https://opalrb.com/") or simply embed JavaScript with a backtick notation: `document.location.replace(#{@url})`.
-
Opal itself is a low-level thing, not depending on Rails whatsoever. We provide an official Gem for integration with Rails that integrates everything nicely and allows you to have .rb files in your JavaScript assets directory. Unlike Rails, Opal is not opinionated, to interface with web browser APIs properly you need to either use a library that wraps DOM directly, use a similar one that wraps jQuery or use Hyperstack, a fully-fledged Rails-integrated framework based on React that also allows you to share your models between frontend and backend. It's also possible to not use any of those and interface JavaScript APIs directly using an API that looks like this: $$[:document][:location].replace("https://opalrb.com/") or simply embed JavaScript with a backtick notation: `document.location.replace(#{@url})`.
-
Opal itself is a low-level thing, not depending on Rails whatsoever. We provide an official Gem for integration with Rails that integrates everything nicely and allows you to have .rb files in your JavaScript assets directory. Unlike Rails, Opal is not opinionated, to interface with web browser APIs properly you need to either use a library that wraps DOM directly, use a similar one that wraps jQuery or use Hyperstack, a fully-fledged Rails-integrated framework based on React that also allows you to share your models between frontend and backend. It's also possible to not use any of those and interface JavaScript APIs directly using an API that looks like this: $$[:document][:location].replace("https://opalrb.com/") or simply embed JavaScript with a backtick notation: `document.location.replace(#{@url})`.
-
Opal itself is a low-level thing, not depending on Rails whatsoever. We provide an official Gem for integration with Rails that integrates everything nicely and allows you to have .rb files in your JavaScript assets directory. Unlike Rails, Opal is not opinionated, to interface with web browser APIs properly you need to either use a library that wraps DOM directly, use a similar one that wraps jQuery or use Hyperstack, a fully-fledged Rails-integrated framework based on React that also allows you to share your models between frontend and backend. It's also possible to not use any of those and interface JavaScript APIs directly using an API that looks like this: $$[:document][:location].replace("https://opalrb.com/") or simply embed JavaScript with a backtick notation: `document.location.replace(#{@url})`.
-
If you have source maps - things should work well (unless you strip them and minify the code). But in web console you still need to speak JavaScript (unless you have this: https://github.com/isomorfeus/opal-devtools - but I don't think it will work with the current version). Fortunately, Opal API for JavaScript is pretty straightforward, though at least a little bit verbose: https://opalrb.com/docs/guides/v1.3.1/compiled_ruby
Related posts
-
HTML Ruby Markup Extensions Working Draft Published
-
Opal – a Ruby to JavaScript source-to-source compiler
-
GCC Adopts a Code of Conduct
-
The Rust Trademark Borrow Checker : Rust Foundation Solicits Feedback on Updated Policy for Trademarks
-
DebunkThis: Coraline Ada Ehmke hasn't really contributed that much as far as code goes