opal-jquery
opal-browser
opal-jquery | opal-browser | |
---|---|---|
5 | 7 | |
189 | 111 | |
0.0% | 0.9% | |
4.7 | 5.8 | |
4 months ago | 2 months ago | |
Ruby | Ruby | |
MIT License | Do What The F*ck You Want To Public License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
opal-jquery
-
Open Source Adventures: Episode 59: What Opal Ruby is not
It's possible to build a framework on top of Opal Ruby, like notably Hypestack, which uses uses Opal and React. There are also some wrappers like opal-jquery, and I even created opal-d3 once upon a time, but I don't actively maintain it anymore.
-
Opal 1.5.0 released - compile Ruby to JS and run it in a browser
You can use opal-jquery, which is a wrapping layer over jQuery and in its API it combines the best worlds of jQuery and Ruby.
-
Using Opal Ruby with Rails 7
Next, let's refactor the code to utilize Opal jQuery in Ruby instead of plain Opal. This simplifies the code in app/assets/javascript/application.js.rb quite a bit:
-
Opal 1.3 released
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-browser
-
Opal v1.7 released with Ruby 3.2 support
Opal itself aims just at creating a Ruby runtime and a couple of life improvements, but there exist a couple of helper gems, for instance Opal-Browser (for an idiomatic API to interact with DOM and other browser APIs), Opal-Rails (for integrating with a Sprockets pipeline of Rails), Opal-RSpec (to test your frontend application). There exist a number of libraries and bindings to JS libraries for Opal.
-
Opal 1.6.0 and Opal-RSpec 1.0.0 released
Opal is a Ruby (3.1) to JavaScript (ES5) compiler allowing you to write frontend code in pure Ruby and have it translated to clean and efficient JavaScript. It also includes a highly compatible core library that includes all the methods you've come to love. All this with a robust support of source maps, so you can debug Ruby code, not JavaScript in your Web Console. It can be used both to create websites entirely in Ruby (using Opal-Browser, or ports of known JavaScript libraries) and to port existing Ruby libraries to JavaScript, to be ran both in Node.JS and in web browsers (and other JavaScript environments).
-
Opal 1.5.0 released - compile Ruby to JS and run it in a browser
You can use opal-browser, which - just like jQuery itself - wraps the DOM API, is much more maintained than opal-jquery, offers much more functionality and has a similar API to opal-jquery (and to Nokogiri).
For Rails integration we provide opal-rails, a Gem, that after inclusion will transparently handle .rb files in your JavaScript asset directory (via Sprockets). To interface with a web browser, you would also need to use opal-browser. As an alternative you can use Hyperstack, which deeply integrates React, Rails and Opal.
-
Opal 1.3 released
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 1.2 (a Ruby implementation in JavaScript) released with Ruby 3.0 support
What are some alternatives?
Opal - Ruby ♥︎ JavaScript
ajax-datatables-rails - A wrapper around DataTable's ajax methods that allow synchronization with server-side pagination in a Rails app
opal-js_wrap-three - Three.JS for frontend Ruby (Opal) with almost 0 bindings
opal-devtools - A Browser extension providing tools for developing with Opal Ruby in the browser.
Inesita - Frontend web application framework in Ruby using Opal.
opal-d3 - Opal wrapper library for D3 library
snabberb - A simple component view framework for Ruby Opal based on Snabbdom
YASL - Yet Another Serialization Library - A pure Ruby auto-serialization library that works across different Ruby implementations like Opal and JRuby as an automatic alternative to YAML/Marshal. Unlike Marshal, it does not raise errors for unserializable objects, thus provides a highly productive friction-free auto-serialization experience.
opal-rspec - Opal + RSpec = ♥️