Bài viết được dịch từ:  http://tutorialzine.com

Angular 2 là một framework lớn và phức tạp đòi hỏi nỗ lực học tập không bao giờ ngừng nghỉ. Để giúp bạn nắm bắt các tính năng của framework này, chúng tôi tập hợp một danh sách 30 nguồn tài nguyên miễn phí đề cập tất cả các chủ đề của Angular 2 - từ quickstart cho tới các chi tiết cụ thể và các best practice.

1. QuickStart (phiên bản TypeScript)

Các ứng dụng Angular 2 có thể được viết bằng TypeScript, Dart, hoặc JavaScript. Mỗi ngôn ngữ đều có một tài liệu hướng dẫn riêng, nhưng hướng dẫn của TypeScript là chi tiết nhất, đây cũng là công nghệ được khuyến khích sử dụng.

Đây là nơi bắt đầu cho hầu hết những người mới học Angular2. Nó bao gồm cách thiết lập môi trường làm việc và chạy ứng dụng cơ bản Hello World. Đừng bị lừa bởi tên của nó, bạn sẽ cần một đến hai giờ để hoàn thành QuickStart.

2. QuickStart (phiên bản JavaScript)

Phiên bản này đơn giản hơn so với TypeScript QuickStart. Vì nó viết bằng JavaScript, nên không yêu cầu các thiết lập phức tạp về môi trường làm việc, nó đi thẳng vào framework và một vài khái niệm chính.

3. Tour of Heroes

Tour of heroes là một hướng dẫn chi tiết hơn so với QuickStart. Nó là quá trình xây dựng một Single Page App, từng bước một, đề cập nhiều tính năng cần phải biết của Angular 2. Nó có các phiên bản cho TypeScript và Dart, nhưng không có cho JavaScript.

4. Tài liệu nâng cao

Angular team cung cấp hơn 15 bài hướng dẫn, mỗi bài đi sâu vào một chủ đề quan trọng. Bạn có thể học về Angular animations, vòng đời của các component, router, và nhiều tính năng quan trọng khác.

5. Cookboook

Một tập hợp các đoạn mã và giải pháp cho các vấn đề thường gặp. Ở đây bạn có thể tìm thấy một bảng liệt kê sự khác biệt giữa biệt giữa Angular 1 và 2,  các câu hỏi thường gặp về @NgModule, và các giải pháp validation form bên cạnh đó là các hướng dẫn và thủ thuật hữu ích khác.

Tham khảo các khóa học lập trình online, onlab, và thực tập lập trình tại TechMaster

6. Nâng cấp các ứng dụng lên Angular 2 sử dụng ngUpgrade

Bài viết đề cập mọi thứ bạn cần biết để nâng cấp các ứng dụng Angular 1 lên Angular 2. Trong bài viết này bạn có thể thấy những thứ Angular 2 làm tốt hơn, các khía cạnh mà một ứng dụng cần thay đổi, cũng như các đoạn code để hoàn thành công việc này.

7. Giới thiệu về Router: các Routes con, Route phụ và các sai lầm phổ biến

Bài hướng dẫn này tập trung vào router component 3.0 mới, và giải thích toàn bộ quá trình cần thiết để cấu hình nó chính xác. Tác giả cũng trình bày về Single Page Apps, cách chúng làm việc và làm thế nào để định tuyến chúng một cách chính xác và bảo mật.

8. Ahead-of-Time Compilation

Trình biên dịch Angular 2 cải thiện về hiệu năng của ứng dụng bằng cách tận dụng toàn bộ lợi thế của JavaScript Virtual Machines. Trong bài viết này bạn có thể học về biên dịch Just-in-Time và Ahead-of-Time, ưu và nhược điểm của chúng, và cách để triển khai chúng.

9. Styling các component của Angular 2

Bài viết này hướng đến những người mới bắt đầu và đang tìm kiếm các kỹ thuật khác nhau để thêm style CSS tới các component. Nó sẽ cho bạn thấy cách sử dụng component inline styles, style urls, và template inline styles và giải thích lợi thế đằng sau mỗi kỹ thuật.

10. Web Workers trong Angular 2

Web workers để làm các nhiệm vụ bất đồng bộ mà không block UI JavaScript, một vài thứ rất quan trọng với Single Page Apps. Ở đây bạn có thể học cách chạy các ứng dụng Angular hoặc component như các web woker, cho phép chúng chạy ngầm, không phụ thuộc vào luồng chính của app.

11. Angular Router: Khai báo Lazy Loading

Các ứng dụng Angular thường rất lớn, và một vài file tài nguyên quá lớn để tải trong một lần. Lazy loading cho phép chúng ta tăng tốc độ thời gian tải của ứng dụng bằng cách chia các tài nguyên thành nhiều phần và tải chúng khi cần.

12. Dependency Injection trong Angular 2

Đi sâu vào hệ thống dependency injection của Angular 2 đã được cải thiện và những hướng tiếp cận khác nhau đằng sau 2 hệ thống DI mới và cũ. Bài viết này cũng có phần 2, sẽ giải thích nhiều hơn về quan hệ giữa các host-child và tầm nhìn của các dependency.

13. Angular 2 Change Detection thực sự làm việc như nào?

Cơ chế phát hiện thay đổi của Angular 2 rõ ràng và dễ dàng hơn so với Angular1. Tuy nhiên, vẫn có những tình huống nơi bạn cần biết chính xác cái gì đang xảy ra ở bên dưới.

