| Chủ đề phía trước :: Chủ đề kế tiếp |
| Tác giả |
Nội dung bài viết |
tôi_yêu_Liên_Xô Cá Vobla - Вобла сушеная


Tuổi: 40 Tham gia từ: 20 May 2005 Bài viết: 218 Đến từ: HoChiMinhGrad
|
Gửi: 05-Feb-2006 10:47 pm Tiêu đề: AJAX - Tương lai của ứng dụng Web (Post will be listed on portal) |
|
|
AJAX - Tương lai của ứng dụng Web
Bạn đang sử dụng Gmail ? hay Google Map ? Bạn yêu thích tính năng của Google Suggest ? hay ứng dụng web Ta-da List, Backpack, BaseCamp của 37Signals ? hay các tính năng tiện dụng của Flickr ?
Trên đây là một số các ứng dụng/dịch vụ web nổi lên trong thời gian gần đây như là những ứng dụng không chỉ giàu tính năng mà còn có tính chất "cách mạng" trong lịch sử phát triển của các ứng dụng web. Điểm chung của các dịch vụ web này là gì? Câu trả lời là những tính năng và cách thức nó tương tác với người dùng: rất tiện lợi và nhanh chóng đến nỗi bạn gần như tưởng mình đang sử dụng một phần mềm chứ không phải đang xem trang web.
Công nghệ đứng đằng sau các dịch vụ này là AJAX, viết tắt của Ansynchronous Javascript and XML ("ansynchronous" có nghĩa là "không đồng bộ" - lý do vì sao thì sẽ được tôi giải thích sau), hay Advanced Javascripting and XML. Cái tên Ajax được nhắc đến lần đầu tiên bởi Adaptive Path và nhanh chóng được chấp nhận rộng rãi trong cộng đồng những người phát triển ứng dụng web và giờ đây có lẽ là cái tên được nhắc đến nhiều nhất và được xem là một công nghệ hứa hẹn sẽ mở ra thời kỳ mới của các ứng dụng web (mặt khác, cũng có rất nhiều ý kiến trái ngược nhau về tên gọi này).
Vậy Ajax là gì? Vì sao nó làm được những điều mà các công nghệ trước đây không thực hiện được? Cơ chế hoạt động của nó? Nó có phức tạp không? Làm thế nào để ứng dụng nó cho các sản phẩm của bạn? Ajax có điểm yếu nào không? và khi nào nên sử dụng Ajax? Trong bài viết này, tôi sẽ tổng hợp những gì tôi tìm hiểu được về công nghệ này gồm cả những điểm mạnh và điểm yếu của nó, đồng thời tôi đã tạo ra một ứng dụng minh họa cho việc áp dụng công nghệ Ajax với đầy đủ mã nguồn và giải thích chi tiết từng bước để áp dụng công nghệ này. Tất cả đều nằm trong 2 file đính kèm cuối bài viết đấy, các bạn có thể download về để tham khảo và áp dụng. 
Chỉnh sửa lần cuối bởi tôi_yêu_Liên_Xô vào lúc 05-Feb-2006 11:19 pm, trong tổng số 2 lần chỉnh sửa |
|
| Trở về đầu trang |
|
 |
tôi_yêu_Liên_Xô Cá Vobla - Вобла сушеная


