
عنوان:
Modern Angular
نویسنده:
Armen Vardanyan
انتشارات:
Manning City: Shelter Island, NY
تاریخ انتشار
2025
حجم:
2.6MB
معرفی کتاب: "مدرن انگولار (Modern Angular): ساخت اپلیکیشنهای مدرن با ویژگیهای جدید Angular"
فریمورک قدرتمند Angular در حال تکامل است، به طوری که هر نسخه جدید ویژگیهای مدرن شگفتانگیزی به همراه دارد. Modern Angular شما را به سرعت با جدیدترین نوآوریهای Angular آشنا میکند.
در داخل Modern Angular شما یاد میگیرید چگونه:
در این کتاب خواهید آموخت:
- اپلیکیشنهای مدرن Angular بسازید با جدیدترین قابلیتهای فریمورک
- پروژههای Angular خود را راهاندازی و ساختاردهی کنید
- استراتژیهای پیشرفته تست برای Angular پیادهسازی کنید
- از بهبودهای جدید در دیباگکردن، بارگذاری تصاویر و ورودیهای کامپوننتها بهرهبرداری کنید
- مدیریت وضعیت را با استفاده از برنامهنویسی واکنشی انجام دهید
- با سیگنالها و رندرینگ سمت سرور آشنا شوید
- پروژههای قدیمی Angular را به شیوههای مدرن مهاجرت دهید
- الگوهای قدیمی Angular را با استفاده از تکنیکهای جدید بازسازی کنید
- از روشهای بهینهسازی عملکرد مدرن برای بهبود تجربه کاربری استفاده کنید
با کشف روشهای جدید برای کار با کامپوننتها، تزریق وابستگی، RxJS، سیگنالها و موارد بیشتر—همه اینها را از طریق ساخت یک سیستم کامل مدیریت منابع انسانی با سطح سازمانی خواهید آموخت! شما به زودی با ویژگیهای کیفیت زندگی Angular، توسعه روزانه خود را بهبود خواهید داد، عملکرد اپلیکیشن خود را با رندرینگ سمت سرور ارتقا خواهید داد و برای آینده Angular آماده خواهید شد. علاوه بر این، راهنماهای دقیق مهاجرت به شما نشان میدهند چگونه اپلیکیشنهای موجود را به الگوهای مدرن بهروزرسانی کنید و کدهای قدیمی خود را به راحتی مدرن کنید.
درباره فناوری (About Technology)
اپلیکیشنهای وب مدرن باید چالشهای جدی مانند مدیریت پیچیده وضعیت، برنامهنویسی واکنشی، و SEO را مدیریت کنند. با مجموعهای از ویژگیهای جدید، ابزارهای اکوسیستم و شیوههای برنامهنویسی، فریمورک Angular بهطور مستقیم به توسعه وب مدرن میپردازد. اگر هنوز Angular مدرن را امتحان نکردهاید، منتظر یک تجربه هیجانانگیز باشید!
درباره کتاب
کتاب Modern Angular مهارتهای توسعه وب شما را بهروز میکند تا از ویژگیهای جدید Angular مانند سیگنالها، رندرینگ سمت سرور و تشخیص تغییرات بدون زون (zoneless change detection) بهرهبرداری کنید. هر فصل یک قابلیت جدید را معرفی میکند که با افزودن آن به یک اپلیکیشن کامل برای مدیریت سیستمهای منابع انسانی، آن را به صورت عملی یاد میگیرید. در طول مسیر، با تزریق وابستگی، RxJS، و کامپوننتهای مستقل آشنا میشوید و تکنیکهایی برای بهروزرسانی اپلیکیشنهای قدیمی میآموزید.
محتویات کتاب (Book Contents)
- استراتژیهای پیشرفته تست
- RxJS و اپراتورهای سفارشی
- بهینهسازی عملکرد و SEO
- مهاجرت پروژههای قدیمی Angular
مخاطب کتاب (Audience)
این کتاب برای توسعهدهندگان با تجربه Angular است. پوششدهی نسخههای Angular 12 و بالاتر.
درباره نویسنده (About the Author)
Armen Vardanyan یک توسعهدهنده، مربی، و Google Developer Expert برای Angular است. او مقالاتی درباره Angular، TypeScript، NgRx مینویسد و همچنین پنلیست پادکست معروف Adventures in Angular است.
فهرست مطالب
- Preface
- Acknowledgments
- About this book
- About the author
- About the cover illustration
- 1. Welcome to modern Angular
- 1.1 What to expect
- 1.1.1 Who will benefit from reading this book?
- 1.1.2 What do we need to know before getting started?
- 1.1.3 How is the book structured?
- 1.2 How Angular was
- 1.2.1 Angular’s core features
- 1.2.2 What is an Angular application?
- 1.3 Let’s start a modern Angular app
- 1.3.1 Using the Angular CLI
- 1.3.2 Creating a new project
- 1.3.3 What changed?
- 1.4 What’s new in Angular?
- 1.4.1 How does Angular evolve?
- 1.4.2 How does Angular recognize problems?
- 1.4.3 Current goals
- 1.4.4 New features
- 1.4.5 What about the future?
- 1.4.6 The learning process
- 1.5 Summary
- 2. A standalone future
- 2.1 Why abandon NgModules?
- 2.1.1 Hard to learn, hard to explain
- 2.1.2 Indirectness and boilerplate
- 2.1.3 Other concerns with NgModules
- 2.2 Previous solutions
- 2.2.1 Hierarchic shared modules
- 2.2.2 Enter SCAMs
- 2.3 Developing apps without NgModules
- 2.3.1 Creating our first standalone component
- 2.3.2 Routing standalone components and providing dependencies
- 2.4 Lazy-loading components
- 2.4.1 Lazy-loading with NgModules
- 2.4.2 Lazy-loading a single standalone component
- 2.4.3 Lazy-loading several standalone components
- 2.4.4 Providing dependencies only to certain routes
- 2.4.5 Lazy-loading a component into another component
- 2.5 Migrations and common pitfalls
- 2.5.1 Migrating by hand
- 2.5.2 Using SCAMs
- 2.5.3 Migrating with a schematic command
- 2.5.4 Handling circular dependencies
- 2.6 Exercises for the reader
- 2.7 Summary
- 3. Revitalized dependency injection
- 3.1 How does dependency injection work?
- 3.1.1 Why do we need DI?
- 3.1.2 Let’s build a primitive DI mechanism
- 3.1.3 Dependency injection the Angular way
- 3.1.4 Injection contexts
- 3.2 The inject function
- 3.2.1 Another way of injecting dependencies
- 3.2.2 Injecting dependencies outside classes
- 3.2.3 Why we should always use inject
- 3.2.4 What about the drawbacks?
- 3.3 Functional guards, resolvers, and interceptors
- 3.3.1 Building an AuthGuard
- 3.3.2 Building an EmployeeResolver
- 3.3.3 Adding tokens to HTTP requests
- 3.3.4 Migrating to functional guards/resolvers/interceptors
- 3.4 DI deep dive
- 3.4.1 DI lookup and how to modify it
- 3.4.2 Truncating text with DI
- 3.5 Exercises for the reader
- 3.6 Summary
- 4. New capabilities of Angular building blocks
- 4.1 Powerful inputs
- 4.1.1 Required inputs
- 4.1.2 Transforming input values
- 4.1.3 Binding routing parameters to input properties
- 4.1.4 Inputs for dynamic components
- 4.2 Host directives
- 4.2.1 Extending existing directives
- 4.2.2 Using multiple directives and adding inputs
- 4.2.3 Things to know when using host directives
- 4.3 Type-safe reactive forms
- 4.3.1 Downsides of using untyped forms
- 4.3.2 Introducing type-safe forms
- 4.3.3 Common pitfalls when working with type-safe forms
- 4.3.4 Migrating to type-safe forms
- 4.3.5 Form events
- 4.4 NgOptimizedImage
- 4.4.1 Adding lazy loading and remembering to set width/height
- 4.4.2 Prioritizing image loading
- 4.4.3 Srcsets and image loaders
- 4.5 Other improvements
- 4.5.1 Self-closing component tags
- 4.5.2 Fetch-based HttpClient
- 4.5.3 Support for default export components in routing
- 4.5.4 Improved error messages
- 4.6 Exercises for the reader
- 4.7 Summary
- 5. RxJS in modern Angular
- 5.1 What is reactive programming?
- 5.2 Why we (still) need RxJS
- 5.3 Unsubscribing from observables
- 5.3.1 Why unsubscribe?
- 5.3.2 Problems with unsubscribing
- 5.3.3 Introducing DestroyRef
- 5.3.4 The takeUntilDestroyed operator
- 5.4 Writing our own custom RxJS operators
- 5.4.1 What is an RxJS operator?
- 5.4.2 How do operators work?
- 5.4.3 Building custom operators
- 5.5 Exercises for the reader
- 5.6 Summary
- 6. Signals: A new approach to reactive programming
- 6.1 Why go beyond RxJS?
- 6.1.1 What are the problems with RxJS?
- 6.1.2 What must the solution look like?
- 6.2 What is a signal?
- 6.2.1 Creating signals
- 6.2.2 Updating signals
- 6.2.3 Creating signals vs. observables
- 6.3 Building Angular components with signals
- 6.3.1 Creating TimeOffComponent
- 6.3.2 Handling signals in Angular components
- 6.4 Computed signals
- 6.4.1 Creating computed signals
- 6.4.2 Simplifying complex logic in Angular components using computed signals
- 6.5 Effects
- 6.5.1 Creating effects
- 6.5.2 Important things to know about effects
- 6.5.3 When to use effects
- 6.6 RxJS and signals interoperability
- 6.6.1 Converting observables to signals
- 6.6.2 Converting signals to observables
- 6.7 Exercises for the reader
- 6.8 Summary
- 7. Signals: A deep dive
- 7.1 Advanced options when dealing with signals
- 7.1.1 Signal equality
- 7.1.2 Untracking dependencies
- 7.1.3 Manual cleanup
- 7.1.4 Readonly signals and synchronizing with RxJS
- 7.2 Signals under the hood
- 7.2.1 The nature of signals
- 7.2.2 How changes to signals propagate
- 7.3 State management with signals
- 7.3.1 State management: The task
- 7.3.2 State management: The implementation
- 7.3.3 State management: The problems
- 7.3.4 Advanced interoperability with RxJS
- 7.4 Migrating to signals
- 7.4.1 Migrating RxJS-heavy Angular applications
- 7.4.2 Migrating more traditional Angular applications
- 7.5 The future of signals
- 7.5.1 Signal-based components
- 7.5.2 Signal inputs and outputs
- 7.5.3 Everything else
- 7.6 Exercises for the reader
- 7.7 Summary
- 8. Unit testing in modern Angular
- 8.1 Unit testing: The what and the why
- 8.1.1 Prerequisites
- 8.1.2 What is a unit test?
- 8.1.3 Why do we want unit tests?
- 8.2 Configuring a testing environment
- 8.2.1 Choosing a test runner
- 8.2.2 Setting up the test runner
- 8.2.3 Installing third-party tools
- 8.3 Running Angular unit tests
- 8.3.1 What do unit tests look like?
- 8.3.2 Providing mock dependencies
- 8.3.3 Testing components
- 8.3.4 Testing services
- 8.3.5 Testing signals
- 8.4 Powers of AI with Angular unit tests
- 8.4.1 Unit testing Angular applications with ChatGPT
- 8.4.2 Unit testing Angular applications with GitHub Copilot
- 8.5 The future of unit testing in Angular
- 8.6 Exercises for the reader
- 8.7 Summary
- 9. Modern Angular everywhere
- 9.1 What is server-side rendering?
- 9.1.1 SSR: The what
- 9.1.2 SSR: The why
- 9.1.3 SSR: The how
- 9.2 Building Angular apps with SSR from scratch
- 9.2.1 How is an SSR Angular application different from a SPA?
- 9.2.2 Running an SSR Angular application
- 9.2.3 Building components in an SSR Angular application
- 9.3 Improving Angular SSR
- 9.3.1 HTTP caching
- 9.3.2 Client-side hydration
- 9.3.3 Prerendering
- 9.4 Building an Angular application
- 9.4.1 What does building an Angular application mean?
- 9.4.2 ESBuild and Vite
- 9.4.3 Configuring environments for Angular applications
- 9.4.4 Preparing to deploy Angular applications
- 9.5 Exercises for the reader
- 9.6 Summary
- 10. What’s next in modern Angular?
- 10.1 New template syntax
- 10.1.1 Goodbye ngIf!
- 10.1.2 Hello @for!
- 10.1.3 @switch
- 10.1.4 Migrating to the new template syntax
- 10.2 Deferrable views
- 10.2.1 Deferring a simple component
مشخصات
نام کتاب
Modern Angular
نویسنده
Armen Vardanyan
انتشارات
Manning City: Shelter Island, NY
تاریخ انتشار
2025
ISBN
9781633436923
تعداد صفحات
306
زبان
انگلیسی
فرمت
حجم
2.6MB
موضوع
JavaScript; Web Applications; Angular