Phát triển một ứng dụng web là một điều thú vị. Cũng giống như việc phát triển một web site. Một ứng dụng web là sự kết hợp giữa những nhà thiết kế [designer] và nhà phát triển [developer] để giải quyết những nhu cầu mà khách hàng của họ mong muốn. Điều này cũng lý giải tại sao blogger.com và wordpress.org ra đời và bạn cũng nghĩ thử xem: Điều gì sẽ xảy ra nếu bạn muốn phát triển một blog mà không có blogger hoặc wordpress...

Nhưng hầu hết các ứng dụng web đều chậm và tẻ nhạt. Những sự kiện nhanh nhất trên các ứng dụng web thường đủ thời gian để khách hàng của họ uống một ly cafe, làm một việc khác hoặc tệ hại hơn cả là nhấn vào nút close[x] để kết thúc việc chờ đợi. Nó là nỗi khiếp sợ từ những đồng hồ cát...:) Bạn click lên một liên kết và một chiếc đồng hồ cát xinh xắn xuất hiện - cũng tại thời điểm đồng hồ cát xuất hiện, một yêu cầu được gởi đến máy chủ chứa dữ liệu và máy chủ dữ liệu lại phải suy nghĩ thêm là nên gởi cho bạn điều gì đây hay tất cả:(

và Ajax đến để làm thay đổi điều đó

Ajax (Asynchronous JavaScript and XML) là cách lập trình web mà không làm đồng hồ cát xuất hiện. Dữ liệu, nội dung và thiết kế được kết hợp với nhau trở thành thể thống nhất. Mỗi khi người sử dụng click lên bất kỳ thứ gì trên ứng dụng Ajax, ứng dụng chỉ thay đổi phần mà người sử dụng mong muốn. Nếu bạn không tin, bạn hãy thử Google Maps. Nhập từ "vietnam" vào ô tìm kiếm trên bản đồ và mọi thứ đều cập nhật trước mắt bạn. Chỉ với một ít thời gian để cập nhật dữ liệu, nội dung và thiết kế mà không cần refresh hoặc reload.

Vậy Ajax là gì?

Ajax là cách phát triển ứng dụng web dựa trên sự kết hợp của những công nghệ dưới đây:

  • Chuẩn XHTML và CSS
  • Tương tác trong trang thông qua DOM
  • Trao đổi dữ liệu XML và XSLT
  • Độc lập đồng bộ dữ liệu với XMLHttpRequest
  • JavaScript với tất cả các tầng

Trong khi đó, ứng dụng web theo truyền thống thì sự tương tác giữa người sử dụng và server được mô tả như sau:

  1. Người sử dụng truy cập ứng dụng web
  2. Server xử lý yêu cầu và gởi dữ liệu đến trình duyệt trong khi người sử dụng chờ đợi...
  3. Người sử dụng click lên một liên kết hoặc tương tác với ứng dụng web
  4. Server xử lý yêu cầu và gởi dữ liệu đến trình duyệt trong khi người sử dụng chờ
    đợi...
  5. ...vân vân

Chúng ta dễ dàng nhật thấy người sử dụng đợi sau mỗi lần tương tác.

và Ajax đóng vai trò như một người trung gian

Ajax làm mọi việc phía bên trong trình duyệt (thông qua JavaScript và DOM) để trình diễn và kiểm soát yêu cầu mà người sử dụng gởi đến máy chủ. Sự tuyệt vời mà Ajax có thể làm được là nó biết người sử dụng yêu cầu phần dữ liệu nào và nó đáp ứng bằng cách trình diễn phần dữ liệu mà người sử dụng mong muốn. Bản thân Ajax có thể giữ hết thông tin của ứng dụng bên trong nó và trong khi Bất đồng bộ dữ liệu nó vẫn chấp nhận sự tương tác khác giữa ứng dụng và người sử dụng mà không quan tâm đến sự tương tác của máy chủ [server].

Bất đồng bộ

Trong ứng dụng web không sử dụng Ajax, sự tương tác giữa người sử dụng và máy chủ dữ liệu được gọi là đồng bộ. Điều này có nghĩa là lần tương tác tiếp theo giữa người sử dụng và máy chủ chỉ được thực hiện khi lần tương tác trước đó kết thúc. Cũng giống như khi bạn đọc một bài viết, đầu tiên bạn phải click vào liên kết có chứa bài viết, yêu cầu được gởi đến máy chủ có chứa bài viết và máy chủ đó gởi lại cho bạn nội dung của bài viết.

Với Ajax, JavaScript được load khi trang load và nó kiểm soát mọi tác vụ trên ứng dụng web. Bằng cách kiểm soát trước mọi tác vụ trên ứng dụng web, Ajax có thể trình diễn dữ liệu một cách nhanh chóng. Nếu trong cùng một thời điểm, người sử dụng thay đổi dữ liệu thì việc đầu tiên nó gởi dữ liệu đến server và cũng đồng thời gởi dữ liệu lên bề mặt ứng dụng web và điều này không phụ thuộc hành động khác của người sử dụng.

Ajax không phải là một công nghệ mới

Ajax chỉ là một sự kết hợp tuyệt vời giữa các công nghệ và tạo ra cách xử lý mới trong quá trình tương tác giữa người sử dụng, ứng dụng và server. Nếu bây giờ bạn muốn phát triển một ứng dụng web, tại sao bạn lại không dùng Ajax nhỉ? Phát triển ứng dụng web dựa vào Ajax quả thật là một điều thật thú vị.

Một số ví dụ

Một số liên kết hữu ích

Chú thích

  • XHTML là viết tắt của chữ Extensible HyperText Markup Language (XHTML). XHTML là một họ những kiểu tài liệu của hiện tại và tương lai, nó kế thừa và mở rộng HTML, và tuân theo những chuẩn của XML. Họ các kiểu tài liệu XHTML đều dựa trên XML, và được thiết kế để làm việc với phần mềm dựa trên XML. XHTML là phiên bản kế tiếp của HTML, một loạt những đặc tả đã được phát triển cho XHTML.
  • CSS là một ngôn ngữ cho giao diện để định nghĩa tính chất các thành phần trong HTML layout. Một ví dụ, Với CSS bạn có thể tạo kiểu cho fonts, chỉnh màu sắc , canh lề, kẻ bảng, định chiều cao, chiều dọc, hình nền, và xác định vị trí cho đổi tượng cùng nhiều thứ khác.
  • DOM là giao diện độc lập platform và ngôn ngữ cho phép chương trình và script truy xuất động và cập nhật nội dung, cấu trúc và style của tài liệu.
  • XSLT là một thể hiện XML dưới dạng hiển thị nhất định theo ý muốn của coder, code sẽ trích xuất dữ liệu từ database ra dưới dạng của XML và XSLT có thể đóng vai trò như một HTML thể hiện dữ liệu đã được trích xuất tùy thích. Trong XSLT bạn có thể có các thẻ tag HTML, javascript ... tùy mục đích của bạn. Như thế có thể dùng XSLT và XML như là một dạng của template HTML.
  • XMLHttpRequest (XHR) là một API được JavaScript dùng để chuyển dữ liệu (XML hoặc dữ liệu khác) từ trình duyệt đến máy chủ chứa ứng dụng web.

2 Nhận xét

  1. Anonymous // Monday, July 21, 2008 at 11:03:00 AM PDT  

    mấy link đưa vào có vấn đề

  2. Anonymous // Monday, November 17, 2008 at 9:18:00 AM PST  

    rat la hay do nha

Post a Comment

Chào bạn, cảm ơn bạn đã để lại nhất xét trên blog của mình. Hãy để lại tên bạn và liên kết để mình có thể làm quen với bạn.