Tuổi: 40 Tham gia từ: 20 May 2005 Bài viết: 218 Đến từ: HoChiMinhGrad
|
Gửi: 05-Feb-2006 10:58 pm Tiêu đề: Re: AJAX - Tương lai của ứng dụng Web
|
|
|
TỪ NHỮNG GIỚI HẠN CỦA CÁC ỨNG DỤNG WEB HIỆN TẠI…
Trước khi tìm hiểu tại sao Ajax lại được xem là "cứu tinh" của các ứng dụng web, hãy thử phân tích những giới hạn của các ứng dụng web hiện tại khiến nó chưa thể thay thế cho các phần mềm máy khách truyền thống.
Chỉ cách đây vài năm, khi mà các dịch vụ web bùng nổ, người ta đã mơ tưởng đến một lúc nào đó tất cả các ứng dụng mà bạn sử dụng sẽ là các ứng dụng web thay vì các phần mềm chạy độc lập trên các máy tính đơn lẻ. Quả thật, với sự phát triển chóng mặt của mạng Internet cùng với những ưu điểm của các ứng dụng web (truy cập tại mọi nơi, không cần nâng cấp,…), tương lai của các phần mềm chắc chắn sẽ gắn chặt với các ứng dụng web, nếu không muốn nói là có thể sẽ bị thay thế. Tuy nhiên, cho đến giờ, giấc mơ đó vẫn chưa thành sự thật và người ta bắt đầu nghĩ rằng, có lẽ nó sẽ không bao giờ trở thành sự thật. Tại sao vậy?
Một trong những giới hạn quan trọng của các ứng dụng web hiện tại là cách thức nó tương tác với người dùng. Khác với các phần mềm chạy độc lập ở máy khách có những khả năng dường như vô tận trong cách thức tương tác với người dùng, các ứng dụng web bị giới hạn bởi chính nguyên lý hoạt động của nó: tất cả các giao dịch phải thực hiện thông qua phương thức giao dịch HTTP (HyperText Transport Protocol - Giao thức truyền tải qua các siêu liên kết). Để hiểu tại sao tính chất này lại trở thành một rào cản của các ứng dụng web, hãy phân tích cách thức hoạt động của các dịch vụ web hiện tại xử lý một tác vụ đơn giản như xóa email trong Yahoo! Mail :
Bạn đang ở trong hòm thư "Inbox" của Yahoo! Mail. Bạn chọn một số email và nhấn nút Delete để xóa chúng (chuyển vào thùng rác). Yahoo! Mail trước hết sẽ lấy danh sách các email bạn chọn (quá trình này chạy trên máy của bạn), sau đó gởi danh sách này cùng với mã lệnh qua một siêu liên kết đến máy chủ của Yahoo (nếu bạn muốn biết đó là địa chỉ nào, nó được xác định qua tham số "action" của thẻ <form></form>) yêu cầu máy chủ thực hiện tác vụ xóa đối với các email đó và gửi lại trang web Yahoo! mail với nội dung mới. Trong khoảng thời gian yêu cầu được gửi đi đến lúc bạn nhận được trang web mới, những gì bạn phải làm là … ngồi đợi nhìn màn hình trình duyệt trắng bốc (nếu bạn sử dụng ADSL thì thời gian này cũng không đến nỗi - khoảng từ 2 đến 3 giây, còn nếu bạn dùng dial-up thì… ). Và bạn cũng sẽ phải trải qua một quá trình tương tự đối với các tác vụ khác, thậm chí nếu bạn chỉ muốn chuyển từ thư mục "Inbox" (hòm thư đến) sang "Sent" (hòm thư đi).
Bạn sẽ không bao giờ phải trải qua việc chờ đợi trên khi sử dụng các phần mềm chạy trên máy tính đơn lẻ: bạn không bao giờ thấy phần mềm một khi đã được mở ra lại phải "biến mất" vài trong vài giây để cập nhật dù chỉ là một tác vụ đơn giản nhất, và ngay cả khi phần mềm cần thời gian xử lý một tác vụ nào đó thì bạn vẫn thấy nó ở đó, và nó báo cho bạn là nó đang xử lý tác vụ của bạn. Nếu xét về khía cạnh khả năng ứng dụng trong các tác vụ hàng ngày thì hạn chế trên của các ứng dụng web là không thể chấp nhận được.
Tất nhiên, bên cạnh rào cản về cách thức tương tác, các ứng dụng web còn vấp phải nhiều giới hạn khác (ví dụ như bản thân việc phải hoạt động dựa trên các trình duyệt đã là một rào cản quan trọng) nhưng một khi chưa giải quyết được vấn đề trên thì các ứng dụng web sẽ không bao giờ có thể thay thể cho các phần mềm độc lập.
… ĐẾN HIỆN TƯỢNG GMAIL
Nếu bạn đã từng sử dụng Gmail, bạn sẽ nhận thấy Gmail đem lại cho bạn cái cảm giác đang sử dụng một phần mềm hơn là một dịch vụ web: sử dụng bàn phím (không phải chuột) để chọn một hoặc nhiều email, nhấn nút "Archive" và ngay lập tức các email được bỏ vào hộp lưu trữ. Bạn gần như không phải đợi - trang Gmail vẫn ở đó. Và nếu có email mới, bạn sẽ được thông báo ngay mà không cần phải tải lại trang web.
Gmail ra đời và nhanh chóng trở thành một hiện tượng - không chỉ ở chỗ nó là dịch vụ webmail đầu tiên cho miễn phí 1GB dung lượng mà còn ở chỗ cách nó thay đổi quan niệm truyền thống về cách thức thực hiện tương tác với người dùng của các ứng dụng web. |
|
| Trở về đầu trang |
|
 |
