Java
fromInfoQ
2 days agoJava News Roundup: TornadoVM 4.0, Google ADK for Java 1.0, Grails, Tomcat, Log4j, Gradle
TornadoVM 4.0 and Google ADK for Java 1.0 are released, alongside updates for JDK 27 and Jakarta EE 12.
Events are essential inputs to modern front-end systems. But when we mistake reactions for architecture, complexity quietly multiplies. Over time, many front-end architectures have come to resemble chains of reactions rather than models of structure. The result is systems that are expressive, but increasingly difficult to reason about.
Modern web applications are no longer just "sites." They are long-lived, highly interactive systems that span multiple runtimes, global content delivery networks, edge caches, background workers, and increasingly complex data pipelines. They are expected to load instantly, remain responsive under poor network conditions, and degrade gracefully when something goes wrong.
I thought I'd package up my previous wrapper for Mastodon support, port over my BoxLang Bluesky module, and properly release the code on GitHub for folks who want it. Right now I'm using one repo for both Bluesky and Mastodon. Usually I'd separate them, but with the support being a grand total of one file each, I figured no one would mind getting the extra code if they only care about one.
function checkTurn() { if (polling === false) { return; } request = $.ajax({ type: "GET", url: "battleship-checkTurn.php", data: { denBrukeren: denBrukeren, id: gameId, }, async: true, cache: false, timeout: 20000, success: function(data) { console.log('Polling = true'); if (polling === true) { if (data === denBrukeren) { polling = false; loadGame(); } } }, error: function(XMLHttpRequest, textStatus, errorThrown) { console.log('Reached timeout'); }, }); } $(document).ready(function() { setInterval(function() { checkTurn(); }, 20600); }); function abortRequest() { if (request) { request.abort(); } }
The most complete example of what the new development server makes possible is support for Cloudflare Workers. With Astro 6 Beta, astro dev can now run applications using workerd, Cloudflare's open-source JavaScript runtime, which is the same runtime that powers Cloudflare Workers in production. This means developers can now develop directly against real platform APIs rather than simulations or polyfills.
Over the past decade, software development has undergone a massive transformation due to continuous innovations in tools, processors and novel architectures. In the past, most applications were monoliths and then shifted to microservices, and now we find ourselves embracing composability - a paradigm that prioritizes modular, reusable, and flexible software design. Instead of writing separate, tightly coupled applications, developers now compose software using reusable business capabilities that can be plugged into multiple projects. This enables greater scalability, maintainability, and collaboration across teams and organizations. At the heart of this movement is Bit Harmony, a framework designed to make composability a first-class citizen in modern web development.
Databricks today announced the general availability of Lakebase on AWS, a new database architecture that separates compute and storage. The managed serverless Postgres service is designed to help organizations build faster without worrying about infrastructure management. When databases link compute and storage, every query must use the same CPU and memory resources. This can cause a single heavy query to affect all other operations. By separating compute and storage, resources automatically scale with the actual load.
JEP 527, Post-Quantum Hybrid Key Exchange for TLS 1.3, has been elevated from Proposed to Target to Targeted for JDK 27. This JEP proposes to enhance the implementation of RFC 8446, Transport Layer Security (TLS) Protocol Version 1.3, using the Hybrid Key Exchange in TLS 1.3 specification, currently being drafted by the Internet Engineering Task Force (IETF) in conjunction with JEP 496, Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism, delivered in JDK 24.