InfoQ Homepage Web Development Content on InfoQ
-
How Rules Can Foster Creativity: the Design System of Reykjavík
The value of design systems is especially evident in the public sector, where the need to use taxpayer money effectively aligns with the demand for user-centered solutions. By examining Reykjavík’s design system, we can gain insights into how design systems promote creativity, efficiency, and collaboration, with implications for both private and public sectors.
-
How Functional Programming Can Help You Write Efficient, Elegant Web Applications
Many things can make software more challenging to understand and, consequently, to maintain. One of the most complex and problematic causes is managing internal mutable states. When the internal state is poorly managed, the software behaves unexpectedly, leading to bugs and fixing, which introduces unnecessary complexity. FP solves this problem by providing immutability mechanisms and more.
-
WebAssembly and Containers: Orchestrating Distributed Architectures with .NET Aspire
Running, composing, and debugging distributed applications on the local developer machine can be difficult, error-prone, and time-intensive. Those daily tasks could be dramatically simplified thanks to .NET Aspire. In this article, we will quickly dive into .NET Aspire and illustrate how you can orchestrate next-generation distributed applications.
-
WebAssembly, the Safer Alternative to Integrating Native Code in Java
Developers typically choose between porting the code or dynamic linking to run native code on the JVM. This article examines these approaches, using SQLite as an example, and introduces a third option: Chicory Wasm runtime. This alternative combines the advantages of traditional methods while addressing their limitations, potentially offering a more secure solution to integrate native code.
-
Java Virtual Threads: a Case Study
This article explores JDK 21's virtual threads, comparing their performance with Open Liberty's thread pool. It covers key findings like throughput, ramp-up times, and memory footprint. Despite advantages, virtual threads showed unexpected performance issues, especially in CPU-intensive workloads. This analysis guides Java developers on when and how to use virtual threads in their applications.
-
Streaming HTML – Asynchronous DOM Updates without JavaScript
Web applications provide the best user experience when pages load quickly and display additional data as it becomes available. Developers typically use JavaScript to load data asynchronously, but this adds complexity when compared to server-side rendering. We review a technique that uses the Shadow DOM with HTTP streaming to load pages quickly and display data asynchronously without JavaScript.
-
Polyglot Programming with WebAssembly: A Practical Approach
WebAssembly has expanded its scope from browsers to other domains like cloud and edge computing. It uses the WebAssembly Component Model (WCM) to enable seamless interaction between libraries from different programming languages, such as Rust, Python, and JavaScript, promoting a true polyglot programming environment.
-
You Don’t Need a CSS Framework
Developers use CSS frameworks to reduce boilerplate, increase quality, and drive consistency. However, these gains are hard to maintain as an application’s codebase matures. Developers must configure and override the framework to accommodate changes. Instead of using a CSS framework, developers should write their own custom CSS. CSS has evolved enough that this became the best option.
-
Modernizing Testing Practices for Jakarta EE Projects
This article focuses on the increasing adoption of data-driven testing in Java enterprise applications and sheds light on the Data and NoSQL Jakarta specifications. It highlights the significance of modern testing libraries such as JUnit Jupiter and AssertJ and emphasizes the importance of container-based frameworks like Testcontainers in enhancing testing practices.
-
Article Contest: Write an Article for InfoQ and Win a QCon or Dev Summit Ticket
InfoQ encourages software practitioners and domain experts to submit full-length technical educational articles.
-
How to Sustain Quality and Velocity in a JavaScript or TypeScript Project?
The JavaScript language and its ever-changing ecosystem of packages and practices can make codebases quickly become hard to maintain. The resulting loss of development velocity and/or code quality can be prevented without rewriting everything from scratch, nor pausing the development of new features. In this article, we have analyzed a few best practices to help avoid that.
-
InfoQ Software Architecture and Design Trends Report - April 2023
This article provides an overview of how the InfoQ editorial team sees the Software Architecture and Design topic evolving in 2023, with a focus on what architects are designing for today.