Posts

WebExpress 2.0.0‑alpha – From Sketch to Framework

Image
The way the framework is developed has changed fundamentally and now follows the philosophy of "from sketch to framework". While the focus was previously on manual programming, implementation is now handled entirely by Claude Code. The emphasis has shifted toward the conceptual design of ideas, where a simple mental or visual sketch serves as the direct starting point for new, production-ready components. The subsequent implementation, design, documentation, and creation of tutorial pages are fully automated from this initial concept. Compared to the traditional approach, this process is faster, more precise, more uniform, and more consistent. The human role has evolved into that of a system architect who defines requirements, provides the initial sketch, and steers the architectural direction. As a current use case, a static control ( ControlFormItemInputDnf ) for WebUI and a dynamic REST control ( ControlDataFormItemInputDnf ) for the WebApp are being implemented. This mirr...

WebExpress 2.0.0‑alpha – Custom SVG Icons

Image
The transition from Font Awesome to a fully custom SVG icon system represents a significant technological advancement in the evolution of WebExpress. Font based icons were functional but inherently limited because they remained bound to properties such as font size and color. This was sufficient for simple symbols yet restrictive for complex interfaces. By adopting SVG icons these limitations disappear entirely because SVGs exist as independent DOM elements that can be manipulated through the full range of CSS and JavaScript. This unlocks design capabilities that are practically unattainable with font icons. Path structures can be controlled with precision gradients can be defined natively and animations using stroke dasharray or stroke offset enable subtle micro interactions that make interfaces clearer and more expressive. The move to SVG also eliminates the licensing dependency that comes with third party icon fonts. Font Awesome is a powerful library but it introduces an external l...

WebExpress 2.0.0‑alpha – Development Progress

Image
The development of WebExpress version 2.0.0‑alpha marks an important step toward a more modern and cohesive framework architecture. As work continues across the three core modules WebUI, WebApp and WebCore, the halfway point of the alpha phase already shows how the system is evolving into a more flexible and efficient foundation for future applications. Many planned improvements have been implemented, while others are actively being refined, creating a clear picture of a release that significantly expands the capabilities of the framework. A central focus of the current development cycle is the introduction of new controls and the modernization of the user interface layer. These additions make interactions more dynamic and allow for more precise data binding and a clearer separation between presentation and logic. The UI benefits from new form components, configurable tables and enhanced list elements, all of which contribute to more adaptable and scalable interfaces. The rendering pi...

WebExpress 2.0.0‑alpha – View, State and Service, Part II: From Pro‑Control State to ViewStated Contexts

Image
An update to the earlier post about the View, State, and Service architecture. When the View, State, and Service architecture was introduced, it replaced scattered state, direct DOM manipulation, and implicit service calls with a clear unidirectional data flow. Each control gained an explicit state object, a typed service descriptor, and a predictable path from initialization through user interaction to re‑rendering. The model worked well and was written entirely in C#. The previous post showed how a list evolved from a handful of scattered properties into a single, well‑structured definition. As the architecture rolled out across control families, a deeper boundary became visible. The state was clean but still belonged per control. Each control seeded its own state island, resolved its own service, and loaded itself on mount. Two controls on the same screen showing the same data fetched it independently. There was no natural way for one control to trigger a re‑render in another when ...

WebExpress – AI‑Driven Development of the Framework

Image
It is no longer a secret that most of the code entering WebExpress today is no longer typed by hand. I propose it, generate it, and ideally also review it with the help of an AI. This has fundamentally changed how I develop the framework and forces me to ask whether I could maintain the pace the project now demands without this support. I am not trying to create hype or issue warnings. I want to describe honestly what AI gives me and what it costs me. When I look back two or three years, much of WebExpress was built in fragments. I implemented the critical paths carefully, yet many areas remained unfinished. Tests existed but were often postponed. Comments were present but rarely convincing. With AI assistance, this changed abruptly. Even non‑critical modules now receive the attention they previously lacked. Edge cases, validation, and clean error handling are no longer deferred. Test coverage has increased significantly, and instead of a single happy‑path scenario, I now cover difficu...

WebExpress 2.0.0‑alpha – Introducing the New View–State–Service Architecture

Image
With the new View‑State‑Service architecture, WebExpress enters a phase in which client‑side behavior becomes clearer, more predictable, and better structured than ever before. The motivation behind this step is straightforward. The previous mechanisms, scattered state, direct DOM manipulations, and implicit service calls, have worked well over the years but reach their limits once more complex interactions, multiple dependent components, or reusable patterns emerge. The new architecture establishes a clear foundation that remains consistent for both simple controls and sophisticated applications, while being authored entirely in C#. At its core, the model separates the three responsibilities that repeatedly occur in modern web applications. The state holds all data and UI flags of a control and serves as the single source of truth. The view is a pure function of that state and generates the DOM without its own side effects. The service encapsulates all network access and returns norm...

WebExpress – A Moment to Recharge

Image
Sometimes even the most dedicated project needs a moment to breathe. WebExpress has reached exactly that point. The past weeks have been intense, productive and filled with both small and significant progress. At the same time it has become clear that a short break is beneficial, a moment for vacation, for renewed energy and for fresh ideas that will help move the project forward. During this period the active development will pause. No commits, no new features, no conceptual decisions. Instead there will be room for distance, inspiration and the chance to look beyond the familiar horizon. One thing is just as clear. WebExpress will continue. And it will continue with full momentum. After the break exciting and conceptually challenging tasks are waiting. These include the further development of central modules, new architectural considerations and the design of features that will make WebExpress even more flexible and powerful in the long run. Anyone who would like to contribute, sh...