tôi_yêu_Liên_Xô Cá Vobla - Вобла сушеная


Tuổi: 40 Tham gia từ: 20 May 2005 Bài viết: 218 Đến từ: HoChiMinhGrad
|
Gửi: 06-Feb-2006 9:09 am Tiêu đề: AJAX - Ansynchronous JAvascripting and XML (Post will be listed on portal) |
|
|
AJAX - Ansynchronous Javascripting and XML
Google Map, Google Suggest, Flickr, BackCamp, Ta-da List - đó là một số những ứng dụng ra đời sau thành công của Gmail - tất cả đều hoạt động dựa trên một công nghệ đóng vai trò cốt lõi thực hiện các tương tác trung gian giữa người dùng và máy chủ: AJAX.
Nói Ajax là một công nghệ không hẳn đã đúng mà thực ra nó là sự kết hợp của một loạt các công nghệ khác nhau:
XHTML+CSS với vai trò hiển thị thông tin
Mô hình tương tác và hiển thị động DOM (Document Object Model)
Trao đổi và truy cập/tác động lên thông tin sử dụng XML và XSLT
Nhận thông tin không đồng bộ với đối tượng XMLHttpRequest
Javascript với vai trò kết hợp 4 công nghệ trên lại với nhau.
Nếu nói Ajax là một công nghệ mới cũng không hẳn bởi thực ra, việc sử dụng XMLHttpRequest đã được thực hiện từ rất lâu, cũng như các công nghệ như DOM, XHTML, XML,… đều đã được biết đến và áp dụng từ rất lâu. Điểm khiến cho Ajax trở thành một hiện tượng chính là ở chỗ nó là một sự kết hợp hoàn hảo các công nghệ hoàn toàn khác nhau để giải quyết một vấn đề tưởng như không thể giải quyết - mà việc áp dụng lại rất đơn giản như bạn sẽ thấy ở phần sau (có thể so sánh nó như việc pha chế Cocktail - tìm được đúng một loại tổ hợp của các loại rựu để tạo ra một hương vị và cảm giác hoàn toàn khác).
AJAX - SỰ KHÁC BIỆT
Có lẽ bạn đang thắc mắc làm thế nào Ajax lại có thể giải quyết được vấn đề tương tác người dùng của các ứng dụng web. Thử lật lại vấn đề: bạn cần phải có một cách nào đó để quá trình tương tác với người dùng không bị ngắt quãng khi ứng dụng cần tương tác với máy chủ. Bạn có bao giờ nghĩ là sẽ thật tốt nếu như có một "lớp" trung gian đứng đằng sau giao diện của ứng dụng web đảm nhận việc trao đổi thông tin với máy chủ và sau đó gửi trả kết quả ra giao diện? Cũng giống như nếu bạn làm giám đốc thì bạn sẽ có các nhân viên cấp dưới đảm nhận việc lấy thông tin chi tiết về thị trường báo lên cho bạn, bạn chỉ cần ngồi một chỗ, đưa ra quyết định dựa trên thông tin nhận được và thực hiện các giao dịch với các đối tác.
Đó chính là cơ chế hoạt động của Ajax: nó đóng vai trò như là một lớp trung gian giữa giao diện bạn thấy trên trình duyệt và máy chủ xử lý thông tin. Có thể mô tả cách thức hoạt động của Ajax như sau:
Ajax thực hiện tương tác với máy chủ bằng cách sử dụng đối tượng XMLHttpRequest, nhận kết quả về dưới dạng XML và phân tích kết quả bằng công nghệ DOM.
Tương tác giữa Ajax và giao diện người dùng được thực hiện thông qua các mã Javascript và XHTML + CSS.
Hai mô hình dưới đây minh họa 2 cơ chế làm việc hoàn toàn khác nhau: một bên là cơ chế của các ứng dụng web truyền thống và một bên là ứng dụng web có sử dụng công nghệ Ajax.
Một trong những điểm mấu chốt của công nghệ Ajax là bạn không tương tác trực tiếp với máy chủ như cách truyền thống mà là qua một lớp trung gian của Ajax. Có thể bạn sẽ hỏi phải chăng như vậy thì sẽ làm cho cơ chế hoạt động phải qua thêm một bước trung gian và sẽ làm chậm hơn nữa quá trình tương tác? Thắc mắc trên là hoàn toàn có lý, tuy nhiên, thực tế lại ngược lại: sử dụng Gmail bạn có cảm giác mọi thứ nhanh hơn. Lý do là:
1) Không phải lúc nào bạn cũng cần phải tương tác với máy chủ. Như trong trường hợp của Gmail, một khi giao diện của Gmail đã được tải về xong (để ý khoảng thời gian ngắn từ khi bạn đăng nhập cho đến khi giao diện của Gmail xuất hiện) thì những tác vụ như chuyển từ thư mục này sang xem thư mục khác không nhất thiết phải hỏi lại máy chủ (tất nhiên với điều kiện dữ liệu đã có sẵn)
2) Bằng cách chỉ nhận những thông tin cần thiết (ở dạng XML), dung lượng truyền tải giữa máy tính của bạn và máy chủ sẽ giảm đi rất nhiều. Sau khi bạn giao diện đã được tải về 1 lần, Ajax sẽ không cần phải tải lại toàn bộ giao diện đó mỗi khi tương tác với máy chủ. Thay vào đó, Ajax sẽ gởi yêu cầu đến máy chủ và nhận kết quả từ máy chủ về những gì đã thay đổi sau khi máy chủ thực hiện yêu cầu đó. Ajax sau đó sẽ thông báo cho phần giao diện (thông qua các lời gọi Javascript) thực hiện các thay đổi tương ứng trên giao diện.
3) Tương tác giữa phần giao diện và Ajax là tương tác nội bộ bên trong trình duyệt, giúp cho các thay đổi sẽ được thể hiện gần như tức thì.
Mô hình sau thể hiện những gì diễn ra giữa Giao diện ứng dụng web - Ajax - và máy chủ:
Để ý là chu kỳ tương tác giữa bạn và Ajax mang tính chất ngẫu nhiên và rất thường xuyên, trong khi đó các tương tác giữa Ajax và máy chủ xảy ra với một chu kỳ dài hơn nhiều. |
|
| Trở về đầu trang |
|
 |
