Posts

WebExpress 0.0.10-alpha – The REST APIs as the Foundation of the Table Architecture

Image
Tables in WebExpress are far more than simple display tools. They form a dynamic, modular and fully API‑driven interface that can be integrated flexibly into any website. Their essential design principle is the strict separation of data and layout. While the layout defines how a table looks and which interactions are possible, all content and structural descriptions come from the REST API. When a dynamic table is loaded, WebExpress calls the table REST API and receives both the table data and the metadata that define its structure. This metadata contains templates that specify how individual cells are displayed and edited. A template describes the visual representation, the type of interaction and the logic applied during editing. This keeps the table fully flexible, because the layout can change without requiring any modification to the underlying data. Column configuration is also managed through the API and can be adjusted dynamically without altering the layout itself. The intera...

WebExpress 0.0.10-alpha – Rethinking REST & Bringing WebSockets On Board

Image
With version 0.0.10‑alpha, WebExpress is being elevated to a new level. The framework, which has so far been used primarily for building static websites, is now opening itself more consistently to the world of reactive web applications. A major focus of the new version is the extensively improved REST API. It has been structurally redesigned to become clearer, more stable and more flexible. The endpoint architecture is now more unified, error handling provides more precise feedback and the processing of complex data models has been significantly optimized. These enhancements ensure that the API can serve as a reliable foundation for dynamic applications that go far beyond previous capabilities. The CRUD endpoints in particular benefit from the structural adjustments and improved consistency. In this context, the JavaScript controls have also been updated to make full use of the new API. They have been modernized overall, now offer more functionality and provide a noticeably improved u...

WebExpress 0.0.10‑alpha – A new signature for an evolved framework

Image
WebExpress has been known for its high speed from the very beginning. The rocket was therefore an obvious symbol, as it represents acceleration, technical power and forward momentum. In the tech world, it is a widely used metaphor that is immediately associated with performance and dynamism. For a long time, the rocket reflected exactly this aspect of WebExpress and helped communicate the framework’s early focus on speed. As the framework continued to evolve, it became clear that WebExpress is not defined by speed alone. Its architecture is modular, flexible and open to new approaches. The framework moves not only quickly but also independently and with a strong focus on extensibility. It adapts to different environments, grows with new requirements and encourages developers to explore new patterns and ideas. These qualities go beyond the classic rocket metaphor and show that WebExpress has matured into a framework with a broader and more distinctive identity. For this reason, the ...

WebExpress 0.0.10‑alpha – Selective WebSocket Broadcasts

Image
WebSockets are among the most versatile tools for building modern web applications that operate in a reactive, responsive and bidirectional manner. As soon as multiple clients are connected simultaneously, a challenge emerges that many frameworks underestimate. The server processes numerous parallel connections and requires the ability to target only those clients that meet specific criteria. A global broadcast is unsuitable for this purpose because it reaches all clients equally, regardless of whether the message is relevant to them. In this scenario, clients transmit meta information when registering their WebSocket connection. This includes the current URI, the tenant, the language or other contextual data. The server uses this information to send messages not to all connected clients, but selectively and based on context. A WebSocket is initially only a bidirectional connection without any knowledge of the context in which it is used. In modern applications, however, this context p...

WebExpress – A Journey Through Progress, Setbacks, and Passion

Image
Long before I started developing WebExpress, I was a passionate Windows Forms developer. During my university years, I also built websites using PHP, which gave me insight into the strengths and weaknesses of both worlds. That experience sparked a desire to combine desktop and web development, but in my own way. From a simple idea and an early prototype, the WebExpress project gradually took shape. It’s a lightweight web server written in C# that generates HTML directly from class information. You can think of the core concept as “LINQ to HTML,” designed to make web development dynamic and data-driven. First Steps and Milestones December 29, 2017 – PlanExpress begins: Drawing from my Windows Forms experience, I created a planning tool that already carried the seeds of WebExpress. March 11, 2018 – Renamed to WebExpress: The project finally received a new name and a clearer direction. March 18, 2018 – Open source on GitHub: A defining moment: I opened the project to the communit...

WebExpress 0.0.10-alpha – Class Annotation vs. Method Annotation: A Clear Comparison

Image
In many REST frameworks, the same question eventually arises: Where should I annotate my HTTP methods? Directly on the class or on the specific method that handles the request? Both approaches work, both are valid, and both lead to completely different architectural characteristics. That’s exactly why it’s worth making this decision consciously instead of leaving it to chance or framework conventions. In this article, I compare two models that have become established in REST systems: the linear, class-based model and the non-linear, method-based model. I also show how modern Java frameworks like Spring Boot solve this question and why. In the end, I want to find a solution that feels right for WebExpress , performs well, and can be adapted dynamically. In the linear approach, the HTTP method is defined directly on the class. The class represents exactly one endpoint and exactly one HTTP verb. The implementation contains a single method that processes the request, often with a fixed nam...

WebExpress 0.0.10-alpha – From Table-Based Layouts to Modern Container Design

Image
When I look back today at my first steps in web development, I see one thing above all: tables. Back then, tables were my universal tool for structuring websites. No matter whether it was about arranging text, images, or navigation elements, I put everything into tables. Every row and every column was a building block of my layout. It was a time when people believed that tables gave them control over the design. But with experience and the progress of web technologies, I realized that tables are not only impractical for layout purposes but also limiting. Today, I try to avoid tables wherever possible and instead rely on container-based layouts. Even in cases where tables are needed in the traditional sense, such as for displaying tabular data, I use modern grid techniques that go far beyond old HTML tables. In this blog post, I want to describe my journey, explain the advantages of container-based layouts, and critically examine why tables are no longer a good choice for designing webs...