2.2.4.1 Adobe Flex
Để tạo RIA, các nhà phát triển thƣờng sử dụng 2 giải pháp:
+ Giải pháp 1: Dùng DHTML (gồm HTML, CSS, Javascript) kết hợp với AJAX. Đây là công cụ rất mạnh. Tuy nhiên HTML không phải là một công cụ trình diễn, mà là một chuẩn tài liệu. Javascript chƣa đủ mạnh, và thiếu chặt chẽ. DHTML thƣờng gặp vấn đề về tƣơng thích với các trình duyệt.
+ Giải pháp thứ 2: Dùng Flash (công nghệ ảnh động vector của Adobe). Công cụ này ngày nay đƣợc cải tiến rất nhiều, có thể làm các ứng dụng RIA khá tốt. Nhƣng Flash sinh ra không phải để làm ứng dụng; công cụ lập trình không chuyên nghiệp, giao diện lập trình hạn chế; chi phí để viết ứng dụng rất lớn do thiếu các thành phần giao diện, thƣ viện hỗ trợ…
Để khắc phục những nhƣợc điểm này, Adobe đƣa ra công nghệ Flex - một nền tảng công nghệ, công cụ phát triển ứng dụng RIA chuyên nghiệp. Với Flex, lập trình viên có thể kết hợp giữa phƣơng pháp thiết kế kéo - thả và phƣơng pháp viết mã lệnh, giúp xây dựng từng phần của ứng dụng một cách thích hợp. Sản phẩm của Flex có thể đƣợc xuất sang thành ứng dụng Desktop (AIR). Flex hiện gồm 2 thành phần chính là MXML (Macromedia XML) và ActionScript3.0 (xây dựng theo ECMAScript 4). ActionScript 3.0 giống Javascript, dễ học và có thể lập trình hƣớng đối tƣợng.
Để xây dựng RIA, ngƣời ta sử dụng Flex Builder kết hợp với công nghệ dịch vụ dữ liệu Flex (Flex Data Services – FDS) và biểu đồ Flex (FlexCharting). Các công nghệ này giúp đơn giản hoá việc phát triển ứng dụng và tạo ra các ứng dụng
42
có chất lƣợng tốt hơn. Nếu không mua FlexBuilder, các nhà phát triển có thể sử dụng công cụ Flex SDK miễn phí và có khá đầy đủ tính năng. Ngoài ƣu thế công nghệ, so với các giải pháp thiết kế RIA khác, Flex có sự hậu thuẫn mạnh mẽ vì phát triển trên nền Flash nổi tiếng và đƣợc nhiều ngƣời sử dụng. Những ngƣời dùng Flash nay chuyển lên Flex không cần phải thay một nền khác.
2.2.4.2 Ajax
Đối với RIA, máy khách sẽ chạy mã ứng dụng với hầu hết các thành phần của tầng giao diện và tầng giao diện nằm ngay trên máy khách.
Ứng dụng Web truyền thống Ứng dụng Web sử dụng RIA
Hình 2.7: Mô hình web truyền thống và web sử dụng RIA – Được trích dẫn từ (http://wcfria.wordpress.com/)
Sự khác biệt giữa AJAX và các ứng dụng Web truyền thống đó là đƣa vào nhiều hơn các công cụ tạo nên một ứng dụng web RIA cụ thể. Sự khác biệt chính là sự không đồng bộ JavaScript và XML trong AJAX. Thứ nhất, thực tế ta có những yêu cầu không đồng bộ về hoạt động với máy chủ. Điều này cho phép phát triển các ứng dụng tƣơng tác nhiều hơn. Các cuộc gọi không đồng bộ cho phép ngƣời dùng tiếp tục tƣơng tác với ứng dụng Web trong lúc dữ liệu đang đƣợc chuyển giao.Trong hầu hết các trƣờng hợp, ngƣời sử dụng không nhận ra nó đang thực hiện một yêu cầu. Trong AJAX, JavaScript tạo ra các cuộc gọi không đồng bộ, và với thao tác XML một phần của trang hiện tại đã đƣợc hiện. Điều này tránh đƣợc vấn đề xảy ra trong web truyền thống là phải toàn bộ trang web mỗi khi có một yêu cầu.
43
Các thành phần AJAX
Các thành phần chính của AJAX đã tồn tại kể từ khi bắt đầu có của các ứng dụng Web bắt đầu, và hầu hết đã đƣợc sử dụng trong các ứng dụng Web. Ngoài ra còn có các thành phần giúp xử lý các yêu cầu không đồng bộ (XMLHttpRequest):
− JavaScript xử lý sự kiện : Cho phép bắt đƣợc các tƣơng tác ngƣời dùng. Nó
đƣợc sử dụng trong suốt lịch sử của các ứng dụng Web.
− XMLHttpRequest : Cho phép khách hàng thực hiện một yêu cầu không đồng
bộ với máy chủ
− Document Object Model : Cho phép JavaScript đƣợc phát triển để thao tác một
phần của trang tổng thể
Silverlight là một dạng plug-in dựa trên công nghệ của Microsoft.Net. Nó độc lập với đa nền tảng và đa trình duyệt, nó cho phép phát triển các ứng dụng đa phƣơng tiện đặc biệt là các ứng dụng trên web. Silverlight cung cấp một mô hình lập trình lập trình mềm dẻo và đồng nhất, nó hỗ trợ Ajax, Python, Ruby và các ngôn ngữ lập trình .Net nhƣ Visual
basic, C#. Khả năng đa phƣơng tiện của silverlight thể hiện ở mức độ truyền tải âm thanh và hình ảnh chất lƣợng cao một cách nhanh chóng và hiệu quả trên tất cả các trình duyệt chính nhƣ Internet Explorer, Firefox, Safari.
Với việc sử dụng Expression Studio và Visual Studio, các nhà thiết kế và phát triển có thể hợp tác một cách hiệu quả hơn bằng cách sử dụng chính kỹ năng của họ có hiện nay để phát triển các
sản phẩm web tƣơng lai “Light up the web”. Silverlight kết hợp nhiều công nghệ vào một nền tảng phát triển, nó cho phép lựa chọn nhiều công cụ và ngôn ngữ lập trình thích hợp để giải quyết bài toán thực tế. Silverlight cung cấp các tính năng sau:
− Sự kết hợp của WPF và XAML. − Mở rộng cho ngôn ngữ kịch bản − Sự tích hợp với các ứng dụng đã có
Hình 2.8: Sơ đồ kiến trúc thành phần với Silverlight – Trích trong Chƣơng I - Giáo trình Silverlight
44
− Sử dụng mô hình ngôn ngữ lập trình trên nền Net Framework và các công cụ để kết hợp.
− Hỗ trợ mạng
− Hỗ trợ ngôn ngữ tích hợp truy vấn (LINQ)