14. Xây dựng bản production cho một ứng dụng Angular 2

Angular là một framework rất mạnh mẽ và phức tạp, và không ngạc nhiên khi nhược điểm của nó là dung lượng khá lớn. Trong bài viết này bạn có thể học nhiều kỹ thuật, chẳng hạn Tree-shaking và minification, sẽ giúp giảm đáng kể dung lượng của ứng dụng khi hoàn thành.

15. Tận dụng lợi thế của Observables trong Angular2

Observables trong Angular 2 có thể được sử dụng để xử lý các đoạn mã bất đồng bộ như là một sự thay thế cho Promies. Chúng là một chủ đề rộng lớn và phức tạp, nhưng 2 phần của bài hướng dẫn này là một giới thiệu tuyệt vời về chúng và cách sử dụng chúng trong nhiều trường hợp.

16. Thiết kế các component và Giao tiếp giữa chúng

Một điều thú vị là việc sử dụng các design patterns để xây dựng các component. Bài viết giới thiệu các component của một ứng dụng chơi nhạc YouTube và quan hệ giữa chúng, với các đoạn code mẫu kèm giải thích.

17. Tối ưu hóa kích thước với ngUpgrade

NgUpgrade là cầu nối giữa Angular 1 và 2 bằng cách cho phép cả 2 ứng dụng hợp tác với nhau trong cùng một ứng dụng. Điều này sẽ làm tăng kích thước của ứng dụng vì bao gồm cả 2 phiên bản. Bạn có thể học cách giảm một lượng lớn dung lượng trong bài viết này.

18. 3 cách để kiểm thử các component Angular 2

Trong bài viết này bạn sẽ học 3 kỹ thuật khác nhau, cái bạn có thể sử dụng để kiểm thử các component Angular 2. Chúng là: isolated testing, shallow testing, và integration testing. Cả 3 cách đều có điểm mạnh và điểm yếu và những trường hợp tốt nhất nên áp dụng.

19. Bảo vệ các Route sử dụng Guards

Bảo vệ các Route là một nhiệm vụ rất phổ biến khi xây dựng các ứng dụng, chẳng hạn như chúng ta muốn ngăn người dùng truy cập vào những nơi không cho phép truy cập. Router của Angular 2 cung cấp một tính năng gọi là Guards cái cố gắng để giải quyết chính xác vấn đề này.

20. Debug các ứng dụng Angular 2

Hướng dẫn này sẽ cung cấp một cái nhìn tổng quan các cách bạn có thể debug một ứng dụng Angular 2 sử dụng các công cụ chẳng hạn như Chrome Dev Tools, Angular Augury, các bộ lọc JSON, và console chính nó.

21. Egghead.io

Egghead.io là một trong những tài nguyên phổ biến và được khuyến khích nhất để học Angular. Mặc dù nhiều bài học chỉ dành cho các pro member, nhưng vẫn có rất rất nhiều bài học miễn phí có chất lượng mà bạn có thể xem. Nó có hơn 110 tập phim, mỗi tập có độ dài ít nhất 30'.

22. Adventures in Angular

Adventures in Angular là một bản tin hàng tuần dành riêng cho Angular. Nó bao gồm một mảng rộng nhiều chủ đề và thường là nơi tốt nhất để cập nhật thông tin về Angular. 

23. Angular 2 from Scratch

Một khóa tuyệt vời có độ dài 1 giờ đề cập đến hầu hết những thứ cơ bản. Mặc dù hướng đến những người bắt đầu, nhưng có nhiều thứ mà mọi người có thể học từ video này về cách quản lý dự án và workflow.

24. Ajden Towfeek

Một kênh video YouTube với nhiều screencasts về web development và programming, tập trung vào Angular 2 và hệ sinh thái với các công nghệ, công cụ và các ngôn ngữ liên quan.

25. Angular University

Một kênh YouTube khác với một lượng lớn các hướng dẫn, khóa học, code ví dụ và quick-tip.

26. Rangle's Angular 2 Training Book

Đây là một cuốn sách hoàn toàn miễn phí về Angular 2. Nó đề cập tất cả các chủ đề quan trọng về Angular 2, từ bắt đầu với các toolchain, cho tới viết các ứng dụng có khả năng mở rộng và bảo trì. Bạn có thể đọc trên trình duyệt hoặc download.

27. Học TypeScript trong 30'

Mặc dù bạn có thể viết Angular 2 với JavaScript hoặc Dart, nhưng TypeScript mang lại trải nghiệm tốt nhất với framework này. Sử dụng hướng dẫn này bạn có thể học được những tính năng quan trọng nhất của TypeScript.

28. Style Guide

Đây là tài liệu hướng dẫn trên trang chủ của Angular. Chứa nhiều cú pháp và định dạng được khuyến khích, cũng như các best pracitce. Nó rất chi tiết và dài, bạn sẽ cần đọc kỹ ở một vài phầ.

29. Build with Angular 2

Học từ kinh nghiệm của người khác với framework này, bằng cách xem mã nguồn của các ứng dụng được xây dựng với Angular 2.

30. Angular 2 Final Q&A

Một cuộc phỏng vấn với những người tạo ra framework này, ngay sau khi phát hành phiên bản Angular 2 Final. Một nơi tuyệt vời để nghe nhiều hơn về dự án và những tính sắp bổ sung từ chính những người tạo ra nó.