BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Programming Content on InfoQ

  • Go Native with Spring Boot and GraalVM

    Spring Boot 3 & Spring Framework 6, due in late 2022, will have built-in support for native Java. For Spring Framework 5.x & Spring Boot 2.x, Spring Native is the way to go. Spring Native provides integrations for Spring's vast ecosystem of libraries. It also has a component model that allows you to extend native compilation support for other libraries.

  • Ballerina: a Data-Oriented Programming Language

    Ballerina’s flexible type system brings the best of statically typed and dynamically typed languages in terms of safety, clarity, and speed of development. Ballerina treats data as a first-class citizen that can be created without extra ceremony, just like strings and numbers.

  • Article Series: Native Compilation Boosts Java

    Java dominates enterprise applications. But in the cloud, Java is more expensive than some competitors. Native compilation makes Java in the cloud cheaper. It raises many questions for all Java users: How does native Java change development? When should we switch to native Java? When should we not? And what framework should we use for native Java? This series provides answers to these questions.

  • Cloud Native Java with the Micronaut Framework

    The Micronaut framework provides a solid foundation for building Cloud Native Java microservices. It reduces the use of Java reflection, runtime proxy generation, and dynamic classloading. Tight integration with GraalVM Ahead-of-Time Compilation (AOT) has seen the usage of the Micronaut framework grow.  Active compilation-time checking increases type safety and improves developer productivity.

  • Getting Started to Quarkus Reactive Messaging with Apache Kafka

    How data is processed/consumed nowadays is different from how it was once practiced. In the past, data was stored in a database and it was batch processed for analytics. Apache Kafka is a distributed event store and stream-processing platform for storing, consuming, and processing data streams in real-time. In this post, we’ll learn how to produce and consume data using Apache Kafka and Quarkus.

  • Design-First Approach to API Development: How to Implement and Why It Works

    With the rapid growth of the API industry, developers and technology leaders alike need to know how to create a successful and scalable API program that will drive business value. Developers should consider prioritizing a design-first approach to building APIs which will ensure a positive experience for all stakeholders.

  • Exploring Architectural Concepts Building a Card Game

    One of the things I missed during the pandemic were my friends, the possibility to meet them, discuss with them and, why not, play cards with them. So I decided to implement an app to play Scopone with my friends and, at the same time, test “in the code” some architectural concepts which had been intriguing me for some time.

  • Improving Your Estimation Skills by Playing a Planning Game

    Underestimation is still the rule, rather than the exception. One bias especially relevant to the estimation process is the planning fallacy. This article explores the planning fallacy and how we are vulnerable to it. It explains how you can reduce your vulnerability to this fallacy through playing a planning game that has been specifically devised to help mitigate it.

  • Designing Secure Tenant Isolation in Python for Serverless Apps

    Software as a Service (SaaS) has become a very common way to deliver software today. While providing the benefits of easy access to users without the overhead of having to manage the operations themselves, this flips the paradigm and places the responsibility on software providers for maintaining ironclad SLAs, as well as all of the security and data privacy requirements.

  • Native Java in the Real World

    Microservices on Kubernetes are the native Java sweet spot: they have the most significant framework and Java runtime overhead. Native Java needs more effort to build, debug, test, deploy & profile. The application framework should fully support native Java in production. Native Java adoption can be incremental. But a native Java application only works if all its libraries support native Java.

  • Sustaining Fast Flow with Socio-Technical Thinking

    To sustain a fast flow of changes over long periods of time, organizations address both the social and technical, socio-technical, aspects of reducing complexity. Examples are incentivising good technical practices to keep code maintainable, architecting systems to minimize dependencies and maximize team motivation, and leveraging platforms to preclude whole categories of infrastructure blockers.

  • Kubernetes Native Java with Quarkus

    Quarkus is an industry leader in startup time and memory utilization for native and JVM-based Java applications. This reduces cloud costs. Kubernetes is a first-class deployment platform in Quarkus with support for its primitives and features. Developers can use their Java knowledge of APIs like Jakarta EE, MicroProfile, Spring, etc. Applications can be imperative or reactive - or both!

BT