Posts

WebExpress 0.0.10-alpha – An Intelligent Prompt Control for Complex WQL Queries

Image
The development of our new WQL prompt control began with the ambition to make the input of complex filter expressions as direct and efficient as working in a terminal. The goal was to create an input environment that feels familiar, responds quickly, and at the same time respects the specifics of WQL syntax. This includes a suggestion system that offers matching attributes, operators, and values while typing, displaying them clearly in the hint area below the input field. The most likely continuation appears as plain text, complemented by a list of alternative values, limited to a maximum entries for clarity. Suggestions can be navigated using the arrow keys, while the Tab key can be used to accept a selected completion. To ensure that suggestions remain up to date and performant, they are provided through a REST interface that adheres to the defined WQL syntax. To avoid unnecessary network load, requests are triggered only after a short input delay. This debouncing prevents a request ...

WebExpress 0.0.10-alpha – The hidden cost of missing conceptual planning in design decisions

Image
Lack of conceptual planning is one of the most reliable ways to slow down a project unnecessarily. This becomes particularly clear in the current development stage of WebExpress. A late design decision resulted in a significant amount of additional work that could have been avoided if there had been an early conceptual alignment between server and client components. This concerns the integration of the user interface, Rest interfaces and JavaScript logic, which grew independently for too long without a shared foundational concept. Originally, the idea was that control elements such as buttons would have their own modal field that opened the actual window and controlled properties such as size. This solution seemed sufficient at first, but as integration progressed it became clear that modal as the only target type was too limited. The application requires more flexibility. In addition to classic modal windows, full screen views, frame views and split views are useful and necessary. The...

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...