Ivy is a modern C# framework that lets you build reactive full-stack web applications entirely in pure C# - using familiar React-style components, hooks, and declarative patterns. No frontend/backend split, no HTML/CSS/JS - just write type-safe C# code and ship beautiful, production-ready internal tools at lightning speed.
Quick Start • Docs • Samples • Examples • Current Sprint • Roadmap
Ivy takes a lot of inspiration from frameworks like React. If you know React, you'll feel right at home. Here's a simple counter app built with Ivy:
public class SimpleCounterApp : ViewBase
{
public override object? Build()
{
var count = UseState(0);
UseEffect(() =>
{
Console.WriteLine($"Count changed to: {count.Value}");
}, [count]);
return Layout.Vertical(
Text.Block($"Count: {count.Value}"),
new Button("Increment", onClick: _ => count.Set(count.Value + 1))
);
}
}- Rich Widget Library: Extensive set of pre-built widgets to build any app. If you need more, an external widget framework is coming soon, where you can integrate any React, Angular, or Vue component.
- External Widget Framework: Easily integrate any third-party React component.
- Hooks: Familiar React-style hooks for state management, side effects, and lifecycle events.
- Forms: Create complex CRUD forms with validation and data binding.
- Data Tables: Sort, filter, and paginate data.
- Charts/Dashboards: Build interactive charts and dashboards with ease.
- Hot-Reloading: Full support for hot-reloading with maintained state as much as possible.
- LLM Code-Generation Compatibility: Designed to maximize compatibility with LLM code generation tools.
Ivy maintains state on the server and sends updates over WebSocket. The frontend consists of a pre-built React-based rendering engine. With Ivy, you never need to touch any HTML, CSS, or JavaScript. Only if you want to add your own widgets.
The Ivy.Console CLI provides a suite of tools to streamline your development workflow:
- Project Initialization: Quickly set up new Ivy projects with predefined templates.
- AI-Powered App Generation: Generate applications using AI based on your specifications.
- MCP: Teach any coding agent to use Ivy Framework for building full-stack applications.
- Authentication: Built-in support for popular authentication providers like Supabase, Auth0, Clerk, and Microsoft Entra.
- Database: Easy integration with SQL Server, Postgres, Supabase, MariaDB, MySQL, Airtable, Oracle, Google Spanner, Clickhouse, Snowflake, and BigQuery.
- Deployment Management: Manage deployments to Azure, AWS, Google Cloud, or Sliplane with ease.
- Secrets Management: Securely manage sensitive information within your applications.
⚠️ Note: Ivy.Console is still in beta, and the agentic features require an account. Register for a free account to be among the first to try these features.
Make sure you have the .NET 10 SDK installed.
-
Install Ivy CLI:
dotnet tool install -g Ivy.Console
-
Create a new project:
ivy init --hello
-
Run:
ivy run --browse
-
Open http://localhost:5010 in your browser.
You can also run ivy samples to see all the components that Ivy offers and ivy docs for documentation.
