AngularJS là gì?

Nói ngắn gọn, AngularJS là một web framework mã nguồn mở. AngularJS được phát triển lần đầu tiên bởi Misko Hevery và Adam Abrons vào năm 2009, và hiện được duy trì bởi Google. 

 

Định nghĩa về AngularJS theo tài liệu chính thức của như sau:

 

AngularJS là một framework có cấu trúc dành 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à bạn có thể mở rộng cú pháp của HTML để thể hiện các thành phần của ứng dụng một cách rõ ràng và ngắn gọn. Chức năng data binding và dependency injection giảm bớt phần lớn lượng code bạn phải viết. Và tất cả những tính năng tuyệt vời này đề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.

 

Nhìn chung, AngularJS là một framework để xây dựng các ứng dụng web quy mô lớn, hiệu suất cao và dễ bảo trì.

Các tính năng chính của AngularJS

AngularJS có các tính năng chính sau:

 

  • Data binding (Ràng buộc dữ liệu): Nó tự đồng bộ hóa dữ liệu giữa các thành phần model và view.
  • Scope (Phạm vi): Scope là các đối tượng tham chiếu đến model. Chúng hoạt động như một chất kết dính giữa controller và view. Scope được sắp xếp theo cấu trúc phân cấp và cấu trúc DOM của ứng dụng. Nó có thể xem biểu thức và truyền các sự kiện.
  • Controller (Bộ điều khiển): Là các hàm JavaScript được ràng buộc với một Scope cụ thể.
  • Model View Whatever: MVW là một design pattern để 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. Vì sao lại là Model View Whatever? Vì AngularJS không triển khai MVC theo nghĩa truyền thống, mà là một thứ gì đó kiểu như MVVM (Model-View-ViewModel). Vậy nên các lập trình viên Angular JS thường gọi vui là Model View Whatever.
  • Services (Dịch vụ): AngularJS đi kèm với một số service tích hợp như $http để tạo một XMLHttpRequests. Đây là các đối tượng singleton chỉ được khởi tạo một lần trong ứng dụng.
  • Filters (Bộ lọc): Filter chọn một tập hợp con các item từ một array (mảng) và trả về một array mới.
  • Directives: Là các điểm đánh dấu trên các phần tử của DOM như element, attribute, 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 widget tùy chỉnh mới. AngularJS có các directive tích hợp sẵn như ngBind, ngModel, v.v.
  • Template: Là dạng rendered view với thông tin từ controller và model. Nó có thể là một file duy nhất (chẳng hạn như index.html) hoặc nhiều view trong cùng một trang (sử dụng các partial).
  • Routing: Nói chung là việc chuyển đổi các view.
  • Deep linking (Liên kết sâu): Deep linking cho phép bạn mã hóa trạng thái của ứng dụng trong URL để nó có thể được bookmark (đánh dấu). Sau đó các ứng dụng vẫn 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 dependency injection

giúp các lập trình viên tạo ra các ứng dụng dễ phát triển, dễ hiểu và dễ kiểm tra.

Tổng hợp các việc làm javascript tại vietnamworks

 

Các tính năng chính của AngularJS

Ưu điểm của AngularJS

  • Cung cấp khả năng tạo Single Page Application (ứng dụng đơn trang) một cách gọn gàng và dễ bảo trì.
  • Cung cấp khả năng data binding (liên kết dữ liệu) với HTML. Do đó, mang lại cho người dùng trải nghiệm phong phú và nhanh nhạy.
  • AngularJS code có thể kiểm tra đơn vị.
  • Sử dụng Injection Dependency.
  • AngularJS cung cấp các component có thể tái sử dụng.
  • Với AngularJS, các lập trình viên có thể tạo được nhiều chức năng hơn chỉ với code ngắn.
  • Không cần phải học một ngôn ngữ kịch bản khác. Nó chỉ là JavaScript và HTML thuần túy.

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 web và các thiết bị chạy Android và iOS.

Nhược điểm của AngularJS

Với rất nhiều những ưu điểm trên thì AngularJS cũng có một số những hạn chế nhất định.

  • Không bảo mật: Là một JavaScript framework, ứng dụng được viết bởi AngularJS không an toàn. Phải có các tính năng bảo mật và xác thực phía server sẽ giúp ứng dụng trở nên an toàn hơn.
  • Không ‘degradable’: Nếu người dùng vô hiệu hóa JavaScript thì họ sẽ không thể thấy gì ngoài trang cơ bản.

Các thành phần của AngularJS

Có 3 thành phần chính phải được kể tới đó là:

  • ng-app: Các ng-app chỉ thị AngularJS rằng đây là phần tử gốc của ứng dụng AngularJS. Tất cả các ứng dụng AngularJS phải có phần tử gốc. Bạn chỉ có thể có một ng-app chỉ thị trong tài liệu HTML của mình. Nếu có nhiều hơn một ng-app chỉ thị xuất hiện, liên kết đầu tiên sẽ được sử dụng.
  • ng-model: Chỉ thị ng-model liên kết giá trị của các điều khiển HTML (đầu vào, chọn, văn bản) với dữ liệu ứng dụng. Với ng-model, bạn có thể liên kết giá trị của trường đầu vào với biến được tạo trong AngularJS.
  • ng-bind: Các ng-bind AngularJS để thay thế nội dung của một phần tử HTML với giá trị của một biến, hoặc biểu hiện nhất định. Nếu giá trị của biến hoặc biểu thức thay đổi thì nội dung của phần tử HTML được chỉ định cũng sẽ được thay đổi.


Tổng hợp việc làm IT - Software trên VietnamWorks
VietnamWorks InTECH
Theo tutorialspoint