{"id":2257,"date":"2025-01-22T12:46:22","date_gmt":"2025-01-22T20:46:22","guid":{"rendered":"https:\/\/www.angulartraining.com\/daily-newsletter\/?p=2257"},"modified":"2025-01-22T12:46:23","modified_gmt":"2025-01-22T20:46:23","slug":"signals-and-whats-ahead-for-angular-in-2025","status":"publish","type":"post","link":"https:\/\/www.angulartraining.com\/daily-newsletter\/signals-and-whats-ahead-for-angular-in-2025\/","title":{"rendered":"Signals and what&#8217;s ahead for Angular in 2025"},"content":{"rendered":"\n<p>As usual, we\u2019re using the 3-2-1 format of the newsletter this week. I\u2019m posting a few essential articles to revisit, updates to know about, and one question to ponder:<\/p>\n\n\n\n<p><strong>Three articles to revisit:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/blog.angulartraining.com\/tutorial-transclusion-content-projection-in-angular-1fea8f4421bd\" target=\"_blank\" rel=\"noopener\" title=\"\">Content projection<\/a> is an essential and easy technique to create reusable components. For more complex scenarios, you can also use <a href=\"https:\/\/www.angulartraining.com\/daily-newsletter\/how-to-pass-multiple-pieces-of-content-from-one-component-to-another\/\" target=\"_blank\" rel=\"noopener\" title=\"\">multi-slot content projection<\/a>, and if you want a full conference workshop recording on that topic, we have that <a href=\"https:\/\/www.youtube.com\/watch?v=-XyMpynvHC8\" target=\"_blank\" rel=\"noopener\" title=\"\">video from ng-conf 2022<\/a>.<\/li>\n<\/ul>\n\n\n\n<p><strong>Two Angular updates:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The Angular team announced its <a href=\"https:\/\/blog.angular.dev\/angular-2025-strategy-9ca333dfc334#:~:text=Promote%20zoneless%20to,with%20the%20CLI.\" target=\"_blank\" rel=\"noopener\" title=\"\">priorities for 2025<\/a>: <strong>Signal forms<\/strong>, RFC for <strong>selectorless components<\/strong> (meaning no more imports needed for components !), promote <strong>zoneless<\/strong> to developer preview, and replace<strong> Karma for unit testing<\/strong>.<\/li>\n\n\n\n<li>Our FREE monthly online workshop is scheduled for this Thursday, don&#8217;t forget to <a href=\"https:\/\/courses.angulartraining.com\/course\/monthly-online-workshops\" target=\"_blank\" rel=\"noopener\" title=\"\">register now<\/a>. I&#8217;ll talk about different simple strategies to migrate from RxJs to Signals in Angular.<\/li>\n<\/ul>\n\n\n\n<p><strong>One question to think about:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Signals are stable, with the exception of the effect function. Since Angular is going all in on Signals, with Signal forms being next in the pipeline, have you started migrating your apps to use Signals instead of RxJs? <a href=\"https:\/\/courses.angulartraining.com\/course\/monthly-online-workshops\" target=\"_blank\" rel=\"noopener\" title=\"\">Attend our next free workshop to see me do it live<\/a>.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>As usual, we\u2019re using the 3-2-1 format of the newsletter this week. I\u2019m posting a few essential articles to revisit, updates to know about, and one question to ponder: Three articles to revisit: Two Angular updates: One question to think about:<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-2257","post","type-post","status-publish","format-standard","hentry","category-angular"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/posts\/2257","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/comments?post=2257"}],"version-history":[{"count":1,"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/posts\/2257\/revisions"}],"predecessor-version":[{"id":2258,"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/posts\/2257\/revisions\/2258"}],"wp:attachment":[{"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/media?parent=2257"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/categories?post=2257"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.angulartraining.com\/daily-newsletter\/wp-json\/wp\/v2\/tags?post=2257"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}