ORC is meant to be a solution to the endless hellscape that is frontend development. Its main goal is to be an option for Odin developers to build reactive web applications using their favorite language. Write simple Odin code and watch as it renders in the browser.
No More JavaScript Fatigue
- Stop juggling dozens of dependencies that break with every update
- No more choosing between React, Vue, Svelte, or the framework-of-the-week
- Zero configuration hell - everything will work out of the box
Performance by Default
- Will compile directly to WebAssembly for native-like speed
- No virtual DOM overhead or JavaScript runtime bloat
- Smaller bundle sizes, faster load times
Odin's Simplicity
- Leverage Odin's clean syntax and powerful type system
- Write maintainable code without TypeScript's complexity
- Systems programming mindset applied to web development
- Provide Odin developers a simple option for building web applications without JavaScript/TypeScript
- Compile directly to WebAssembly for maximum performance
- Include everything: bundler, server, components, routing - no configuration required
- Leverage Odin's simplicity and speed for web development
- Enable full-stack development in a single language
ORC is being designed as a complete ecosystem with integrated tools:
- ORC Transpiler - Transpiles
.orc
files to pure Odin code - ORC Compiler - Compiles the now transpiled Odin code to WebAssembly
- ORC Bundler - Handles asset bundling, optimization, and code splitting
- ORC Server - Built-in HTTP server with WebSocket support for development and production
- ORC Components - Pre-built UI components and reactive system
- ORC CLI - Command-line tools for project scaffolding, building, and deployment
ORC applications are built using .orc
files that combine Odin logic with declarative markup:
- Odin code sections handle application logic and state management
- ORC markup sections define the user interface using familiar HTML-like syntax
- Components can be composed and reused across an application
main.orc
serves as the application entry point
- Reactive components with built-in state management
- Props-based component communication
- Lifecycle methods for component initialization and cleanup
- Built-in components for common UI patterns
- Hot reload during development
- Integrated development server
- Built-in testing framework
- Rich error messages and debugging support
- Optimized WebAssembly output
- Server-side rendering support
- Static site generation
- Multiple deployment targets
Documentation and installation instructions will be available once the initial implementation is complete.
ORC is an open-source project and contributions are welcome! Whether you're interested in:
- Core framework development
- Built-in component library
- Documentation and examples
- Testing and bug reports
Please check back as the project develops for contribution guidelines.
- [In Progress] Define and implement
.orc
file syntax - [In Progress] Build transpiler (ORC → Odin)
- Build compiler (Odin → WASM)
- Basic component system
- CLI tooling
- Bundler implementation
- Development server with hot reload
- Basic built-in components
- HTTP server integration
- Server-side rendering
- Performance optimizations
- Deployment tooling
- Extended component library
- Testing framework
- Plugin system
- Community tools
Apache 2.0