embéLiênXô Trứng cá hồi - Икра лососёвая

Tuổi: 42 Tham gia từ: 17 Jun 2005 Bài viết: 769 Đến từ: Nhà xây bằng gió lợp bằng mây
|
Gửi: 06-Feb-2006 9:25 am Tiêu đề: Re: AJAX - Tương lai của ứng dụng Web
|
|
|
tài liệu thuộc loại quá chuyên ngành ...  _________________
| Ernesto Che Guevara viết: |
| Hạnh phúc không phải là cảm giác tới đích mà là trên từng chặng đường đi. |
|
|
| Trở về đầu trang |
|
 |
phuongnn Trứng cá hồi - Икра лососёвая


Tham gia từ: 02 May 2005 Bài viết: 1349 Đến từ: Hà Nội
|
Gửi: 06-Feb-2006 10:21 am Tiêu đề: Re: AJAX - Tương lai của ứng dụng Web
|
|
|
Nói chung là mình cũng có thể hiểu được nhưng đọc thì hơi ngại. Có cách nào đọc ngăn ngắn đỡ ngại hơn không bạn? thnx _________________ Trong mỗi người đều có một mặt trời... |
|
| Trở về đầu trang |
|
 |
tôi_yêu_Liên_Xô Cá Vobla - Вобла сушеная


Tuổi: 40 Tham gia từ: 20 May 2005 Bài viết: 218 Đến từ: HoChiMinhGrad
|
Gửi: 06-Feb-2006 7:28 pm Tiêu đề: AJAX VÀ CÁC ỨNG DỤNG CỦA NÓ (Post will be listed on portal) |
|
|
AJAX VÀ CÁC ỨNG DỤNG CỦA NÓ
Có thể nói, kể từ khi cái tên "Ajax" ra đời đến nay, tiềm năng của nó vẫn chưa được đánh giá hết và các nhà phát triển web vẫn còn đang mày mò nghiên cứu tìm ra những ứng dụng của công nghệ này. Đến thời điểm hiện tại, đã có rất nhiều những ví dụ thể hiện khả năng đặc biệt của công nghệ này như các ứng dụng liệt kê ở đầu bài viết mà nổi bật nhất có thể kể đến Gmail và Google Map. Thử duyệt Google Map và chắc chắn bạn sẽ không khỏi bất ngờ trước những gì mà Ajax có thể làm được: thử phóng to, thu nhỏ, di chuyển quanh bản đồ trong Google Map - bạn gần như không phải đợi chút xíu nào; hình ảnh cứ xuất hiện thành một chuỗi liên tục như bạn đang xem bản đồ trên phần mềm ở máy mình vậy.
Tất nhiên, những ứng dụng như Gmail và Google Maps là những ví dụ vô cùng phức tạp của những ứng dụng của công nghệ Ajax. Tuy nhiên, Ajax không chỉ thể hiện ưu điểm của nó đối với các ứng dụng lớn như vậy. Bạn hoàn toàn có thể sử dụng Ajax cho những ứng dụng nhỏ hơn, thậm chí chỉ cho một số thành phần trong ứng dụng web của bạn để làm tăng khả năng tương tác với người dùng.
Có lẽ một trong những ứng dụng "nhỏ mà nổi tiếng" nhất của Ajax là tính năng Live Search, bắt chước công nghệ Spotlight Apple mới giới thiệu trong phiên bản Mac OSX 10.4 Tiger. Gõ một ký tự vào ô tìm kiếm và một danh sách các kết quả xuất hiện ngay lập tức bên dưới, gõ thêm một ký tự nữa và danh sách đó tự động rút ngắn lại,… Bạn có thể tìm hiểu thêm về Live Search và cách tích hợp nó vào website của mình tại đây (tuy nhiên, việc có nên áp dụng hay không lại là chuyện khác, sẽ được phân tích ở phần sau).
Một số ứng dụng khác có sử dụng AJAX cũng khá phổ biến như:
1) Tính năng "Auto save" (lưu tự động): Sử dụng Ajax, bạn có thể bắt chước tính năng của các phần mềm soạn thảo tự động lưu những gì người dùng đã gõ được sau một khoản thời gian nhất định (sẽ thật tuyệt nếu như các ứng dụng webmail có tính năng này. Nếu bạn sử dụng Gmail, bạn có thể sử dụng tính năng này bằng cách tải về các ứng dụng bổ sung)
2) Kiểm tra trùng lặp: bạn tạo ra một mẫu đơn đăng ký với yêu cầu là tên đăng nhập phải không bị trùng lặp với bất kỳ ai trong cơ sở dữ liệu. Thông thường, bạn sẽ bắt người dùng nhập hết thông tin và gửi đơn đăng ký lên máy chủ và rồi mới kiểm tra. Tại sao không kiểm tra ngay sau khi người dùng vừa mới chọn xong tên? 2 file đính kèm ở trên chính là ví dụ mà tôi đã viết ra để minh họa cho bài viết này (các bạn có thể xem phần sau).
3) Dịch trực tuyến: bạn có thể sử dụng Ajax để tạo ra tính năng cho phép người dùng chỉ cần chọn một từ trên trang web của bạn và hiển thị từ tương ứng của các ngôn ngữ khác (sử dụng các dịch vụ của các trang từ điển)
4) Các trang bán hàng trực tuyến: cập nhật theo thời gian thực danh sách những gì người mua chọn và giá cả mà không cần phải tải lại trang web (ví dụ người dùng nhấn chọn thêm một mặt hàng, ngay lập tức nó xuất hiện trong danh sách bên cạnh và tổng giá tiền cũng sẽ được cập nhật tương ứng)
5) Hệ thống đánh giá ở các trang web nhạc số: Người dùng nhấn một nút đánh giá và ngay lập tức nó sẽ được cập nhật vào hệ thống
… và còn rất nhiều những ứng dụng khác mà bạn sẽ phát hiện ra thêm khi phát triển các ứng dụng của riêng mình.
--------------------------------
CÓ NÊN SỬ DỤNG AJAX?
Không phải vì công nghệ này có quá nhiều điểm mạnh mà bạn nên áp dụng nó trong tất cả cá thành phần của trang web của mình. Công nghệ AJAX mặc dù giải quyết được nhiều vấn đề nhưng lại tạo ra nhiều vấn đề khác, tập trung chủ yếu về khả năng tiếp cận của người dùng:
1) Bạn không thể lưu lại địa chỉ trang web (bookmark) chứa nội dung nào đó được tải bằng công nghệ Ajax. Bản chất sử dụng một lớp trung gian để giao dịch khiến cho các ứng dụng web không có một địa chỉ nhất định cho từng nội dung (đây cũng là vấn đề bạn gặp khi sử dụng Frame trong thiết kế web). Một ví dụ rõ ràng nhất là bạn không thể nhấn nút "BACK" của trình duyệt để quay lại nội dung trước đó trong Gmail.
2) Tạo bối rối cho người dùng nếu bạn áp dụng công nghệ Ajax mà không suy nghĩ kỹ. Người dùng thường đã quen với việc nhấn nút để thực hiện một tác vụ nào đó - trong khi Ajax cho phép bạn thực hiện thay đổi ngay lập tức. Đây là một điểm yếu khá nghiêm trọng: Bản chất của Ajax là không dung thứ ("forgiveless"). Chính vì bạn có thể thực hiện các thay đổi ngay lập tức, đôi khi người dùng chỉ vô tình cũng đã thay đổi dữ liệu trong cơ sở dữ liệu của bạn . Cách an toàn nhất là chỉ sử dụng Ajax để thực hiện các tác vụ kiểm tra mà không tác động trực tiếp đến dữ liệu, hoặc là bạn phải chắc chắn rằng mình cung cấp một cơ chế để khôi phục các lỗi vô tình, hoặc là bạn tạo ra một cơ chế để xác nhận mỗi khi hành động của người dùng có khả năng tạo ra những thay đổi dữ liệu.
3) Tương thích: Ajax chỉ hoạt động nếu trình duyệt hỗ trợ đối tượng XMLHttpRequest. Đây là vấn đề mà Gmail gặp phải đối với trình duyệt Opera trước khi Opera 8 ra đời. Tuy nhiên, đến thời điểm hiện tại thì các trình duyệt phổ biến nhất đều hỗ trợ XMLHttpRequest (Firefox, Internet Explorer, Opera 8, Sarafi). Cho dù vậy, hãy luôn xây dựng một cơ chế dự phòng trường hợp trình duyệt không hỗ trợ (ví dụ nếu người dùng sử dụng máy Palm ,…)
4) Tương tác người dùng: Buồn cười là mặc dù Ajax giải quyết được một vấn đề then chốt về tương tác người dùng của các ứng dụng web, nhưng nó lại tạo ra một số vấn để nhỏ khác. Chính vì Ajax thực hiện tác vụ quá nhanh nên đôi khi người dùng không tin là nó đã được thực hiện! Tất nhiên đây đơn thuần là vấn đề về thói quen , tuy nhiên để đảm bảo khả năng tương tác ở mức tốt nhất, bạn nên có một cơ chế giúp xác nhận những gì đang diễn ra ở bên trong. Bạn có thể lấy ví dụ minh họa của tôi (xem phần sau) để tham khảo, hoặc xem một ví dụ khác. |
|
| Trở về đầu trang |
|
 |
tôi_yêu_Liên_Xô Cá Vobla - Вобла сушеная


Tuổi: 40 Tham gia từ: 20 May 2005 Bài viết: 218 Đến từ: HoChiMinhGrad
|
Gửi: 06-Feb-2006 9:42 pm Tiêu đề: VÍ DỤ MINH HỌA CÁCH ÁP DỤNG CÔNG NGHỆ AJAX (Post will be listed on portal) |
|
|
VÍ DỤ MINH HỌA CÁCH ÁP DỤNG CÔNG NGHỆ AJAX
Đừng để danh sách những công nghệ làm nên AJAX "hù dọa" bạn. Thực ra việc tìm hiểu nghiên cứu và áp dụng công nghệ này rất đơn giản và thậm chí bạn không cần phải hiểu rõ cách sử dụng những công nghệ thành phần (ví dụ như DOM - tất nhiên nếu bạn biết về DOM thì sẽ rất tuyệt, nhưng nếu bạn không biết về nó thì cũng không sao). Bản thân tôi chỉ mất vài ngày để mày mò nghiên cứu bản chất và áp dụng công nghệ này thực hiện một ví dụ minh họa cho bài viết.
Trong ví dụ minh hoạ, tôi tạo 1 form đăng ký , yêu cầu người dùng chọn 1 tên đăng nhập (username ) và cung cấp 1 địa chỉ email không được trùng với bất kỳ ai có sẵn trong cơ sở dữ liệu đã có. Bằng cách sử dụng Ajax, tôi có thể kiểm tra so sánh với danh sách username trong cơ sở dữ liệu ngay sau khi người dùng vừa mới nhập tên xong và báo lỗi ngay nếu nó bị trùng (không cần đợi người dùng phải submit form). Tương tự đối với địa chỉ email, tôi chỉ cần thêm phần kiểm tra định dạng địa chỉ email.
Sau khi đã gõ username và email hợp lệ, người dùng có thể nhấn nút tạo tài khoản - và lần này tôi cũng sử dụng luôn Ajax để thực hiện việc này (minh họa khả năng thay đổi trực tiếp vào cơ sở dữ liệu). Để ý là bạn hoàn toàn không phải rời khỏi trang đăng ký trong bất kỳ giai đoạn nào. Tất cả xảy ra liên tục và nhanh chóng.
Các bạn nên để ý chi tiết sau: mặc dù đây chỉ là một ví dụ minh họa công nghệ Ajax, nhưng tôi cũng muốn minh họa tầm quan trọng của cách thức bạn tương tác với người dùng. Khi bạn đưa chuột vào 1 textbox nào đó (textbox đó sẽ sáng lên cho biết những gì bạn sẽ phải gõ vào textbox đó), khi có thông báo lỗi (textbox bị lỗi sẽ chuyển sang màu đỏ và bạn tự động được chuyển ngược về textbox đó để sửa) hay khi dữ liệu của bạn là hợp lệ (textbox chuyển sang màu xanh).
Còn 1 điều nữa, tôi đã thiết kế để khi việc nhập dữ liệu vào các textbox chưa hoàn tất, chưa hợp lệ thì bạn sẽ không thể Submit form được(nút để submit form bị vô hiệu hóa). Tuy đây chỉ là ứng dụng rất nhỏ nhưng nó sẽ giúp bạn dễ hiểu và ứng dụng AJAX dễ hơn rất nhiều.
Các bạn có thể download ví dụ mẫu và phần hướng dẫn ở bài viết đầu tiên trong chủ đề này .  |
|
| Trở về đầu trang |
|
 |
