AngularJS là một open source – mã nguồn mở hay framworks miễn phí dành cho thiết kế web. Được phát triển từ năm 2009, thời điểm hiện tại được duy trì bởi google và đã ra mắt phiên bản 2.0. Là một trong những frameworks front end mạnh mẽ nhất thường được dùng bởi các lập trình viên cắt HTML cao cấp. Hãy cùng freelancervietnam khám phá về “angularjs là gì” qua bài viết sau đây
Định nghĩa chính thức được đưa ra như sau :
AngularJS là một framework có cấu trúc cho các ứng dụng web động. Nó cho phép bạn sử dụng HTML cho phép bạn mở rộng cú pháp của HTML để diễn đạt các thành phần ứng dụng của bạn một cách rõ ràng và súc tích. Hai tính năng cốt lõi: Data binding và Dependency injection của AngularJS loại bỏ phần lớn code mà bạn thường phải viết.
Để bắt đầu tìm hiểu về AngularJS bạn phải là một front end developer với các kiến thức cơ bản về javascript
, object
, string
…. đặc biệt quan trọng là bạn phải có hiểu biết chuyên sâu về javascript
. Bản chất của AngularJS là hoạt động dạng Single Page, sử dụng API để lấy data, cho nên bạn cần biết các kĩ thuật DHTML, AJAX.
Đặc trưng của AngularJS
- Phát triển dự trên
Javascript
- Tạo các ứng dụng client-side theo mô hình MVC.
- Khả năng tương thích cao, tự động xử lý mã
javascript
để phù hợp vứi mỗi trình duyệt. - Mã nguồn mở, miễn phí hoàn toàn và được sủ dụng rộng rãi.
Các tính năng cơ bản
Scope
: là đối tượng có nhiệm vụ giao tiếp giữa controller và view của ứng dụng.Controller
: xử lí dữ liệu cho đối tượng$scope
, từ đây bên views sẽ sử dụng các dữ liệu trong scope để hiển thị ra tương ứng.Data-binding
: tự động đồng bộ dữ liệu giữa model và viewService
: là singleton object được khởi tạo 1 lần duy nhất cho mỗi ứng dụng, cung cấp các phương thức lưu trữ dữ liệu có sãn. ($http
,$httpBackend
,$sce
,$controller
,$document
,$compile
,$parse
,$rootElement
,$rootScope
…..)Filter
: Lọc các tập con từ tập item trong các mảng và trả về các mảng mới.Directive
: dùng để tạo các thẻ HTML riêng phục vụ những mục đích riêng. AngularJS có những directive có sẵn nhưngBind
,ngModel
…Temple
: một thành phần của view, hiển thị thông tin từ controllerRouting
: chuyển đổi giữa các action trong controller, qua lại giữa các view.MVC & MVVM
: mô hình thiết kế để phân chia các ứng dụng thành nhiều phần khác nhau (gọi là Model, View và Controller) mỗi phần có một nhiệm vụ nhất định. AngularJS không triển khai MVC theo cách truyền thống, mà gắn liền hơn với Model-View-ViewModel.Deep link
: Liên kết sâu, cho phép bạn mã hóa trạng thái của ứng dụng trong các URL để nó có thể bookmark với công cụ tìm kiếm. Các ứng dụng có thể được phục hồi lại từ các địa chỉ URL với cùng một trạng thái.- Dependency Injection: AngularJS có 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à kiểm tra.
Các components chính
ng-app
: định nghĩa và liên kết một ứng dụng AngularJS tới HTML.ng-model
: gắn kết giá trị của dữ liệu ứng dụng AngularJS đến các điều khiển đầu vào HTML.ng-bind
: gắn kết dữ liệu ứng dụng AngularJS đến các thẻ HTML.
Ưu điểm của angularJS
- Giải pháp cho các Single Page Aplication dễ dàng.
- Code Front end rất thân thiện nhờ khả năng Binding data lên nền tảng HTML, thao tác rất thích.
- Dễ dàng Unit test
- Dễ dàng tái sử dụng component
- Giúp lập trình viên viết code ít hơn với nhiều chức năng hơn.
- Chạy được trên các loại trình duyệt, trên cả PC lẫn mobile.
Nhược điểm
- Không an toàn : bản chất của AngularJS là Front End, mà front end thì vốn không được bảo mật bằng Back End. Cho nên khi sử dụng API bạn nên xây dựng một hệ thống kiểm tra dữ liệu trả về tốt nhất.
- Một số trình duyệt có tính năng Disable Javascript nghĩa là website của bạn sẽ hoàn toàn không sử dụng được trên các trình duyệt đó.
Có thể bạn quan tâm: