Why Esor?
Esor Framework
Esor is a JavaScript framework for creating interactive web applications that combines the power of native Web Components with a modern reactive system based on signals. Unlike other frameworks, Esor focuses on providing a minimalistic but complete solution, with a bundle of only ~5KB and zero dependencies.
The Motivation
My journey to create Esor began with a quest for simplicity and performance in modern web development. While mainstream frameworks offer robust solutions, I noticed a gap: the need for a lightweight framework that leveraged the native power of modern browsers without sacrificing the development experience.
The Birth of Esor
The decision to create Esor arose from several common challenges in web development today:
Unnecessary Complexity.
Modern frameworks often include functionality that is rarely used, increasing bundle size and complexity. Esor was born with a minimalist philosophy: include only the essentials, allowing you to add what you need.
Performance
While many frameworks require significant hydration time and use Virtual DOM, Esor leverages native Web Components and a granular reactivity system to deliver fast and accurate DOM updates.
Web Standards
Instead of creating proprietary abstractions, Esor builds on established web standards:
- Custom Elements for components
- Shadow DOM for encapsulation
- Template literals for defining templates
Development Experience
I wanted to create an intuitive API that felt familiar to React
and SolidJS
developers, but took advantage of modern browser capabilities:
component("my-counter", () => {
const count = signal(0);
return html`
<div>
<h1>Count: ${count}</h1>
<button onclick=${() => count(count() + 1)}>Increment</button>
</div>
`;
});
The component is shown below:
Key Advantages
1. Zero Config
Esor works directly in the browser without the need for compilation or complex configuration.
2. Minimal Bundle Size
With only ~3KB gzipped
, Esor offers a complete solution without the weight of larger frameworks.
3. Optimal Performance
- No Virtual DOM
- Granular updates with signals
- Shadow DOM for better encapsulation
- Efficient renconcile system
Developer Experience
- Familiar and modern syntax
- Integrated development tools
- Comprehensive documentation
Micro-frontends
Its Web Components-based nature makes it perfect for creating stand-alone elements that can be integrated into any application.
High Performance Applications
Ideal for applications that require frequent and efficient DOM updates.
Reusable Components
Perfect for creating component libraries that can be used in any framework or application.
Looking to the Future
Esor is constantly evolving, but maintains its core principles:
- Keep it simple
- Prioritize performance
- Adhere to web standards
- Improve the developer experience
The vision is clear: to provide a tool that allows developers to build modern and efficient web interfaces, without the unnecessary complexity of heavier solutions.
Conclusion
Esor is not intended to replace established frameworks, but to offer a lightweight and efficient alternative for projects that value simplicity, performance and web standards. It is the result of a desire to simplify modern web development without sacrificing the capabilities developers need.