tôi_yêu_Liên_Xô Cá Vobla - Вобла сушеная


Tuổi: 40 Tham gia từ: 20 May 2005 Bài viết: 218 Đến từ: HoChiMinhGrad
|
Gửi: 06-Feb-2006 9:53 pm Tiêu đề: Re: AJAX - Tương lai của ứng dụng Web (Post will be listed on portal) |
|
|
KẾT LUẬN
Tuy chỉ mới xuất hiện trong một thời gian ngắn nhưng công nghệ Ajax đã tỏ ra rất hứa hẹn, thậm chí đến nay người ta vẫn chưa khám phá ra hết những gì công nghệ này có thể làm được.
Và đây chính là cơ hội để bạn tạo ra dấu ấn của riêng mình: công nghệ Ajax còn rất nhiều điều chưa được khám phá và bạn đang có cùng điểm xuất phát như nhiều người khác.
Thậm chí cho dù bạn không có tham vọng được nổi tiếng qua các phát minh thì công nghệ Ajax vẫn đáng để bạn bỏ thời gian ra nghiên cứu bởi nó sẽ giúp ích rất nhiều cho những ứng dụng sau này của bạn.
Đây là những địa chỉ để bạn có thể nghiên cứu thêm về công nghệ AJAX :
Ajax: A New Approach to Web Applications
XMLHttpRequest Usability Guidelines
http://www.ajaxmatters.com/
http://en.wikipedia.org/wiki/AJAX
Từ điển AJAX trực tuyến
|
|
| Trở về đầu trang |
|
 |
tanlangtu Bánh blin nóng - Горячий блин

