Go Back   Cựu Học Sinh Lê Quý Đôn - Long An > :: Góc Học Tập :: > Tin học

Tin học Lập trình Pascal , phần mềm , No crackz..

Ajax

Ajax

this thread has 5 replies and has been viewed 3091 times

Gởi Ðề Tài Mới Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 05-11-2006, 03:43 PM   #1
Hồ sơ
MarsNIIT
1/2 bán cầu bắc cô đơn
 
MarsNIIT's Avatar
 
Tham gia ngày: Sep 2006
Số bài viết: 1,334
Tiền: 25
Thanks: 151
Thanked 659 Times in 380 Posts
MarsNIIT is on a distinguished road
Default Ajax

AJAX - tương lai cho ứng dụng Web (1)


(Post 15/11/2005)
Trong khoảng thời gian gần đây, các nhà cung cấp dịch vụ Web trên thế giới đang chạy đua nâng cấp dung lượng hộp mail nhằm chiếm lấy một số lượng thị phần đáng kể, người sử dụng không còn quan tâm nhiều đền dung lượng hộp mail như trước đây, thay vào đó họ bắt đầu quan tâm nhiều đến tốc độ duyệt mail.
Tôi là một trong số những người luôn ngạc nhiên trước tốc độ xử lý của Gmail ([Đăng nhập để xem liên kết. ]). Cảm giác của tôi khi dùng Gmail rất giống như một ứng dụng desktop: khi nhấp vào một liên kết, thay vì phải đợi cả trang Web tải lại, mọi thứ hiện ra gần như tức thì. Với sự ra đời của Gmail và những trang Web khác như Google Maps ([Đăng nhập để xem liên kết. ]), Google Suggest ([Đăng nhập để xem liên kết. ]) của Google, tất cả cộng đồng sử dụng Internet trên thế giới đều nhận ra rằng một ứng dụng trên Web cũng có thể tốt như một ứng dụng cài đặt trên máy của họ.
Gần đây tôi có nghe giải thích trên một tờ báo tin học rằng sở dĩ Gmail có thể nhanh như vậy là dùng ActiveX. Nhưng nếu bạn thử Gmail trên Firefox hay Opera, tốc độ của ứng dụng cũng không hề thay đổi mà hai trình duyệt này không hề có khái niệm về ActiveX - một công nghệ độc quyền của Microsoft.
Vậy bí quyết nào đứng đằng sau các trang web này của Google? Đó là một “công nghệ” có cái tên gợi tới một CLB bóng đá của Hà Lan: AJAX.
1. Vậy AJAX là gì?
Nó mới chỉ xuất hiên lần đầu vào tháng 2 năm nay (2005), khi [Đăng nhập để xem liên kết. ] của công ty AdapativePath định nghĩa và tóm gọn lại từ cụm từ “Asynchronous JavaScript+CSS+DOM+XMLHttpRequest”. Ngay sau đó cụm từ AJAX được phổ biến cực kỳ nhanh chóng trong cộng đồng phát triển Web và đến giờ nó là một trong những từ khóa được tìm kiếm nhiều nhất trên Internet. Và đây là định nghĩa của Garrett về AJAX:
AJAX không phải là một công nghệ. Nó là tập hợp của nhiều công nghệ với thế mạnh của riêng mình để tạo thành một sức mạnh mới. AJAX bao gồm:
  • Thể hiện web theo tiêu chuẩn XHTML và CSS;
  • Nâng cao tính năng động và phản hồi bằng DOM (Document Object Model );
  • Trao đổi và xử lý dữ liệu bằng XML và XSLT;
  • Truy cập dữ liệu theo kiểu bất đồng bộ (asynchronous) bằng XMLHttpRequest;
  • Và tất cả các kỹ thuật trên được liên kết lại với nhau bằng JavaScript.
Đến đây có lẽ bạn đang tự nhủ: có vẻ đây là một công nghệ rất phức tạp. Không hẳn vậy! Điểm mấu chốt của Ajax nằm ở XMLHttpRequest. Đây là một kỹ thuật do Microsoft khởi xướng và tích hợp lần đầu tiên vào IE5 dưới dạng một ActiveX. Mozilla tích hợp công nghệ này vào Mozilla 1.0/Netscape 6 sau đó. Và dĩ nhiên tất cả các version của Firefox đều hỗ trợ XMLHttpRequest, hiện nay đã có trong trình duyệt Safari 1.2 (Apple) và Opera 8 trở lên. Chúng ta sẽ trở về với XMLHttpRequest và cách sử dụng nó trên các trình duyệt khác nhau ở phần sau.
Bây giờ hãy thử một ứng dụng đơn giản sử dụng AJAX: Mobile Phone Catalog tại liên kết này:
[Đăng nhập để xem liên kết. ]
Đây là một danh sách các model điện thoại di động, tính năng của chúng xếp theo tên hãng chế tạo.
Khi bạn đánh dấu hộp kiểm chọn các nhãn hiệu, lập tức danh sách điện thoại của các các hãng xuất hiện ngay ở bảng phía dưới mà không cần tải lại cả trang Web.
So với cách thông thường, khi người dùng có một cần thay đổi dữ liệu trên trang Web, yêu cầu thay đổi được gửi về server dưới dạng HTTP request (hay còn gọi postback), server sẽ xử lý yêu cầu này và gửi trả lại trang HTML khác thay thế trang cũ. Qui trình này được mô tả là nhấp-chờ và tải lại (click-wait-and-refresh): ví dụ người dùng sau khi nhấn một nút “Submit” trên trang web phải chờ cho đến khi server xử lý xong mới có thể tiếp tục công việc. Ngược lại, trong ví dụ trên bạn có thể nhấn liên tục vài hộp kiểm để chọn/bỏ chọn các nhãn hiệu mà không cần chờ đợi.
Đây là mô hình “cổ điển” của một ứng dụng Web:
Và đây là mô hình sử dụng AJAX:
Rõ ràng điểm khác biệt là thay vì phải tải cả trang Web thì với AJAX bạn chỉ cần tải về phần của trang Web mà bạn muốn thay đổi. Điều này giúp cho ứng dụng Web của bạn phản hồi nhanh hơn, thông minh hơn. Ngoài ra, điểm đặc biệt quan trọng trong công nghệ AJAX nằm ở chữ A (Asynchronous) – bất đồng bộ – tức là bạn cứ gửi yêu cầu của mình tới server và quay lại với công việc của mình mà không cần chờ trả lời. Khi nào server xử lý xong yêu cầu của bạn, nó sẽ báo hiệu và bạn có thể “bắt lấy” để thể hiện những thay đổi cần thiết. Vậy tất cả cơ chế này hoạt động thực sự thế nào? Chúng ta sẽ xem có gì trong source code của ví dụ Mobile Phone Catalog.
2. Digging into source code
Thông thường một ứng dụng AJAX cần có hai thành phần (hay nhiều hơn): tạm gọi là front-end và back-end. Front-end dùng để thể gửi các XMLHttpRequest và thể hiện các thay đổi, còn back-end để xử lý các request và trả lại kết quả thay đổi cho front-end. Trong Mobile Phone Catalog, trang front-end (MobileCatalog.jsp ) rất đơn giản và không có gì thú vị ngoại trừ đoạn mã JavaScript. Mỗi khi người dùng chọn/bỏ chọn một hộp kiểm sẽ kích hoạt hàm displayItems():
function displayItems() {
var params = "brands=";
// check to see which checkboxes are checked and append them to the string.
if (document.getElementById('checkBox1&apos.ch ecked == true) {
params += ",Nokia"
}
// more here
...
retrieveURL("MobileCatalogRender.jsp?" + params);
return true;
}

Hàm này sẽ xem có những nhãn hiệu nào được chọn và tạo nên một chuỗi (String) request. (ví dụ nếu “Nokia” và “Samsung” được chọn thì chuồi này sẽ có dạng “MobileCatalogRender.jsp?brands=,Nokia,Samsung ) và gửi chuỗi này tới hàm retrieveURL(). Đây là hàm quan trọng nhất nên ta sẽ xem xét kỹ từng dòng và ý nghĩa của các dòng lệnh này:
1. function retrieveURL(url) {
2. if (window.XMLHttpRequest) { // Non-IE browsers
3. req = new XMLHttpRequest();
4. req.onreadystatechange = processStateChange;
5. try {
6. req.open("GET", url, true);
7. } catch (e) {
8. alert(e);
9. }
10. req.send(null);
11. } else if (window.ActiveXObject) { // IE
12. req = new ActiveXObject("Microsoft.XMLHTTP");
13. if (req) {
14. req.onreadystatechange = processStateChange;
15. req.open("GET", url, true);
16. req.send();
17. }
18. }
19. }

- Dòng 2/dòng 11: Kiểm tra xem trình duyệt có hỗ trợ XMLHttpRequest hay không. Trong đó dòng 11 dùng cho trình duyệt của Microsoft
- Internet Explorer (như các bạn thấy chúng ta phải tạo một ActiveX) còn dòng 2 dùng cho các trình duyệt khác (Mozilla, Safari, Opera).
- Dòng 3/dòng 12: khời tạo đối tượng XMLHttpRequest.
- Dòng 4/dòng 14: Gán event handler khi có phản hồi. Đây là dòng lệnh có ý nghĩa đặc biệt, nó cho phép chúng ta nhận phản hồi của back-end và cập nhật các thay đổi trên front-end.
- Dòng 6/dòng 15+16: Gửi request từ front-end tới back-end dưới dạng một HTTP request. Ở đây chuỗi request là “MobileCatalogRender.jsp?brands=,Nokia,Samsung .
Sau khi gửi request đi, nếu có bất kỳ phản hồi gì từ back-end hàm processStateChange() sẽ được kích hoạt. Trong trường hợp lý tưởng back-end sẽ trả về một bảng danh sách các model điện thoại di động của hai hãng Nokia và Samsung. Hàm processStateChange() sẽ gán đoạn HTML trả về này vào div “theTable”, ngược lại sẽ hiện lên một thông báo lỗi:
function processStateChange() {
if (req.readyState == 4) { // Complete
if (req.status == 200) { // OK response
document.getElementById("theTable").innerHTML = req.responseText;
} else {
alert("Problem: " + req.statusText);
}
}
}

Cuối cùng là mã của back-end (MobileCatalogRender.jsp). Đây là một trang Java Server Page có nhiệm vụ xử lý request và trả lại một bảng dữ liệu tương ứng (bạn có hoàn toàn có thể dùng một servlet thay cho trang này). Đây là trích mã nguồn, chắc các bạn có thể dễ dàng hiểu được.
String param1 = (String)request.getParameter("brands");
String displayPicture = (String)request.getParameter("picture");
if (param1 == null) {
param1 = "";
}
if (displayPicture == null) {
displayPicture = "no";
}
String[] brands = param1.split(",");
ArrayList mobiles = new ArrayList();
for(int j=0; j<brands.length; j++){
if(brands[j].equalsIgnoreCase("nokia")){
mobiles.add(nokia1());
mobiles.add(nokia2());
mobiles.add(nokia3());
}
if(brands[j].equalsIgnoreCase("samsung")){
mobiles.add(samsung1());
mobiles.add(samsung2());
mobiles.add(samsung3());
}
if(brands[j].equalsIgnoreCase("motorola")){
mobiles.add(moto1());
mobiles.add(moto2());
mobiles.add(moto3());
}
}
// And yes, I know creating HTML in an Action is generally very bad form,
// but I wanted to keep this exampel simple.
String html = "<table border=\"0\" align=\"center\"
cellpadding=\"1\" cellspacing=\"0\" width=\"100%\" class=DataGrid1>";
html += "<tr class=DataGrid2Header>";
html += "<th>Model</th>";
html += "<th>Trọng Lượng</th>";
html += "<th>Kích Thước</th>";
html += "<th>Bộ Nhớ</th>";
html += "<th>Màn Hình</th>";
html += "<th>Giá (triệu đ)</th>";
if(displayPicture.equalsIgnoreCase("yes"))
html += "<th>Hình</th>";
html += "</tr>";
int row =0;
for (Iterator it = mobiles.iterator(); it.hasNext() {
HashMap hm = (HashMap)it.next();
if(row%2 == 0)
html += "<tr class=DataGrid1Style align=center>";
else
html += "<tr class=DataGrid1StyleAlternate align=center>";
html += "<td valign=middle>" + (String)hm.get("model") + "</td>";
html += "<td valign=middle>" + (String)hm.get("weight") + "</td>";
html += "<td valign=middle>" + (String)hm.get("size") + "</td>";
html += "<td valign=middle>" + (String)hm.get("RAM") + "</td>";
html += "<td valign=middle>" + (String)hm.get("graphic")+ "</td>";
html += "<td valign=middle>" + (String)hm.get("price")+ "</td>";
if(displayPicture.equalsIgnoreCase("yes"))
html += "<td valign=middle><img src=\""
+ myWebPath + "images/mobile/" + (String)hm.get("picture")+ "\"></td>";
html += "</tr>";
row++;
}
html += "</table>";
// Write the HTML to response
out.write(html);
3. Một vài ví dụ khác:
  • Danh sách khách hàng có thể “sort” bằng cách nhấp vào thanh tiêu đề:
    [Đăng nhập để xem liên kết. ]
  • Từ Điển AJAX (cực nhanh):
    [Đăng nhập để xem liên kết. ]
  • Cờ Ca-rô (Gomoku) ứng dụng AJAX
    [Đăng nhập để xem liên kết. ]
Tuy các ví dụ ở đây viết bằng Java, AJAX không bó hẹp ở J2EE mà có thể thực hiện ở các nền tảng khác như .Net hay PHP.
Hy vọng bài viết này sẽ có ích phần nào với các bạn.
(theo JavaVietNam Organization )
MarsNIIT is offline   Trả Lời Với Trích Dẫn
Đã có 4 thành viên gửi lời cám ơn đến MarsNIIT vì bạn đã đăng bài:
ComPassumspumYUH (03-08-2014), entilt (21-03-2022), EROOutlize (20-03-2022), WoormasnorestYU (14-06-2014)
Old 05-11-2006, 03:45 PM   #2
Hồ sơ
MarsNIIT
1/2 bán cầu bắc cô đơn
 
MarsNIIT's Avatar
 
Tham gia ngày: Sep 2006
Số bài viết: 1,334
Tiền: 25
Thanks: 151
Thanked 659 Times in 380 Posts
MarsNIIT is on a distinguished road
Default Ðề: Ajax

AJAX - Tương lai của ứng dụng Web



Bạn đang sử dụng [Đăng nhập để xem liên kết. ]? hay [Đăng nhập để xem liên kết. ]? Bạn yêu thích tính năng của [Đăng nhập để xem liên kết. ]? hay ứng dụng web [Đăng nhập để xem liên kết. ], [Đăng nhập để xem liên kết. ], [Đăng nhập để xem liên kết. ] của [Đăng nhập để xem liên kết. ]? hay các tính năng tiện dụng của [Đăng nhập để xem liên kết. ]?
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 được giải thích trong bài), hay Advanced JAvascripting and XML. Cái tên Ajax được nhắc đến lần đầu tiên bởi [Đăng nhập để xem liên kết. ] 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ớ sẽ tổng hợp những gì tớ 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ớ đã tạo ra một [Đăng nhập để xem liên kết. ] 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Ừ 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 [Đăng nhập để xem liên kết. ]:
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 [Đăng nhập để xem liên kết. ], 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.
MarsNIIT is offline   Trả Lời Với Trích Dẫn
Đã có 5 thành viên gửi lời cám ơn đến MarsNIIT vì bạn đã đăng bài:
ComPassumspumYUH (03-07-2014), EROOutlize (13-06-2022), Georgerop (03-11-2014), NSDOGzed (21-07-2022), WoormasnorestYU (14-06-2014)
Old 05-11-2006, 03:48 PM   #3
Hồ sơ
MarsNIIT
1/2 bán cầu bắc cô đơn
 
MarsNIIT's Avatar
 
Tham gia ngày: Sep 2006
Số bài viết: 1,334
Tiền: 25
Thanks: 151
Thanked 659 Times in 380 Posts
MarsNIIT is on a distinguished road
Default Ðề: Ajax

AJAX VÀ Ứ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 GmailGoogle Map. Thử duyệt [Đăng nhập để xem liên kết. ] 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ư GmailGoogle 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ệ [Đăng nhập để xem liên kết. ] 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 [Đăng nhập để xem liên kết. ] (tuy nhiên, việc có nên áp dụng hay không lại là chuyện khác, như sẽ phân tích ở phần sau).
Một số ứng dụng khác 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 trình 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ề trình 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? Đây chính là ví dụ mà tớ đã viết ra để minh họa cho bài viết này (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 (hai trang Nhạc Số và Nhạc Việt có lẽ nên tìm hiểu áp dụng kỹ thuật này)
… 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 đề 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 mà. 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, 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ớ (xem phần sau) để tham khảo, hoặc xem một ví dụ khác ở đây.
MarsNIIT is offline   Trả Lời Với Trích Dẫn
Đã có 3 thành viên gửi lời cám ơn đến MarsNIIT vì bạn đã đăng bài:
ComPassumspumYUH (19-07-2014), EROOutlize (01-10-2020), WoormasnorestYU (14-06-2014)
Old 05-11-2006, 03:50 PM   #4
Hồ sơ
MarsNIIT
1/2 bán cầu bắc cô đơn
 
MarsNIIT's Avatar
 
Tham gia ngày: Sep 2006
Số bài viết: 1,334
Tiền: 25
Thanks: 151
Thanked 659 Times in 380 Posts
MarsNIIT is on a distinguished road
Default Ðề: Ajax

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ớ chỉ mất 1 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ụ sau, tớ sẽ tạo một mẫu đơn đăng ký nho nhỏ, yêu cầu người dùng chọn một tên đăng nhập và cung cấp một địa chỉ email không được trùng lặp với bất kỳ ai trong cơ sở dữ liệu đã có. Bằng cách sử dụng Ajax, tớ có thể kiểm tra so sánh với danh sách tên 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 gửi mẫu đơn đi). Điều tương tự xảy ra đối với địa chỉ email, chỉ thêm một cái là tớ kiểm tra luôn định dạng của nó có phải là một địa chỉ email hay không trước khi áp dụng.
Sau khi chọn tên và email xong (tất nhiên là sau khi tớ đã kiểm tra là chúng 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ớ 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 mạch và nhanh chóng.
Cũng hy vọng bạn sẽ để ý chi tiết sau: mặc dù đây là một ví dụ minh họa công nghệ Ajax, tớ 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 một ô nào đó (ô đó sẽ sáng lên cho biết những gì bạn gõ sẽ là vào ô đó), khi có thông báo lỗi (ô bị lỗi sẽ chuyển sang màu đỏ và bạn tự động được chuyển ngược về ô đó để sửa) hay khi dữ liệu của bạn là hợp lệ (ô chuyển sang màu xanh da trời).
Thêm một bước nữa, tớ đã thiết kế để một khi dữ liệu còn chưa hoàn tất (chưa có đủ tên và email, hoặc tên hay email bị trùng) thì bạn sẽ không thể gửi đơn đi được (nút Submit bị vô hiệu hóa). Chỉ là những ứng dụng rất nhỏ và chi tiết nhưng nó giúp cho ứng dụng của bạn dễ sử dụng hơn rất nhiều.

KẾT LUẬN
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.
Bạn có từng tự "trách" là tại sao bạn không được sinh vào đúng thời điểm khi mà các công nghệ chỉ mới ở giai đoạn đầu và chưa có phát minh nào cả để bạn có thể là người phát mình ra chúng (đôi khi thấy nhiều thứ đơn giản đến thế - cứ như "biếu không" )? Nếu vậy thì đâ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…
Hoặc nếu ngay cả bạn không có "ham muốn" đượ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 sản phẩm sau này của bạn.
CHÚ Ý:

Bài viết có sử dụng thông tin tham khảo từ các bài viết (tiếng Anh):
[Đăng nhập để xem liên kết. ] (AdaptivePath)
[Đăng nhập để xem liên kết. ]
Và các thông tin chung tổng hợp từ:
[Đăng nhập để xem liên kết. ]“>AjaxMatters.com
[Đăng nhập để xem liên kết. ]


[Đăng nhập để xem liên kết. ]
MarsNIIT is offline   Trả Lời Với Trích Dẫn
Đã có 2 thành viên gửi lời cám ơn đến MarsNIIT vì bạn đã đăng bài:
ComPassumspumYUH (03-08-2014), EROOutlize (24-01-2021)
Old 05-11-2006, 03:53 PM   #5
Hồ sơ
MarsNIIT
1/2 bán cầu bắc cô đơn
 
MarsNIIT's Avatar
 
Tham gia ngày: Sep 2006
Số bài viết: 1,334
Tiền: 25
Thanks: 151
Thanked 659 Times in 380 Posts
MarsNIIT is on a distinguished road
Default Ðề: Ajax

1. CGI
Giải pháp đầu tiên để làm các trang Web động là Common Gateway Interface (CGI). CGI cho phép tạo các chương tŕnh chạy khi người dùng gửi các yêu cầu. Giả sử khi cần hiển thị các các mục để bán trên Web site – với một CGI script ta có thể truy nhập cơ sở dữ liệu sản phẩm và hiển thị kết quả. Sử dụng các form HTML đơn giản và các CGI script, có thể tạo các “cửa hàng” ảo cho phép bán sản phẩm cho khách hàng qua một tŕnh duyệt. CGI script có thể được viết bằng một số ngôn ngữ từ Perl cho đến Visual Basic.
Tuy nhiên, CGI không phải là cách an toàn cho các trang Web động. Với CGI, người khác có thể chạy chương tŕnh trên hệ thống. V́ thế có thể chạy các chương tŕnh không mong muốn gây tổn hại hệ thống. Nhưng dù vậy, cho đến hôm nay th́ CGI vẫn c̣n được sử dụng.

2. Applet
Tháng 5/1995, John Gage của hăng Sun và Andressen (nay thuộc Netscape Communications Corporation) đă công bố một ngôn ngữ lập tŕnh mới có tên Java. Netscape Navigator đă hỗ trợ ngôn ngữ mới này, và một con đường mới cho các trang Web động được mở ra, kỷ nguyên của applet bắt đầu.

Applet cho phép các nhà phát triển viết các ứng dụng nhỏ nhúng vào trang Web. Khi người dùng sử dụng một tŕnh duyệt hỗ trợ Java, họ có thể chạy các applet trong tŕnh duyệt trên nền máy ảo Java Virtual Machine (JVM). Dù rằng applet làm được nhiều điều song nó cũng có một số nhược điểm: thường bị chặn bởi việc đọc và ghi các file hệ thống, không thể tải các thư viện, hoặc đôi khi không thể thực thi trên phía client. Bù lại những hạn chế trên, applet được chạy trên một mô h́nh bảo mật kiểu sandbox bảo vệ người dùng khỏi các đoạn mă nguy hiểm.

Có những lúc applet được sử dụng rất nhiều, nhưng nó cũng có những vấn đề nảy sinh: đó là sự phụ thuộc vào máy ảo Java JVM, các applet chỉ thực thi khi có môi trường thích hợp được cài đặt phía client, hơn nữa tốc độ của các applet là tương đối chậm v́ thế applet không phải là giải pháp tối ưu cho Web động.

3. JavaScript
Cùng thời gian này, Netscape đă tạo ra một ngôn ngữ kịch bản gọi là JavaScript. JavaScript được thiết kế để việc phát triển dễ dàng hơn cho các nhà thiết kế Web và các lập tŕnh viên không thành thạo Java. (Microsoft cũng có một ngôn ngữ kịch bản gọi là VBScript). JavaScript ngay lập tức trở thành một phương pháp hiệu quả để tạo ra các trang Web động.
Việc người ta coi các trang như là một đối tượng đă làm nảy sinh một khái niệm mới gọi là Document Object Model (DOM). Lúc đầu th́ JavaScript và DOM có một sự kết hợp chặt chẽ nhưng sau đó chúng được phân tách. DOM hoàn toàn là cách biểu diễn hướng đối tượng của trang Web và nó có thể được sửa đổi với các ngôn ngữ kịch bản bất kỳ như JavaScript hay VBScript.
Tổ chức World Wide Web Consortium (W3C) đă chuẩn hóa DOM, trong khi European Computer Manufacturers Association (ECMA) phê duyệt JavaScript dưới dạng đặc tả ECMAScript.

4. JSP/Servlet, ASP và PHP
Cùng với Java, Sun đồng thời đưa ra một công nghệ mới gọi là servlet. Các đoạn mă Java sẽ không chạy phía client như với applet; chúng sẽ được chạy trên một ứng dụng phía server. Servlet cũng đồng thời phục vụ các CGI script. Servlet là một bước tiến lớn, nó đưa ra một thư viện hàm API trên Java và một thư viện hoàn chỉnh để thao tác trên giao thức HTTP.
JavaServer Page (JSP) là một công nghệ lập tŕnh Web của Sun, cùng với nó là một công nghệ khác của Microsoft - Active Server Pages (ASP), JSP là công nghệ đ̣i hỏi một tŕnh chủ hiểu được Java.
Microsoft đă nghiên cứu các nhược điểm của servlet và tạo ra ASP dễ dàng hơn để thiết kế các trang web động. Microsoft thêm các bộ công cụ rất mạnh và sự tích hợp rất hoàn hảo với các Web server. JSP và ASP có những nét tương đương v́ chúng đều được thiết kế để phân tách qua tŕnh xử lí khỏi quá tŕnh biểu diễn. Có sự khác biệt về kỹ thuật, song cả hai đều cho phép các nhà thiết kế Web tập trung vào cách bố trí (layout) trong khi các nhà phát triển phần mềm th́ tập trung vào các kỹ thuật lập tŕnh logic.
Tất nhiên Microsoft và Sun không độc quyền ở các giải pháp phía server. C̣n có các công nghệ khác, trong đó phải kể đến là PHP (Hypertext Preprocessor) cho tới Cold Fusion. Các công nghệ này cung cấp các bộ công cụ rất mạnh cho các nhà phát triển.

5. Flash
Năm 1996, FutureWave đă đưa ra sản phẩm FutureSplash Animator. Sau đó FutureWave thuộc sở hữu của Macromedia, và công ty này đưa ra sản phẩm Flash. Flash cho phép các nhà thiết kế tạo các ứng dụng hoạt họa và linh động. Flash không đ̣i hỏi các kỹ năng lập tŕnh cao cấp và rất dễ học. Cũng giống như các nhiều giải pháp khác Flash yêu cầu phần mềm phía client. Chẳng hạn như gói Shockwave Player plug-in có thể được tích hợp trong một số hệ điều hành hay tŕnh duyệt.

6. DHTML
Khi Microsoft và Netscape đưa ra các version 4 của các tŕnh duyệt của họ, th́ các nhà phát triển Web có một lựa chọn mới: Dynamic HTML (DHTML). DHTML không phải là một chuẩn của W3C; nó giống một bộ công cụ thương mại hơn. Trong thực tế nó là một tập hợp gồm HTML, Cascading Style Sheets (CSS), JavaScript, và DOM. Tập hợp các công nghệ trên cho phép các nhà pháp triển sửa đổi nội dung và cấu trúc của một trang Web một cách nhanh chóng. Tuy nhiên, DHTML yêu cầu sự hỗ trợ từ các tŕnh duyệt. Mặc dù cả Internet Explorer và Netscape hỗ trợ DHTML, nhưng các thể hiện của chúng là khác nhau, các nhà phát triển cần phải biết được loại tŕnh duyệt nào mà phía client dùng. DHTML thật sự là một bước tiến mới, nhưng nó vẫn cần một sự qui chuẩn để phát triển. Hiện nay DHTML vẫn đang trên con đường phát triển mạnh.

7. XML
Kể từ khi ra đời vào giữa năm 1990, eXtensible Markup Language (XML) của W3C dẫn xuất của SGML đă trở nên rất phổ biến. XML có mặt ở khắp nơi, Microsoft Office 12 cũng sẽ hỗ trợ định dạng file XML.

Ngày nay chúng ta có rất nhiều dạng dẫn xuất của XML cho các ứng dụng Web (tất nhiên là có cả XHTML): XUL của Mozilla; XAMJ, một sản phẩm mă nguồn mở trên nền Java; MXML từ Macromedia; và XAML của Microsoft.


Công nghệ Web thế hệ thứ hai – Web 2.0

Được xem là một cuộc cách mạng trên thế giới mạng, thế hệ web mới có những thay đổi quan trọng không chỉ ở nền tảng công nghệ mà c̣n cả ở cách thức sử dụng - h́nh thành nên môi trường cộng đồng, ở đó mọi người cùng tham gia đóng góp cho xă hội "ảo" chứ không chỉ "duyệt và xem".

Web 2.0 là ǵ? Làm sao phân biệt đâu là Web 1.0 đâu là Web 2.0? Thuật ngữ "Web 2.0" đang trở nên thịnh hành. Thực chất, Web 2.0 có nghĩa là sử dụng web đúng với bản chất và khả năng của nó.

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 (tŕ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.

Tuy có một số ngoại lệ nhưng thế giới Web 1.0 (thế hệ web trước Web 2.0) chủ yếu gồm các website "đóng" của các hăng thông tấn hay các công ty nhằm mục đích tiếp cận độc giả hay khách hàng hiệu quả hơn. Nó là phương tiện phát tin hơn là phương tiện chia sẻ thông tin. 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 hơn với sự kỳ vọng và khả năng thực sự của nó.

Khái niệm Web 2.0 đầu tiên được Dale Dougherty, phó chủ tịch của O’Reilly Media, đưa ra tại hội thảo Web 2.0 lần thứ nhất do O’Reilly 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 O’Reilly, chủ tịch kiêm giám đốc điều hành O’Reilly Media, đă đúc kết lại 7 đặc tính của Web 2.0:
Web có vai tṛ nền tảng, có thể chạy mọi ứng dụng
Tập hợp trí tuệ cộng đồng
Dữ liệu có vai tṛ then chốt
Phần mềm được cung cấp ở dạng dịch vụ web và được cập nhật không ngừng
Phát triển ứng dụng dễ dàng và nhanh chóng
Phần mềm có thể chạy trên nhiều thiết bị
Giao diện ứng dụng phong phú

Thoạt đầu, Web 2.0 được chú trọng tới yếu tố công nghệ, nhấn mạnh tới vai tṛ nền tảng ứng dụng. Nhưng đến hội thảo Web 2.0 lần 2 tổ chức vào tháng 10/2005, Web 2.0 được nhấn mạnh đến tính chất sâu xa hơn – yếu tố cộng đồng.
MarsNIIT is offline   Trả Lời Với Trích Dẫn
Đã có 3 thành viên gửi lời cám ơn đến MarsNIIT vì bạn đã đăng bài:
ComPassumspumYUH (23-07-2014), entilt (13-09-2022), WoormasnorestYU (02-07-2014)
Old 05-11-2006, 03:56 PM   #6
Hồ sơ
MarsNIIT
1/2 bán cầu bắc cô đơn
 
MarsNIIT's Avatar
 
Tham gia ngày: Sep 2006
Số bài viết: 1,334
Tiền: 25
Thanks: 151
Thanked 659 Times in 380 Posts
MarsNIIT is on a distinguished road
Default Ðề: Ajax

Web2.0


Chúng ta đang sống trong thời kì bùng nổ công nghệ, bùng nổ thương mại điện tử, bùng nổ ứng dụng trên Internet. Một cuộc cách mạng thực sự đang diễn ra, cuộc cách mạng đó mang tên Web2.0.

Mùa thu năm 2001 đã đánh dấu bước ngoặt lớn trong lịch sử phát triển Web. Cùng với tốc độ phát triển chóng mặt của các ứng dụng, sự sinh sôi của các site mới, sự hưng thịnh của các công ty, một kỉ nguyên mới đã ra đời. Kỷ nguyên Web2.0.

Web2.0 khác gì với Web1.0. Tại sao lại phân biệt như vậy? Đâu là bản chất của sự “thay da đổi thịt” này?
Thế hệ mới

Một thế hệ mới tạo nên bộ mặt của Web2.0. Thế hệ đó là Google Adsense thay thế Doubleclick trong lĩnh vực quảng cáo, là Flickr thay Ofoto trong lĩnh vực chia sẻ ảnh, là BitTorrent thay Akamai trong chia sẻ nội dung, là Đại bách khoa toàn thư Wikipedia thay Britannica Online, là Blog thay Personal Websites, là Wikis thay CMS…



Tạo nên thời đại mới
Kỉ nguyên Web2.0 ra đời với cuộc cách mạng về trí tuệ, về phần mềm, về doanh nghiệp, về internet… Dù vẫn còn nhiều tranh cãi xung quanh khái niệm Web2.0. Nhưng cơ bản, Web2.0 thống nhất ở các đặc trưng sau.
- Web là platform

Dịch vụ web thay thế sản phẩm phần mềm. World Wide Web( WWW) không còn là tập hợp các website tĩnh như trong thời kì web1.0, cũng không dừng lại ở các web động kết hợp hệ quản trị nội dung (CMS), giờ đây WWW cung cấp đầy đủ các chức năng của một platform (nền tảng) máy tính, phục vụ cho người dùng ở nơi xa nhất.

Không hề mơ mộng, nhiều người đã nghĩ đến lúc nào đó tất cả các ứng dụng mà bạn sử dụng sẽ là ứng dụng web thay vì các phần mềm độc lập chạy trên các máy tính đơn lẻ.


- Phục vụ mọi người

Web2.0 là câu chuyện về sự thành công của những dịch vụ, những ứng dụng có cánh tay vươn xa vô tận, đến mọi nguời dùng có thể, hay nói cách khác Web2.0 là kỉ nguyên phi tập trung hóa với Google Adsense, eBay, BitTorent…

Google Adsense thắng DoubleClick trong lĩnh vực quảng cáo vì Google hiểu sức mạnh khổng lồ của hàng trăm nghìn giọt nước sẽ tạo nên bể rộng. Nếu như DoubleClick chỉ giới hạn ở các website lớn thì Google tìm cách đặt quảng cáo ở bất kỳ website nào.
eBay thống trị thị trường đấu giá online vì đáp ứng nhu cầu hoạt động của mọi khách hàng. eBay cho phép cả những thương vụ chỉ có vài USD. Nhờ thế, eBay trở thành nơi tập trung “người mua kẻ bán” đông đúc nhất trên mạng, làm lu mờ các site nhỏ mới ra đời.
- Khai thác trí tuệ cộng đồng

Google, eBay, del.icio.us, iTunes, phong trào Open Sources, phong trào Blog và gần đây nhất là Wikipedia đều xây dựng trên triết lý: khai thác trí tuệ cộng đồng.

Ai cũng có thể thêm, sửa nội dung của đại bách khoa toàn thư Wikipedia. Chính vì có hàng trăm nghìn người chăm chút cho nó, nên Wikipedia càng phong phú, tinh lọc và chính xác. Theo thống kê gần đây nhất, Wikipedia được đọc nhiều hơn bất kì trang tin tức nào kể cả Google News và Yahoo News.

- Dữ liệu là máu

Trong kỷ nguyên trí tuệ cộng đồng, các hệ thống được trang bị toàn bằng mã nguồn mở, thì dữ liệu là thành phần duy nhất tạo nên sự khác biệt. Quản lí dữ liệu là trái tim của các doanh nghiệp, là chip intel của hệ điều hành internet.

Các đại gia Google, Yahoo, eBay, Amazon đều hoạt động dựa trên hệ cơ sở dữ liệu chuyên gia. Chúng ta chờ đợi cuộc chạy đua giữa các nhà cung cấp dữ liệu và các nhà cung cấp ứng dụng trong vài năm tới khi cả hai bên đều nhận ra tầm quan trọng của dữ liệu đối với Web2.0.
Giống như xu hướng chuyển từ phầm mềm độc quyền sang phần mềm miễn phí, ta cũng chờ đợi xu hướng chuyển từ cở sở dữ liệu độc quyền sang cơ sở dữ liệu miễn phí trong thập kỉ tới. Dấu hiệu sớm của nó là bách khoa online Wikipedia.
- Bản beta mãi mãi

Xuất phát từ cộng đồng mã nguồn mở, các sản phẩm được đưa ra cho cộng đồng trước khi nó hoàn thành, và cộng đồng thường xuyên thêm vào các đặc tính mới cho nó. Bạn cũng thấy Gmail, Google Maps, Flickr… để logo “Beta” hàng năm trời, vì họ cũng kinh doanh theo triết lí đó, không ngừng thu thập ý kiến người dùng, không ngừng cải tiến sản phẩm, không bao giờ có sản phẩm cuối cùng. Mãi mãi là bản Beta…

- Đơn giản, gọn nhẹ và tích hợp
Bạn đã bao giờ dùng RSS hay Atom để cập nhật tin tức, bạn có yêu thích sự tiện lợi và nhanh chóng của GMail hay Google Maps? Bạn có biết rằng đằng sau những dich vụ ấy là những công nghệ cực kì đơn giản: RSS và AJAX. Đơn giản mà mạnh mẽ là phong cách mới của công nghệ Web2.0

Tích hợp, tích hợp và… tích hợp, đó cũng là đặc trưng của công nghệ thời Web2.0. Thời mã nguồn mở phát triển, dịch vụ thay thế cho phần mềm, tích hợp chính là chìa khóa để cạnh tranh.


- Phần mềm chạy trên mọi thiết bị

Sự phát triển của Internet đưa tương lai của phần mềm gắn chặt với ứng dụng web. Mà bất kì ứng dụng web nào, dù đơn giản nhất cũng yêu cầu tối thiểu hai máy tính: Web Server và Web Browser. Việc sử dụng Web như là Platform rung lên hồi chuông cảnh báo về thiết kế phần mềm. Phần mềm kỉ nguyên mới phải là những phần mềm chạy được trên càng nhiều thiết bị càng tốt.

- Người dùng tự chủ

Một trong những điểm cách mạng của Web2.0 là cho phép người dùng tùy biến và thao tác nhiều hơn.



Điển hình là công nghệ AJAX. Đóng vai trò trung gian giữa người dùng và máy chủ, AJAX chỉ nhận những thông tin cần thiết và một khi dữ liệu đã tải về thì bạn không cần phải tương tác với máy chủ. 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. Ứng dụng nổi bật của AJAX là Gmail và Google Maps. Trong Gmail, bạn sử dụng bàn phím chứ không phải dùng chuột để chọn nhiều email. Những tác vụ như chuyển từ thư mục này sang thư mục khác được thực hiện rất nhanh chóng. Trong Google Maps, bạn có thể phóng to, thu nhỏ ảnh, di chuyển quanh bản đồ mà không phải chờ đợi tí nào. Bạn có cảm giác đang tương tác với phần mềm chạy trên máy mình vậy.
Lời kết

Web2.0 đã và đang thay đổi tận gốc rễ văn hóa xã hội và văn hóa doanh nghiệp. Trí tuệ cộng đồng được đề cao. Dịch vụ và dữ liệu là sự sống còn đối với các công ty. Phần mềm ngày càng đơn giản, mạnh mẽ, dễ tích hợp, chạy được mọi lúc mọi nơi. Người dùng là người đồng phát triển, tự chủ hơn, được thao tác nhiều hơn. Đó là những bước tiến cơ bản Web2.0 mang lại cho cuộc sống của chúng ta.

[Đăng nhập để xem liên kết. ] (Theo Oreilly)
MarsNIIT is offline   Trả Lời Với Trích Dẫn
Đã có 5 thành viên gửi lời cám ơn đến MarsNIIT vì bạn đã đăng bài:
ComPassumspumYUH (03-07-2014), entilt (17-04-2024), EROOutlize (01-10-2020), quangminhtasu (30-11-2007), WoormasnorestYU (14-06-2014)
Trả lời



Quyền Sử Dụng Ở Diễn Ðàn
Bạn không được quyền gởi bài
Bạn không được quyền gởi trả lời
Bạn không được quyền gởi kèm file
Bạn không được quyền sửa bài

vB code đang Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt
Chuyển đến


Website sử dụng phần mềm vBulletin phiên bản 3.6.8
do Công ty TNHH Jelsoft giữ bản quyền từ 2000 - 2024.
Múi giờ GMT +7. Hiện tại là 01:14 AM.

Hội CHS Lê Quý Đôn-Long An giữ bản quyền nội dung của website này

Tự động[F9]TELEX VNI VIQR VIQR* TắtKiểm chính tảDấu cũ
phan mem quan ly ban hang | thuê vps