AngularJS - Tổng quan
AngularJS là một khung ứng dụng web mã nguồn mở. Ban đầu nó được phát triển vào năm 2009 bởi Misko Hevery và Adam Abrons. Nó hiện được duy trì bởi Google. Phiên bản mới nhất của nó là 1.2.21.
Định nghĩa về AngularJS theo tài liệu chính thức của nó như sau:
AngularJS là một khung cấu trúc cho các ứng dụng web động. Nó cho phép bạn sử dụng HTML làm ngôn ngữ mẫu và cho phép bạn mở rộng cú pháp của HTML để thể hiện các thành phần ứng dụng của bạn một cách rõ ràng và ngắn gọn. Liên kết dữ liệu và chèn phụ thuộc của nó loại bỏ phần lớn mã bạn hiện phải viết. Và tất cả đều diễn ra trong trình duyệt, khiến nó trở thành đối tác lý tưởng với bất kỳ công nghệ máy chủ nào.
Các tính năng chung
Các tính năng chung của AngularJS như sau:
AngularJS là một khuôn khổ hiệu quả có thể tạo ra các ứng dụng Internet phong phú (RIA).
AngularJS cung cấp cho các nhà phát triển một tùy chọn để viết các ứng dụng phía máy khách sử dụng JavaScript theo cách gọn gàng của Model View Controller (MVC).
Các ứng dụng được viết bằng AngularJS tuân thủ nhiều trình duyệt. AngularJS tự động xử lý mã JavaScript phù hợp với từng trình duyệt.
AngularJS là mã nguồn mở, hoàn toàn miễn phí và được sử dụng bởi hàng nghìn nhà phát triển trên khắp thế giới. Nó được cấp phép theo giấy phép Apache phiên bản 2.0.
Nhìn chung, AngularJS là một khuôn khổ để xây dựng các ứng dụng web quy mô lớn, hiệu suất cao và dễ bảo trì.
Tính năng cốt lõi
Các tính năng cốt lõi của AngularJS như sau:
Data-binding - Là sự đồng bộ dữ liệu tự động giữa các thành phần model và view.
Scope- Đây là những đối tượng chỉ mô hình. Chúng hoạt động như một chất kết dính giữa bộ điều khiển và chế độ xem.
Controller - Đây là các hàm JavaScript được ràng buộc với một phạm vi cụ thể.
Services- AngularJS đi kèm với một số dịch vụ tích hợp như $ http để tạo XMLHttpRequests. Đây là các đối tượng singleton chỉ được khởi tạo một lần trong ứng dụng.
Filters - Chúng chọn một tập hợp con các mục từ một mảng và trả về một mảng mới.
Directives- Directives là các điểm đánh dấu trên các phần tử DOM như phần tử, thuộc tính, css, v.v. Chúng có thể được sử dụng để tạo các thẻ HTML tùy chỉnh đóng vai trò là các tiện ích con mới, tùy chỉnh. AngularJS có các chỉ thị tích hợp sẵn như ngBind, ngModel, v.v.
Templates- Đây là dạng xem được kết xuất với thông tin từ bộ điều khiển và mô hình. Đây có thể là một tệp duy nhất (chẳng hạn như index.html) hoặc nhiều dạng xem trong một trang bằng cách sử dụng các phân đoạn .
Routing - Đó là khái niệm chuyển đổi quan điểm.
Model View Whatever- MVW là một mẫu thiết kế để chia một ứng dụng thành các phần khác nhau được gọi là Model, View và Controller, mỗi phần có trách nhiệm riêng biệt. AngularJS không triển khai MVC theo nghĩa truyền thống, mà là một thứ gì đó gần gũi hơn với MVVM (Model-View-ViewModel). Nhóm Angular JS gọi nó một cách hài hước là Model View Dù.
Deep Linking- Liên kết sâu cho phép mã hóa trạng thái của ứng dụng trong URL để nó có thể được đánh dấu. Sau đó, ứng dụng có thể được khôi phục từ URL về trạng thái như cũ.
Dependency Injection - AngularJS tích hợp sẵn một hệ thống con tiêm phụ thuộc giúp nhà phát triển tạo, hiểu và kiểm tra các ứng dụng một cách dễ dàng.
Các khái niệm
Sơ đồ sau mô tả một số phần quan trọng của AngularJS mà chúng ta sẽ thảo luận chi tiết trong các chương tiếp theo.
Ưu điểm của AngularJS
Ưu điểm của AngularJS là -
Nó cung cấp khả năng tạo Ứng dụng Trang Đơn một cách rất sạch sẽ và dễ bảo trì.
Nó cung cấp khả năng liên kết dữ liệu với HTML. Do đó, nó mang lại cho người dùng trải nghiệm phong phú và nhanh nhạy.
Mã AngularJS có thể kiểm tra đơn vị.
AngularJS sử dụng tính năng tiêm phụ thuộc và sử dụng tách biệt các mối quan tâm.
AngularJS cung cấp các thành phần có thể tái sử dụng.
Với AngularJS, các nhà phát triển có thể đạt được nhiều chức năng hơn với mã ngắn.
Trong AngularJS, các khung nhìn là các trang html thuần túy và các bộ điều khiển được viết bằng JavaScript thực hiện việc xử lý nghiệp vụ.
Trên hết, các ứng dụng AngularJS có thể chạy trên tất cả các trình duyệt chính và điện thoại thông minh, bao gồm cả điện thoại / máy tính bảng chạy Android và iOS.
Nhược điểm của AngularJS
Mặc dù AngularJS có rất nhiều giá trị, nhưng đây là một số điểm cần quan tâm -
Not Secure- Chỉ là framework JavaScript, ứng dụng viết bằng AngularJS không an toàn. Xác thực phía máy chủ và ủy quyền là phải để giữ an toàn cho ứng dụng.
Not degradable - Nếu người dùng ứng dụng của bạn tắt JavaScript, thì sẽ không có gì hiển thị, ngoại trừ trang cơ bản.
Hướng dẫn AngularJS
Khung AngularJS có thể được chia thành ba phần chính:
ng-app - Chỉ thị này định nghĩa và liên kết ứng dụng AngularJS với HTML.
ng-model - Chỉ thị này liên kết các giá trị của dữ liệu ứng dụng AngularJS với các điều khiển đầu vào HTML.
ng-bind - Chỉ thị này liên kết dữ liệu ứng dụng AngularJS với các thẻ HTML.