<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/tags/angular/best-of/2023/12" -->

---
title: Best Angular posts — December 2023 | daily.dev
description: The most upvoted Angular posts from December 2023, curated by the daily.dev community.
canonical: https://daily.dev/tags/angular/best-of/2023/12
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/tags/angular/best-of/2023/12
og:type: website
og:site_name: daily.dev
og:title: Best Angular posts — December 2023 | daily.dev
og:description: The most upvoted Angular posts from December 2023, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of Angular — December 2023

1. 1  
[](/posts/analog-a-meta-framework-for-angular-tumehqrmr "Analog: a meta-framework for Angular")  
Article  
![Avatar of angularlove](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/b638946cd9c74bf6a260e4e6a40212d7)Angular.love · 3y  
Analog: a meta-framework for Angular  
Analog is a full-stack meta-framework for Angular that provides support for server-side rendering and static site generation, file-based routing, Vite/Vitest/Playwright support, and Markdown rendering.  
23
2. 2  
[](/posts/from-ants-to-titans-the-javascript-ui-framework-battle-royale-bb8rtb8sv "From Ants to Titans: The Javascript UI Framework Battle Royale")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 3y  
From Ants to Titans: The Javascript UI Framework Battle Royale  
A comparison of the top Javascript UI frameworks: Svelte, Angular, Vue, React, and Solid.js. Each framework has its own unique features and advantages. React is considered the king of UI frameworks, but Solid.js is emerging as a strong competitor. The state of Javascript UI frameworks is constantly evolving.  
16
3. 3  
[](/posts/frontend-weekly-digest-339-27-november-3-december-2023--tktkphjev "Frontend Weekly Digest #339 (27 November — 3 December 2023)")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 3y  
Frontend Weekly Digest #339 (27 November — 3 December 2023)  
The article covers various topics including web development advent calendars for 2023, the potential dominance of AVIF as an image format on the web, and an explanation of how JavaScript promises work.  
14
4. 4  
[](/posts/add-router-animation-transitions-for-navigation-in-angular-17-hkmbryka7 "Add Router Animation Transitions for Navigation in Angular 17")  
Article  
![Avatar of tia](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/0493d3a2b5c74032920cc8402cc480c7)This is Angular · 3y  
Add Router Animation Transitions for Navigation in Angular 17  
Enhance user experience in Angular 17 by adding smooth page transitions using the 'View Transitions' feature.  
11
5. 5  
[](/posts/using-defer-in-angular-17-to-implement-lazy-loading-5l3vv6u95 "Using defer in Angular 17 to implement lazy loading")  
Article  
![Avatar of logrocket](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/logrocket)LogRocket · 3y  
Using defer in Angular 17 to implement lazy loading  
Learn about lazy loading in software development and how Angular 17 implements it using the defer block. The article explains the benefits of splitting larger applications into smaller chunks and only loading the required parts when needed. It also demonstrates how to use the defer block to load components based on specific conditions or events, such as idle, viewport, interaction, hover, and timer. By implementing lazy loading, developers can optimize the delivery of their Angular apps and improve load times for end users.  
11
6. 6  
[](/posts/declarative-loop-control-flow-in-angular-17-xezgmmtkk "Declarative Loop Control Flow in Angular 17")  
Article  
![Avatar of itnext](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2)ITNEXT · 3y  
Declarative Loop Control Flow in Angular 17  
Angular 17 introduces a new built-in control flow template syntax that simplifies Angular templates by providing declarative syntax for control flow. The @-for control flow is used to iterate over a list of products, and the @-empty block is used to display a template when there are no items in the list. There is a misconception that the @-empty block will wait for asynchronous data to load before rendering.  
10

[See all Angular archives](/tags/angular/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/tags/angular/best-of/2023/12#page","url":"https://daily.dev/tags/angular/best-of/2023/12","name":"Best Angular Posts — December 2023","description":"The most upvoted Angular posts from December 2023, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/tags/angular/best-of/2023/12#items","numberOfItems":6,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/analog-a-meta-framework-for-angular-tumehqrmr","name":"Analog: a meta-framework for Angular"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/from-ants-to-titans-the-javascript-ui-framework-battle-royale-bb8rtb8sv","name":"From Ants to Titans: The Javascript UI Framework Battle Royale"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/frontend-weekly-digest-339-27-november-3-december-2023--tktkphjev","name":"Frontend Weekly Digest #339 (27 November — 3 December 2023)"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/add-router-animation-transitions-for-navigation-in-angular-17-hkmbryka7","name":"Add Router Animation Transitions for Navigation in Angular 17"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/using-defer-in-angular-17-to-implement-lazy-loading-5l3vv6u95","name":"Using defer in Angular 17 to implement lazy loading"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/declarative-loop-control-flow-in-angular-17-xezgmmtkk","name":"Declarative Loop Control Flow in Angular 17"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Tags","item":"https://daily.dev/tags"},{"@type":"ListItem","position":3,"name":"Angular","item":"https://daily.dev/tags/angular"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/tags/angular/best-of"},{"@type":"ListItem","position":5,"name":"December 2023"}]}]}
```

