InfoQ Homepage JavaScript Content on InfoQ
-
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.
-
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.
-
Interactive Microservices as an Alternative to Micro Front-Ends for Modularizing the UI Layer
While microservices architectures are well established for the back-ends of software systems, the same cannot be said for front-ends. Interactive microservices are based on a new type of web API that Qworum defines, the multi-phase web API, where the endpoint calls may involve more than one request-response pair, also called a phase.
-
Separation of Concerns in Node.js
In Node.js you can structure your code however you want. There is no "correct way". You have the option of writing all of your code in a single app.js file or creating multiple files and placing them in different folders. Most developers, however, would recommend structuring your projects by grouping related data together rather than having it all together.
-
Turning a Node.js Monolith into a Monorepo without Disrupting the Team
Splitting monoliths into services creates complexity in maintaining multiple repositories (one per service) with separate (yet interdependent) build processes and versioning history. Monorepos have become a popular solution to reduce that complexity.
-
How to Create a Network Proxy Using Stream Processor Pipy
In this article we are going to introduce Pipy, an open-source cloud-native network stream processor. After describing its modular design, we will see how to rapidly build a high-performance network proxy to serve our specific needs. Pipy has been battle-tested and is already in use by multiple commercial clients.
-
A Lightweight, Safe, Portable, and High-Performance Runtime for Dapr
Dapr (Distributed Application Runtime) has quickly become a very popular open-source framework for building microservices. It provides building blocks and pre-packaged services that are commonly used in distributed applications, such as service invocation, state management, message queues, resource bindings and triggers, mTLS secure connections, and service monitoring.
-
Bootstrapping the Authentication Layer and Server with Auth0.js and Hasura
When you're trying to prototype an MVP for your app and want to start iterating quickly, the upfront cost of setting up authentication can be a massive roadblock. The authentication layer requires significant work, and you must always be on the lookout for security vulnerabilities.
-
Deep Dive into Reactive Programming with RxJS
One of the most challenging aspects of developing any user-facing application is handling asynchronous actions such as user input and API requests cleanly and robustly. RxJS helps developers author declarative code for handling side effects and asynchronous actions with continuous data streams and subscriptions.
-
eBay's UI Framework Marko Adds Optimized Reactivity Model - Q&A with Marko's Development Team
Marko, eBay's performance-focused UI framework, features optimization strategies that are now becoming mainstream (e.g., server-side rendering, progressive and asynchronous rendering, partial hydration). InfoQ discussed with the Marko development team how those performance strategies may differentiate Marko from other frameworks and future performance-minded initiatives in their roadmap.
-
Pathpida Brings Types to Next.js and Nuxt.js Dynamic Routing with Zero Configuration
Pathpida is a library for TypeScript projects to collect dynamic routes in one place. It is a tedious task to do manually. This helps check the existence of routes in large web apps. Pathpida is optimized for Next.js (React) and Nuxt.js (Vue). Pathpida can be added to existing Next.js and Nuxt.js projects without configuration.
-
Interview about JavascriptLandia, the Openjs New Individual Contributor Program
JavaScriptLandia is a new initiative by the OpenJS foundation that aims at individuals who wish to participate in the activities of the openJS foundations and contribute to open-source projects. To learn more about JavaScriptLandia and the challenges behind open-source projects we talk with Sara Chipps, a member of the OpenJS cross-project council who leads the initiative.