Tìm hiểu và hướng dẫn làm angularJS
Bài đăng này đã không được cập nhật trong 3 năm
AngularJS là gì?
- Angular là một bộ thư viện javascript rất mạnh và thường được sử dụng để xây dựng project Single Page Application (SPA).
- Nó hoạt động dựa trên các thuộc tính mở rộng HTML (các atributes theo quy tắc của Angular).
- Đây là một bộ mã nguồn mở hoàn toàn miễn phí và được hàng ngàn các lập trình viên trên thế giới ưa chuộng và sử dụng.
- Thư viện này được thế hệ Web 2.0 phát triển khá mạnh ở nước ngoài, tuy nhiên ở Việt Nam thì vẫn chưa thông dụng lắm.
Những ai cần nắm bắt AngularJS
- Về thành phần đối tượng học serie AngularJS căn bản đến nâng cao này là những bạn muốn đi theo nghề lập trình web nói chung và những bạn muốn sử dụng AngularJS để làm dự án nói riêng.
- Mình cam đoan rằng sau khi serie này hoàn thành bạn có thể tự mình làm ứng dụng Angular căn bản, hay thầm chí là ứng dụng Angular nâng cao nếu như bạn có tâm huyết tìm hiểu đến cùng.
- Hy vọng rằng sau loạt serie này bạn sẽ tự mình nghiên cứu thêm nhé, vì bản chất học lập trình không thể nào trình bày full được mà chỉ ở mức basic, chỉ đường cho bạn đi thôi.
Bạn cần chuẩn bị những kiến thức gì để học AngularJS
- Để học được Angular thì bạn phải có kiến thức cơ bản về javascript, biết cách xử lý object, string, …
- Hay thậm chí nếu như bạn biết chuyên sâu Javascript thì đó là một lợi thế rất nhiều.
- Vì bản chất Angular hoạt động dạng Single Page, sử dụng dạng API để lấy dữ liệu, vì vậy bạn phải biết các kỹ thuật xử lý DHTML, Ajax.
- Nếu như bạn chưa biết các công nghệ kỹ thuật đó thì hãy dừng serie này tại đây nhé, vì serie này bạn chưa đủ trình độ để tìm hiểu nó.
Các đặc tính của AngularJS
- AngularJS là một Framwork phát triển dựa trên Javascript để tạo các ứng dụng web phong phú
- AngularJS thường dùng để phát triển frontend (giao diện khách hàng) thông qua các API để gọi data, sử dụng mô hình MVC rất mạnh mẽ
- Mã nguồn AngularJS tự động fix với các trình duyệt khác nhau nên bạn không cần phải lo vấn đề tương thích trình duyệt
- Angular là mã nguồn mở, hoàn toàn miễn phí và được phát triển bởi hàng ngàn các lập trình viên trên thế giới.
- Chung quy lại có thể hiểu khi làm việc với AngularJS giống như là đang làm việc với Ajax, sử dụng cớ chế bind data, hoạt động theo mô hình MVC và sử dụng service để tương tác với dữ liệu từ server. Để rõ hơn thì chúng ta tìm hiểu các tính năng cố lõi của nó nhé.
Các tính năng code lõi của AngularJS
-
Sau đây là các tính năng cố lõi quan trọng trong AngularJS
- Data-binding: (liên kết dữ liệu) tự động đồng bộ dữ liệu giữa model và view
- Scope: (Phạm vi) Đây là những đối tượng kết nối giữa Controller và View
- Controller: Đây là những hàm javascript xử lý kết hợp với bộ điều khiển Scope
- Service: Như tôi đề cập ở trên, AngularJS sử dụng các API được xây dựng từ các web service (PHP, ASP) để thao tác với DB.
- Filters: Bộ lọc lọc ra các thành phẩn của một mảng và trả về mảng mới
- Directives: đánh dấu vào các yếu tố của DOM, nghĩa là sẽ tạo ra các thẻ HTML tùy chỉnh
- Templates: hiển thị thông tin từ controller, đây là một thành phần của views
- Routing: chuyển đổi giữa các action trong controller
- MVC: Mô hình chia thành phần riêng biệt thành Model, View, Controller. Đây là một mô hình khá hay nhưng trong Angular thì nó được chế biến lại một chút gần giốn với MVVM (Model View View Model)
- Deep Linking: 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ể đánh dấu được với công cụ tìm kiếm.
- Dependency Injection: Angular giúp các nhà phát triển tạo ứng dụng dễ dàng hơn để phát triển, hiểu và thử nghiệm dễ dàng.
-
Sau đây là hình ảnh mô hình cac thành phần quan trọng trong AngularJS:
Ưu điểm và nhược điểm của AngularJS
-
Ưu điểm:
- Angular cho phép tạo ra các ứng dụng một cách đơn giản, code sạch
- Angular sử dụng data bind giống .NET với tính năng liên kết với HTML nên giúp người dùng cảm thấy dễ chịu.
- Angular đang ở giai đoạn thử nghiệm
- Angular có thể chạy trên hầu hết các trình duyệt điện thoại thông minh.
-
Nhược điểm:
- Không an toàn: Được phát triển từ javascript nên nó không an toàn, phía máy chủ phải thường xuyên xác nhận quyền để hệ thống chạy trơn tru.
- Phụ thuộc: Nếu người dùng vô hiệu hóa javascript thì coi như đi tong con long bong.
Các Components chính trong AngularJS
- Angular JS được chia làm ba thành phần chính sau đây:
- ng-app: định nghĩa này chỉ thị một kết nối ứng dụng Angular JS tới HTML
- ng-model: chỉ thị này liên kết với dữ liệu của ứng dụng Angular
- ng-bind: chỉ thị này dùng đưa dữ liệu vào HTML tags
- ....
Hướng dẫn làm quen với AngularJS
- Để làm quen với AngularJS bạn cần download thư viện của nó về. Bạn có thể download tại đây
- Bây giờ chúng ta viết 1 ứng dụng cơ bản về AngularJS
- Đầu tiên chúng ta tạo 1 cấu trúc folder như sau
Helloworld
js
angular.min.js
index.html
- Tiếp đó bạn mở file **index.html** và viết code sau:
<html>
<head>
<title>Helloworld with AngularJS</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script language="javascript" src="angular.min.js"></script>
</head>
<body ng-app="">
<div ng-controller="HelloWorldController" class="ng-scope">
<p>
Fullname : <input type="text" ng-model="name">
</p>
<p class="ng-binding">
Hello {{name}} !
</p>
</div>
<script>
function HelloWorldController($scope) {
$scope.name = "World";
}
</script>
</body>
</html>
- Tôi sẽ giải thích đoạn mã sau :
- Khai báo **ng-app** ở tag **body**, điều này có nghĩa là cho ta biết vùng làm việc tại HTML này là do Angular quản lý và xử lý.
- Khai báo sử dụng 1 **ng-controller** điều khiển dữ liệu, cụ thể ở đây là **HelloWorldController**
- Khai báo một **ng-model** cho phép người dùng thay đổi dữ liệu trong view.
- Hiển thị giá trị hiện tại của model, chúng ta đã khai báo trong HelloWorld controller 1 model là **{{name}}**
- Khởi tạo function HelloWorldController trong **javascript**, xử lý các thông điệp lời chào
- Như vậy bạn đã tạo được 1 ứng dụng cơ bản nhất về AngularJS.
- Kết thúc bài này chúng ta thấy code rất ngắn gọn dễ hiểu. Nó giúp chung ta tiết kiệm thời gian code rất nhiều. Không phải vì vậy mà nó là cái tốt nhất dành cho bạn. Bất cứ ngôn ngữ nào cũng có ưu điểm hoặc khuyết điểm riêng, quan trọng là bạn sử dụng tính năng của nó áp dụng vào dự án thực tiễn thế nào. Hy vọng AngularJS sẽ là một trong những framework mà người lập trình sẽ chọn lựa cho các ứng dụng web.
Nguồn tham khảo : http://freetuts.net/tong-quan-ve-angularjs-200.html
All rights reserved