Ruby on Rails
Stimulus
Our great sponsors
Ruby on Rails | Stimulus | |
---|---|---|
465 | 111 | |
54,730 | 12,429 | |
0.8% | 0.6% | |
10.0 | 6.8 | |
7 days ago | about 13 hours ago | |
Ruby | TypeScript | |
MIT License | MIT 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.
Ruby on Rails
-
16 Best Ruby Frameworks For Web Development [2024]
Ruby on Rails is regarded as one of the best ruby frameworks. It was the primary language in developing big projects such as Twitter and helped the language boost the community. Often referred to as “Rails,” Ruby on Rails is a web development framework with an MVC control structure and currently running its 6.1 version. The 16-year-old language has dramatically influenced the web development structures and managing databases, web pages, and other components on a web application.
-
Ruby on Rails load testing habits
Rails isn't super opinionated about database writes, its mostly left up to developers to discover that for relational DBs you do not want to be doing a bunch of small writes all at once.
That said it specifically has tools to address this that started appearing a few years ago https://github.com/rails/rails/pull/35077
The way my team handles it is to stick Kafka in between whats generating the records (for us, a bunch of web scraping workers) and and a consumer that pulls off the Kafka queue and runs an insert when its internal buffer reaches around 50k rows.
Rails is also looking to add some more direct background type work with https://github.com/basecamp/solid_queue but this is still very new - most larger Rails shops are going to be running a second system and a gem called Sidekiq that pulls jobs out of Redis.
-
First commits in a Ruby on Rails app
Here is what strict_loading does (source):
-
Continuous Deployment with GitHub Actions and Kamal
Kamal is a wonderfully simple way to deploy your applications anywhere. It will also be included by default in Rails 8. Kamal is trivial, but I don’t recommend using it on your development machine.
-
Jets: The Ruby Serverless Framework
I think that you're conflating correlation with causation. I think it's more plausible to assume it was the early numbers that are skewed and non-representative.
The fact that GitHub itself was is a killer app of the Ruby on Rails, and that the Rails project itself changed to being hosted on GitHub somewhat very early on it's history [1] had a disproportionate effect on the early community that gathered there.
Now GitHub attracts a much more diverse portfolio of projects, so the numbers you see there are less statistically biased towards early Ruby on Rails adopters.
[1] Commit history on the main branch of rails/rails via github goes as far as Apr 10, 2008 https://github.com/rails/rails/commit/c67e985994362290308073...
-
understanding Rails version maintenance policy?
Done! https://github.com/rails/rails/pull/50295
releaseCycle: "6.1" releaseDate: 2020-12-09 eol: 2024-06-01 # https://github.com/rails/rails/pull/46895#issuecomment-1673353127 latest: "6.1.7.6" latestReleaseDate: 2023-08-22
You might have luck. It does look like docs changes are being accepted into 7.1-stable branch: https://github.com/rails/rails/commits/7-1-stable/
-
Rage: Fast web framework compatible with Rails
Also this doesn't show how database access is handled which is the hard part. If you are not touching the database, you can run Rails on falcon and get fiber based concurrency.
If you run falcon on rails and access database, then you have to explicitly checkin/checkout a connection to be safe. Details here - https://github.com/rails/rails/issues/42271.
-
HTML Data Attributes: One of the Original State Management Libraries
DEV is a Rails monolith, which uses Preact in the front-end using islands architecture. The reason why I mention all this is that it's not a full-stack JavaScript application, and there is no state management library like Redux or Zustand in use. The data store, for the most part on the front end, is all data attributes.
Stimulus
-
Turbo Streaming Modals in Ruby on Rails
I also recommend checking out the docs for Stimulus and Turbo to familiarise yourself with all their features and the APIs used in this series.
-
Google: Angular and Wiz Are Merging
Any tips on preparing to work with Wiz as an incoming intern. I heard its identical to Stimulus: https://stimulus.hotwired.dev/
-
How to integrate Component Architecture into Symfony?
use Stimulus
-
Build Drag and Drop with Rails Hotwire
With Stimulus, you've got a powerful tool to take your app's interactivity up a notch. For even more awesome features and Stimulus wizardry, check out the Stimulus Documentation.
-
Supercharge your Stimulus controllers with Custom APIs
The next version of Stimulus makes it easier to access parts of the private API thanks to my pull request.
-
Why are you still using jQuery?
I like Stimulus, it was a bit pushed by Symfony with their ux thing.
-
What's your favorite micro frontend framework?
Sure, something like https://github.com/hotwired/stimulus
-
Dusting off my rails knowledge, need some tips / guidance on rails 7 and production
source "https://rubygems.org" git_source(:github) { |repo| "https://github.com/#{repo}.git" } ruby "3.1.0" # Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" gem "rails", "~> 7.0.4", ">= 7.0.4.2" # The original asset pipeline for Rails [https://github.com/rails/sprockets-rails] gem "sprockets-rails" # Use sqlite3 as the database for Active Record gem "sqlite3", "~> 1.4" # Use the Puma web server [https://github.com/puma/puma] gem "puma", "~> 5.0" # Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails] gem "importmap-rails" # Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev] gem "turbo-rails" # Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev] gem "stimulus-rails" # Build JSON APIs with ease [https://github.com/rails/jbuilder] gem "jbuilder" gem "mongoid" gem "mongoid-grid_fs" gem 'bootstrap', '~> 5.2.2' #sourced from https://github.com/twbs/bootstrap-rubygem gem 'rack-cors' # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ] # Reduces boot times through caching; required in config/boot.rb gem "bootsnap", require: false
-
Configure Stimulus with esbuild and Babel — Rails & Javascript
Stimulus: A modest JavaScript framework for the HTML you already have.
-
Laravel Ecommerce Tutorial: Part 4, Managing Product Categories
This will create the obliterate controller in resources/js/controllers/obliterate_controller.js . If you have no idea what a stimulus controller is, checkout the stimulus homepage, it should have everything you need to know. Also checkout the hotwired stack's homepage
What are some alternatives?
Roda - Routing Tree Web Toolkit
Hanami - The web, with simplicity.
turbo-rails - Use Turbo in your Ruby on Rails app
htmx - </> htmx - high power tools for HTML
hotwire-rails - Use Hotwire in your Ruby on Rails app
Sinatra - Classy web-development dressed in a DSL (official / canonical repo)
Cuba - Rum based microframework for web development.
CodeBehind Framework - CodeBehind library is a modern backend framework. This library is a programming model based on the MVC structure, which provides the possibility of creating dynamic aspx files in .NET Core and has high serverside independence.
Padrino - Padrino is a full-stack ruby framework built upon Sinatra.
yjit - Optimizing JIT compiler built inside CRuby
django-unicorn - The magical reactive component framework for Django ✨
Alpine.js - A rugged, minimal framework for composing JavaScript behavior in your markup.