InfoQ Homepage Development Content on InfoQ
-
Breaking through Three Common Engineering Myths
This article debunks three common myths that often plague engineers and may be holding them back from reaching their full potential, especially if they are a current or aspiring engineering leader. It also provides some actionable ideas you can implement right away to start making a shift in your own life away from these limiting beliefs.
-
Build Great Native CLI Apps in Java with Graalvm and Picocli
Compared to other choices, Java is not that convenient for creating simple command-line driven apps - largely due to the need to distribute a sizable runtime. The combination of GraalVM and Picocli aims to change that, by providing native compilation alongside an easy, modern way to handle command-line args.
-
Multi-Runtime Microservices Architecture
Best practices have emerged around “microservice” architecture and “12-factor app” design. As cloud, containers, and container orchestrators (.g. Kubernetes) have become popular, new solutions to address common integration principles have emerged. This article discusses the approach of using "mecha" components to provide enterprise integration pattern functionality for microservices.
-
Tutorial: Writing Microservices in Kotlin with Ktor—a Multiplatform Framework for Connected Systems
Ktor (pronounced Kay-tor) is a framework built from the ground up using Kotlin and coroutines. It is a great fit for applications that require HTTP and/or socket connectivity. These can be HTTP backends and RESTful systems, whether or not they’re architectured in a microservice approach.
-
Functional UI - a Model-Based Approach
Functional UI techniques rely on the functional relation between events processed by the user interface and the actions performed by the interface. If the user interface has discrete modes in which its behavior can be expressed simply, a modelization with state machines is an advantageous functional UI technique. This article explains the technique, its benefits and how it is used in the industry.
-
Software, Aesthetics, and Craft: How Java, Lisp, and Agile Shape and Reflect Their Culture
The software industry styles itself on architecture and construction, but rarely discusses aesthetics.
-
The Kongo Problem: Building a Scalable IoT Application with Apache Kafka
In this article, author Paul Brebner discusses the best practices for developing IoT projects using Apache Kafka and Kafka Streams technologies and how to maximize Kafka scalability.
-
Mono: from Xamarin to WebAssembly, Blazor, and .NET 5 - Q&A with Miguel de Icaza
Mono started as an open source .NET platform in 2001, being developed by Xamarin until 2011. Since the company’s acquisition by Microsoft in 2016, both Mono and .NET Core have been developed in parallel. In the light of the most recent releases, InfoQ interviewed Miguel de Icaza —the original author of the Mono project—to talk about the current state of Mono and its future in the .NET ecosystem.
-
Java 14 Feature Spotlight: Records
Java SE 14 (March 2020) introduces records (jep359) as a preview feature. Records aim to enhance the language's ability to model "plain data" aggregates with less ceremony. In this article Java Language Architect Brian Goetz takes a deep dive into the feature.
-
Q&A on the Book Remote Mob Programming
In the book Remote Mob Programming: At home, but not alone, Simon Harrer, Jochen Christ, and Martin Huber share their experience doing mob programming while working from home for over a year.
-
Three Key Success Factors for Improving Test Automation Outcomes
Test automation is crucial in the DevOps world and vitally important even if not taking a DevOps approach, and good test automation requires careful thought and design from the architecture onward. Tests need to be fully automated, and that automation needs to be stable; no test cases should fail for reasons other than issues in the system(s) under test.
-
Why Visual AI Beats Pixel and DOM Diffs for Web App Testing
Visual AI breaks regions of pixels into rendered elements for comparison purposes, similar to how humans view web pages. As a result, Visual AI can compare any kinds of images on a page, providing a more effective mechanism for automated visual testing when compared to pixel and DOM diffing.