ViewComponent/view_component
A framework for building reusable, testable & encapsulated view components in Ruby on Rails. observed · 2026-08-28
Health v2 · maintenance only
99/100
- Activity 99
- Release rhythm 99
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: 8
- age_days: 2588
- days_rel: 8
- days_push: 8
- n_releases_24m: 38
Adoption not part of the score
3568 stars · 485 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
ViewComponent is a Ruby framework for building reusable, testable, and encapsulated view components in Ruby on Rails, inspired by React and the presenter pattern. As of version 4 it is feature-complete and in Long-Term Support, with recent releases adding experimental component-level caching support.
Use cases
- build reusable UI components in Rails
- unit test Rails view templates
- replace partials with encapsulated components
- consolidate view logic scattered across helpers and models
- render view objects from controllers
- speed up view testing compared to controller tests
When to choose
- you maintain a Rails app with templates reused across views
- you want component-style architecture (React-like) in Rails ERB
- you need fast, direct unit tests for view markup
- your views have heavy embedded Ruby logic that needs encapsulation
When to avoid
- you are not using Ruby on Rails
- you want a full frontend framework with client-side interactivity
- you need a JavaScript component system like React or Vue
- you prefer simple partials for one-off templates
Facets
framework · maturity maintenance
ui-components templating frontend-framework testing web-development frontend developer-tools ruby ruby-on-rails view-layer component-based-architecture unit-testing presenter-pattern long-term-support web-server
4 sources
- readme: https://github.com/ViewComponent/view_component · fetched 2026-08-28 · 9eb7911f0ce0
- homepage: https://viewcomponent.org · fetched 2026-08-29 · 97050feeafe6
- site_page: https://viewcomponent.org/guide/getting-started.html · fetched 2026-08-29 · 3ff85da8ddd4
- site_page: https://viewcomponent.org/CHANGELOG.html · fetched 2026-08-29 · 302c3f0730f3
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| ViewComponent/view_component | main | 99 |
For agents
markdown · JSON · MCP: product_card(name="ViewComponent/view_component")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem