Pages

11 thg 2, 2010

RIAs cái nhìn tổng quát

ria

RIA (Rich Internet Application hay Rich Interactive Application với Microsoft) là các ứng dụng chạy trên môi trường web nhưng hội tụ đầy đủ các tính năng và đặc trưng của các ứng dụng desktop truyền thống.

Nhìn lại những vấn đề của công nghệ và lý do ra đời:

Từ những ngày khởi thủy của những ứng dụng trên máy tính đều được thực hiện trên các mainframe. Các máy trạm chỉ làm nhiệm vụ hiển thị thông tin được xử lý từ các mainframe. Sau đó, tốc độ phát triển phần cứng cho các máy trạm nhanh như vũ bão. Từ tốc độ xử lý, hệ thống lưu trữ, bộ nhớ đến các thành phần khác dành cho clients đều phát triển rất nhanh.Như vậy, nếu chỉ dành toàn bộ việc tính tóan cho mainframe, và các clients chỉ để hiển thị thông tin sẽ vô cùng lãng phí tài nguyên.

Sau đó đến giai đoạn phát triển của các ứng dụng dạng client/server. Lại có vấn đề về hệ thống phân tán. Sẽ mất nhiều công sức cho việc cài đặt, bảo dưỡng các ứng dụng trên clients. Rồi việc đảm bảo các ứng dụng trên clients phải tương thích với các platforms khác nhau.

Vào những năm 90, internet ra đời. Việc sử dụng các web browsers cho các thin clients được áp dụng rất mạnh mẽ và hiệu quả. Nhưng kiểu lập trình page-to-page, khiến các nhà phát triển ứng dụng rất khó khăn, mệt mỏi và có rất nhiều hạn chế. Rồi các giao diện người dùng đơn điệu, không hiệu quả. Để cố gắng khắc phục những nhược điểm này, RIAs đã ra đời.

Khả năng của RIAs:

  • Giao diện thân thiện với người dùng, các tính năng vô cùng hấp dẫn và có tính tương tác cao điều này rất có lợi cho các ứng dụng về lĩnh vực giải trí quảng cáo.
  • RIA có khả năng tương tác với DOM (Document Object Model), xây dựng những ứng dụng chạy trên nhiều loại browsers và platforms.
  • RIA có khả năng sử dụng được các đối tượng trên server như web services hay những công nghệ tương tự khác, làm cho các ứng dụng trên clients có thể kết nối với server minh bạch hơn, dễ dàng hơn.
  • RIA có khả năng làm việc “offline”. Dữ liệu được đưa về clients, xử lý tại clients, sau đó trả lạ cho server, tránh việc quá tải đường truyền cũng như hệ thống xử lý của server.

Các khuynh hướng xây dựng 1 ứng dụng RIAs hiên nay:

  • Đầu tiên là Ajax (Asynchronous Javascript and XML) : sử các công cụ như Dojo, OpenRico, Backbase và Yahoo ToolKit. Nó được các nhà phát triển kết hợp từ nhiều công cụ (HTML,DHTML, Javascript), công nghệ, để chuyển dữ liệu từ server tới client mà không phải reload lại page. Thực ra, trước đây IFrames đã làm được những công việc này. Gần đây, Java script sử dụng XMLHttpRequest để thay thế applets, Iframe.
  • Tiếp theo là RIAs trên nền Flash Player với các công cụ như Flex ( đây là công cụ Open source): Trước đây, flash được phát triển nhằm mục đích phục vụ xây dựng animations. Sau nhiều thập kỷ thành công, tới nay có tới 97% (theo Adobe Flex 3 : Training from the Source) các web browsers có cài đặt flash. Adobe nhận ra rằng, với flash có thể làm nhiều hơn việc chỉ phát triển animations. Vì thế Flex đã ra đời. Flex 1 là phần mềm open source. Tuy nhiên, vào giữa năm 2006, Adobe đã thương mại hóa Flex 2, với những tính năng và ưu điểm vượt trội bản Flex 1. Gần đây, Adobe đã chính thức phát hành Flex 3 có những phần đáng chú ý như : Adobe AIR, cải thiện đáng kể hiệu năng của những files SWF. Có khả năng tích hợp các middle layers ngay trong ứng dụng như : ASP.NET, PHP, ColdFusion, WebService, Flex Data Server (hay còn gọi là FDS). Từ phiên bản Flex 2 trở đi, các ứng dụng sử dụng ActionScript 3 và chạy trên nền Flash Player 9. Flex cho miễn phí Flex SDK, cũng như AIR SDK, chỉ thương mại Flex Builder (với giá bản full của Flex Builder 3 Pro là 699$). Thêm nữa, Flex là sự kết hợp không thể tách rời của ngôn MXML và ActionScript.
  • Thứ 3 là Laszlo : là phần mềm open source với nền tảng phát triển là Javascript và XML và chạy trên nền flash. Các ứng dụng cũng được biên dịch thành các files SWF. Vì là công cụ open source nên Laszlo cũng gắn bó chặt chẽ với LAMP (Linux, Apache, MySQL và PHP).
  • Thứ 4 là Windows Presentation Foundation (WPF): sử dụng .NET framework 3. Sử dụng các công cụ này, Microsoft đang khuyến khích một dòng làm việc (workflow) trong đó các nhà thiết kế tạo ra các giao diện người dùng hấp dẫn, và sau đó các nhà phát triển có thể thực thi logic hoạt động và truy cập dữ liệu sử dụng Visual Studio.
  • Cuối cùng là Java, với các công cụ như : AWT, Swing, và Eclipse RCP, nhưng thật đáng tiếc , cho đến nay thì JavaFX vẫn chưa làm được gì nhiều và có vẻ đang tụt lại đáng kể trong cuộc đua này. Hy vọng Sun dẹp bớt những tham vọng ngu ngốc và hướng tới cộng đồng hơn, khi đó mới có thể hy vọng cạnh tranh thị phần RIA được.

Trong đó, dường như WPF và Java nhắm vào ứng dụng desktop hơn là RIAs, mặc dù chúng đều có thể phát triển cho RIAs.

0 nhận xét:

Đăng nhận xét

Powered By Blogger