Quick update on ngx-transforms the reverse pipe now handles arrays. Before, it only reversed strings. Now it does both: {{ 'Hello' | reverse }} → 'olleH' {{ [1, 2, 3, 4, 5] | reverse }} → [5, 4, 3, 2, 1] {{ ['a', 'b', 'c'] | reverse }} → ['c', 'b', 'a'] It never mutates the original array. Spread + reverse under the hood, so Angular's change detection stays happy. This was a small change, but it came from a real need sorting UI lists, reversing timelines, and flipping table rows. Things you'd normally write a one-off helper for. Now it's just a pipe. npm i ngx-transforms https://lnkd.in/dRYZts_V If you find this useful, a star on the repo helps other developers find it. #Angular #TypeScript #OpenSource #WebDevelopment #Frontend
More Relevant Posts
-
Day 16 : Angular Change Detection Mechanism Angular uses Change Detection Mechanism to update the DOM whenever application state changes. There are two main strategies: 🔹 Default Strategy – Checks the entire component tree for changes. 🔹 OnPush Strategy – Optimizes performance by checking only when @Input reference changes or when explicitly triggered. Here's a quick example 👇 If you pass an object to a child component: Mutating the object won’t trigger OnPush updates. Replacing the object will! This small detail can make a big difference in performance, especially in large-scale applications. 💡 💥 Code Structure :- import { Component, ChangeDetectionStrategy, Input } from '@angular/core'; @Component({ selector: 'app-user', template: `<p>{{ user.name }}</p>`, changeDetection: ChangeDetectionStrategy.OnPush }) export class UserComponent { @Input() user: any; } ✅ Conclusion Change Detection is the core reason behind Angular performance issues. #Angular #ChangeDetection #Performance #FrontendDevelopment #WebDevelopment #JavaScript #TypeScript #AngularDeveloper #Programming #Coding #SoftwareEngineering #Developers #Frontend #Tech #Optimization
To view or add a comment, sign in
-
-
The most significant architectural shift in Vite’s history. 🛠️ Vite 8 marks the end of the "Pragmatic Bet." For years, we relied on esbuild for dev and Rollup for production. It worked, but it created an architectural "gap." With the stable release of Rolldown, that gap is closed. Key Technical Highlights: 1️⃣ Unified Pipeline: A single Rust-based bundler handles everything from dependency pre-bundling to production chunks. 2️⃣ Oxc Integration: @vitejs/plugin-react v6 now swaps Babel for Oxc, making React Refresh transforms near-instant. 3️⃣ Memory Efficiency: Early reports show up to a 100x reduction in memory usage for massive monorepos. 4️⃣ Wasm SSR: Finally, native support for .wasm?init in server-side rendering. The Catch? You’ll need Node.js 20.19+ and about 15MB more disk space for the Rust binaries. A small price to pay for a 30x performance boost. The VoidZero ecosystem is officially consolidating the JS toolchain. Is Rust the final destination for web tooling? Let's discuss. #ViteJS #WebDev #RustLang #Programming #Frontend #JavaScript #SoftwareEngineering
To view or add a comment, sign in
-
Most Angular performance problems I've seen trace back to one thing: developers who don't fully understand how change detection works. Zone.js feels like magic until your app is slow — and then you realize Angular has been checking every component in your tree every time someone clicks a button. Here's the evolution I've seen in large-scale Angular apps: → Zone.js (Default): Checks everything, everywhere. Easy to understand, expensive at scale. → OnPush: Checks only when inputs change by reference. Requires immutability discipline, but dramatically reduces unnecessary work. → Signals (Angular 17+): Doesn't check the tree at all. Tracks exactly which components depend on which values and updates only those. The architectural shift from Zone.js to Signals isn't just a syntax change — it's a different mental model for how reactivity should work. I wrote a full breakdown covering all three: how Zone.js monkey-patches async APIs, when OnPush actually triggers, how computed() signals stay lazy, and what the zoneless future looks like. https://lnkd.in/guS8Td8Z #Angular #WebDevelopment #SoftwareArchitecture #JavaScript #Frontend #Signals
To view or add a comment, sign in
-
Angular's modern SSR doesn't blow away the DOM and start over. It hydrates what's already there. This is a bigger deal than it sounds. Traditional SSR approaches would send rendered HTML to the browser, then tear it all down and rebuild it with JavaScript anyway. The user sees content fast, but the browser is doing double the work behind the scenes. Angular's hydration approach skips the destruction entirely, attaching JavaScript functionality to the existing server-rendered HTML instead. And for interactions that happen before Angular finishes bootstrapping? Event Replay queues them up and replays them once the components are ready, so no click or input is ever lost. Alex Okrushko breaks down exactly how it works in this clip from our Advanced Angular: Performance & Enterprise State course. #Angular #SSR #WebDev #Frontend #JavaScript #DeveloperLife
To view or add a comment, sign in
-
Are Angular Lifecycle Hooks Still Important in 2026? With the rise of modern Angular features like Signals and Effects, a common question comes up: Do we still need lifecycle hooks? Short answer: YES — but how we use them is evolving. Traditionally, lifecycle hooks like: ngOnInit() ngOnChanges() ngAfterViewInit() ngOnDestroy() have been essential for controlling component behavior. But now, with Signals: Reactive state is more automatic ngOnChanges is often no longer needed effect() can replace manual change tracking DestroyRef simplifies cleanup instead of ngOnDestroy So what’s the reality? ✔ Lifecycle hooks are still important ✔ But they are used more strategically now ✔ Modern Angular encourages reactive patterns over manual control In real-world projects: Use ngOnInit for API calls Use ngAfterViewInit for DOM access Use Signals for reactive state Use DestroyRef for cleanup The goal is not to replace lifecycle hooks, but to write cleaner and more reactive Angular code What’s your experience? Are you still using lifecycle hooks heavily, or moving towards Signals? #Angular #WebDevelopment #Frontend #JavaScript #SoftwareDevelopment #AngularSignals
To view or add a comment, sign in
-
Standalone components didn't just remove NgModules. They changed how you think about Angular architecture. Here's the mental shift most devs are still missing: 𝗧𝗵𝗲 𝗢𝗹𝗱 𝗪𝗼𝗿𝗹𝗱 (NgModules): → You thought in "modules" — bundling components, directives, pipes together → You declared dependencies at the module level → Components had invisible, inherited dependencies you couldn't see → Lazy loading meant lazy loading entire modules → New devs spent their first week understanding the module system 𝗧𝗵𝗲 𝗡𝗲𝘄 𝗪𝗼𝗿𝗹𝗱 (Standalone): → You think in "components" — each one declares its own imports → Every dependency is explicit and visible in the decorator → Tree-shaking actually works because the bundler sees exactly what's used → Lazy loading is granular — load a single component, not a whole module → New devs read one file and understand what a component needs The real benefit isn't "less boilerplate." It's 𝘁𝗿𝗮𝗻𝘀𝗽𝗮𝗿𝗲𝗻𝗰𝘆. When every component explicitly imports what it uses, you get: Better tree-shaking → smaller bundles Easier testing → mock only what's imported Clearer architecture → no hidden dependencies Simpler onboarding → one file tells the full story In Angular 21, standalone isn't a "feature." It's the default. NgModules are legacy. If you're starting a new project in 2026 and still generating NgModules — stop. Start standalone. Your future self (and your team) will thank you. The question isn't "should I migrate?" It's "why haven't you started yet?" ♻️Repost if this helped 🔔 Follow for daily Angular & Frontend System Design content #Angular #Angular21 #Frontend #WebDevelopment #StandaloneComponents #JavaScript #TypeScript #SoftwareEngineering
To view or add a comment, sign in
-
-
𝗠𝗼𝘀𝘁 𝗔𝗻𝗴𝘂𝗹𝗮𝗿 𝗽𝗿𝗼𝗷𝗲𝗰𝘁𝘀 𝗱𝗼𝗻’𝘁 𝗯𝗿𝗲𝗮𝗸 𝗯𝗲𝗰𝗮𝘂𝘀𝗲 𝗼𝗳 𝗯𝗮𝗱 𝗰𝗼𝗱𝗲. They break because of 𝗯𝗮𝗱 𝘀𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲. At the start, everything feels manageable: A few components Some services Basic folders But as the project grows… The structure starts falling apart. You begin to see: • Huge shared folders • Components, services, models mixed together • No clear ownership of features • Hard-to-find files • Slow development speed And suddenly: 𝗘𝘃𝗲𝗻 𝘀𝗶𝗺𝗽𝗹𝗲 𝗰𝗵𝗮𝗻𝗴𝗲𝘀 𝗯𝗲𝗰𝗼𝗺𝗲 𝗳𝗿𝘂𝘀𝘁𝗿𝗮𝘁𝗶𝗻𝗴. The problem? Most folder structures are designed for 𝘀𝗺𝗮𝗹𝗹 𝗮𝗽𝗽𝘀... Not for scale. The fix isn’t complicated. But it requires a shift in thinking. Experienced Angular developers move towards: ✓ Feature-based structure (not type-based) ✓ Clear separation of responsibilities ✓ Modular architecture ✓ Scalable naming conventions Instead of: ❌ Putting everything in shared ❌ Organizing by file type only ❌ Creating “god folders” Because structure isn’t just about files. It’s about: 👉 How your team thinks 👉 How your app scales 👉 How fast you can move A good structure makes development faster. A bad one slowly kills productivity. I wrote a detailed breakdown explaining 𝘄𝗵𝘆 𝗔𝗻𝗴𝘂𝗹𝗮𝗿 𝗳𝗼𝗹𝗱𝗲𝗿 𝘀𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲𝘀 𝗳𝗮𝗶𝗹 𝗮𝘁 𝘀𝗰𝗮𝗹𝗲 𝗮𝗻𝗱 𝗵𝗼𝘄 𝘁𝗼 𝗳𝗶𝘅 𝘁𝗵𝗲𝗺. 𝗥𝗲𝗮𝗱 𝘁𝗵𝗲 𝗳𝘂𝗹𝗹 𝗮𝗿𝘁𝗶𝗰𝗹𝗲 𝗵𝗲𝗿𝗲 👇 https://lnkd.in/gWt5qFQh Curious to hear from Angular developers: 𝗗𝗼 𝘆𝗼𝘂 𝗳𝗼𝗹𝗹𝗼𝘄 𝗳𝗲𝗮𝘁𝘂𝗿𝗲-𝗯𝗮𝘀𝗲𝗱 𝘀𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲, 𝗼𝗿 𝘀𝘁𝗶𝗹𝗹 𝘂𝘀𝗲 𝘀𝗵𝗮𝗿𝗲𝗱/𝗴𝗹𝗼𝗯𝗮𝗹 𝗳𝗼𝗹𝗱𝗲𝗿𝘀? #Angular #FrontendDevelopment #WebDevelopment #JavaScript #SoftwareEngineering #Programming #Coding
To view or add a comment, sign in
-
𝗔𝗻𝗴𝘂𝗹𝗮𝗿 𝟮𝟮 𝗴𝗼𝗶𝗻𝗴 𝘁𝗼 𝗶𝗻𝘁𝗿𝗼𝗱𝘂𝗰𝗲 𝗶𝗻𝘀𝗶𝗱𝗲 𝗛𝗧𝗠𝗟 𝗧𝗮𝗴 𝗖𝗼𝗺𝗺𝗲𝗻𝘁𝘀 - 𝗖𝗹𝗲𝗮𝗻𝗲𝗿 𝗧𝗲𝗺𝗽𝗹𝗮𝘁𝗲𝘀 𝘄𝗶𝘁𝗵 𝗭𝗲𝗿𝗼 𝗣𝗿𝗼𝗱𝘂𝗰𝘁𝗶𝗼𝗻 𝗜𝗺𝗽𝗮𝗰𝘁 A small but powerful improvement coming in Angular 22: 👉 𝗦𝘂𝗽𝗽𝗼𝗿𝘁 𝗳𝗼𝗿 𝗰𝗼𝗺𝗺𝗲𝗻𝘁𝘀 𝗱𝗶𝗿𝗲𝗰𝘁𝗹𝘆 𝗶𝗻𝘀𝗶𝗱𝗲 𝗛𝗧𝗠𝗟 𝘁𝗮𝗴𝘀 💡 𝗘𝘅𝗮𝗺𝗽𝗹𝗲 <𝘥𝘪𝘷 // 𝘦𝘹𝘱𝘭𝘢𝘪𝘯 𝘵𝘩𝘪𝘴 𝘣𝘪𝘯𝘥𝘪𝘯𝘨 [𝘶𝘴𝘦𝘳]="𝘤𝘶𝘳𝘳𝘦𝘯𝘵𝘜𝘴𝘦𝘳" /* 𝘵𝘦𝘮𝘱𝘰𝘳𝘢𝘳𝘺 𝘥𝘦𝘣𝘶𝘨 */ [𝘪𝘴𝘈𝘤𝘵𝘪𝘷𝘦]="𝘵𝘳𝘶𝘦" ></𝘥𝘪𝘷> ❓ 𝗕𝘂𝘁 𝘁𝗵𝗲 𝗿𝗲𝗮𝗹 𝗾𝘂𝗲𝘀𝘁𝗶𝗼𝗻 𝗶𝘀... 👉 Will these comments appear in the browser (production build)? Short answer: 𝗡𝗢 Just like existing Angular template comments: • These inline comments are for developers only • They are stripped out during compilation • They will NOT appear in the final DOM in production ✔ No performance impact ✔ No extra HTML size ✔ Safe for production use 𝗪𝗵𝘆 𝘁𝗵𝗶𝘀 𝗺𝗮𝘁𝘁𝗲𝗿𝘀 ✔ Better readability ✔ Easier debugging ✔ Cleaner templates ✔ Comments closer to logic 𝗠𝘆 𝘁𝗮𝗸𝗲 This is a small feature, but a big DX (Developer Experience) win. Cleaner templates + zero production overhead = best of both worlds. #Angular #WebDevelopment #Frontend #JavaScript #TypeScript #WebApps #Coding #copied
To view or add a comment, sign in
-
-
Part 3. The final one. This time it's the hooks you probably forgot existed — and the ones Angular makes irrelevant. useCallback? Not needed. Angular methods don't get recreated every render. useId? Not needed. No hydration mismatch problem. useImperativeHandle? Just make the method public. useSyncExternalStore? toSignal() or just .set() from anywhere. Custom hooks? Plain functions that return signals. No hook rules. The whole series boils down to one observation: Angular's architecture never created the problems React hooks were designed to solve. No dependency arrays. No stale closures. No hook call order rules. No re-render cascades.
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development