Tham gia từ: 26 Jun 2005 Bài viết: 21
|
Gửi: 12-Mar-2006 4:59 pm Tiêu đề: Re: AJAX - Tương lai của ứng dụng Web
|
|
|
Khái niệm Web 2.0 :
Khái niệm Web 2.0 đầu tiên được Dale Dougherty, phó chủ tịch của OReilly Media, đưa ra tại hội thảo Web 2.0 lần thứ nhất do OReilly Media và MediaLive International tổ chức vào tháng 10/2004. Dougherty không đưa ra định nghĩa mà chỉ dùng các ví dụ so sánh phân biệt Web 1.0 và Web 2.0: "DoubleClick là Web 1.0; Google AdSense là Web 2.0. Ofoto là Web 1.0; Flickr là Web 2.0. Britannica Online là Web 1.0; Wikipedia là Web 2.0. v.v...". Sau đó Tim OReilly, chủ tịch kiêm giám đốc điều hành OReilly Media, đã đúc kết lại 7 đặc tính của Web 2.0:
1. Web có vai trò nền tảng, có thể chạy mọi ứng dụng
2. Tập hợp trí tuệ cộng đồng
3. Dữ liệu có vai trò then chốt
5. Phần mềm được cung cấp ở dạng dịch vụ web và được cập nhật không ngừng
4. Phát triển ứng dụng dễ dàng và nhanh chóng
6. Phần mềm có thể chạy trên nhiều thiết bị
7. Giao diện ứng dụng phong phú
Vậy về cơ bản, Web 2.0 nghĩa là gì ?
Mục tiêu đầu tiên của những người tiên phong xây dựng Internet là nhằm kết nối các nhà nghiên cứu và các máy tính của họ với nhau để có thể chia sẻ thông tin hiệu quả. Khi bổ sung World Wide Web (năm 1990), Tim Berners-Lee cũng nhằm mục tiêu tạo phương tiện cho phép người dùng tự do đưa thông tin lên Internet và dễ dàng chia sẻ với mọi người (trình duyệt web đầu tiên do Berners-Lee viết bao gồm cả công cụ soạn thảo trang web). Tuy nhiên, sau đó web đã phát triển theo hướng hơi khác mục tiêu ban đầu.
Đa số các website theo hướng thương mại hóa, người dùng muốn có thông tin phải trả tiền cho người cung cấp. Như vậy về phương diện nào đó, người dùng đã bị giới hạn “quyền” của mình.
Chỉ đến gần đây, với sự xuất hiện của nhiều kỹ thuật mới như blog (hay weblog), wiki... web mới trở nên có tính cộng đồng (và cộng tác) hơn và trở nên gần gũi hơn. Từ đó, thuật ngữ web 2.0 ra đời.
Điểm khác biệt lớn nhất của Web 2.0 so với web 1.0 chính là tính cộng đồng của nó. Việc chuyển từ "duyệt và xem" sang "tham gia" là cuộc cách mạng thực sự.
Về cơ bản, Web 2.0 trao quyền nhiều hơn cho người dùng và tạo nên môi trường liên kết chặt chẽ các cá nhân với nhau.
Một ví dụ về Web 2.0 – Wikipedia
Bách khoa tòan thư mở Wikipedia (http://www.wikipedia.org) là một ví dụ rõ ràng cho thấy cộng đồng người dùng có thể đóng góp thông tin giá trị khi họ có phương tiện thích hợp. Với hơn 3 triệu bài viết ở hơn 100 thứ tiếng, trong đó 1 triệu bài của phiên bản tiếng Anh, người dùng có thể tra cứu những gì mình cần dễ dàng và nhanh chóng. Đặc biệt họ có thể tự ý sửa đổi, cập nhật (tất nhiên có sự kiểm duyệt) thông tin cho chính xác nhất. Tuy có nhiều học giả không đánh giá cao Wikipedia, nhưng điều quan trọng là: nó đủ tốt, miễn phí và nhiều người có thể đọc.
Một ví dụ khác là Google Adsense. Google tạo ra một dịch vụ cho người dùng qua việc đăng quảng cáo của google lên các website của họ. Mỗi cái click chuột vào link của google sẽ giúp chủ website kiếm thêm một khỏan tiền.
Các bạn xem thêm về Web 2.0 tại :
www.web2con.com
[url]www.oreillynet.com/pub/a/oreilly/ tim/news/2005/09/30/what-is-web-20.html[/url] |
|
| Trở về đầu trang |
|
 |
|
|
Bạn không thể gửi chủ đề mới Bạn không thể trả lời các chủ đề Bạn không thể sửa đổi bài viết của mình Bạn không thể xoá bài viết của mình Bạn không thể tham gia các bình chọn You cannot attach files in this forum You cannot download files in this forum
|
|