Angular's Next Component Authoring Format
For the past several months, the Angular conversation has revolved around hydration and Signals. Last week, however, the spotlight shifted in a new direction.
During JetBrains JavaScript Days, Jeremy Elbourn—who leads the Angular project—delivered a session called "Evolving Angular for the Long Run." The talk covered ongoing work like Signals and hydration, but also stressed that the team is reflecting on previous decisions in order to design a framework built to last into the next decade.
Toward the end of his presentation, Elbourn previewed three experimental component authoring formats, each looking quite distinct from today's decorator-based approach.
First, a "TypeScript-first" style where components are expressed as plain functions:
// TypeScript-first
function HomeComponent(title = input('')) {
const status = signal('');
const handleClicked = () => {
status.set('You clicked me');
}
return ng `
<h1>Welcome {{ title() }}</h1>
<p>Status: {{ status() }}</p>
<button on:click="handleClicked()">Change Status</button>
`
}
An alternative takes an HTML-first angle:
<script name="HomeComponent" type="ts">
const title = input('');
const status = signal('');
function handleClicked() {
status.set('You clicked me');
}
<script>
<h1>Welcome {{ title() }}</h1>
<p>Status: {{ status() }}</p>
<button on:click="handleClicked()">Change Status</button>
These proposals are still in the abstract stage. Yet contributions from Angular team members like Matthieu Riegler, Alex Rickabaugh, and Pawel Koszlowski on X—where they're actively soliciting community input—suggest the ideas are evolving into something more tangible.
Nx Version 20 Arrives
Another major release this week: Nx 20. Among the notable updates for Angular developers are a move to ESLint's flat config and support for Rspack, the Rust-powered bundler. The nx release tooling for version management also got a boost, introducing release groups that help coordinate publishing across several packages at once.
Fresh Discussions Around Upcoming Signal Utilities
The eagerly awaited resource function—built to bring asynchronous operations into the Signals ecosystem—keeps generating conversation. While it's not expected until Angular 19 as an experimental API, new material keeps surfacing. Most recently, Manfred Steyer published a detailed write-up, and Joshua Morony released a video on the subject.
