Trong lĩnh vực phần mềm, một Ứng dụng trực tuyến hay web application, web app là một ứng dụng có thể truy cập qua internet hoặc mạng nội bộ.
Ứng dụng trực tuyến rất phổ biến vì có thể truy cập từ bất cứ đâu. Sự tiện lợi trong việc cập nhật và bảo trì mà không cần phân phối và cài đặt phần mềm trên hàng nghìn máy tính là lý do chính cho sự ưa chuộng của nó. Các ứng dụng này được dùng cho Webmail, bán hàng trực tuyến, đấu giá trực tuyến, wiki, diễn đàn, weblog, MMORPG, hệ quản trị nội dung, phần mềm quản lý nhân sự và nhiều chức năng khác.
Lịch sử
Trước đây, trong mô hình máy chủ-khách, mỗi ứng dụng có một chương trình khách riêng cần được cài đặt trên từng máy tính cá nhân. Việc nâng cấp phần mềm máy chủ yêu cầu nâng cấp tất cả các máy khách, dẫn đến chi phí hỗ trợ cao và giảm hiệu suất.
Ngược lại, các ứng dụng web linh hoạt tạo ra tài liệu web theo định dạng chuẩn như HTML/XHTML, được hỗ trợ bởi các trình duyệt phổ biến. Ngôn ngữ kịch bản phía người dùng như JavaScript thường được sử dụng để thêm các yếu tố động vào giao diện. Mỗi trang web được gửi đến người dùng dưới dạng tài liệu ổn định, nhưng thứ tự các trang có thể tạo cảm giác trực quan khi các thông tin người dùng nhập được phản hồi qua các thành phần mẫu web tích hợp. Trình duyệt sẽ giải mã và hiển thị trang, hoạt động như một công cụ chung cho mọi ứng dụng web.
Giao diện
Giao diện web có rất ít hạn chế đối với khả năng của người dùng. Nhờ Java, JavaScript, DHTML, Flash và các công nghệ khác, các chức năng như vẽ trên màn hình, phát nhạc, và sử dụng bàn phím và chuột đều khả thi. Các kỹ thuật như kéo thả cũng được hỗ trợ. Các nhà phát triển thường sử dụng ngôn ngữ kịch bản phía người dùng để tăng cường tính năng, tạo ra trải nghiệm giao tiếp trực quan mà không cần tải lại trang, điều mà nhiều người dùng cảm thấy gián đoạn. Các công nghệ hiện đại như Ajax phối hợp nhiều công nghệ khác nhau, mang lại trải nghiệm tương tác ngày càng phong phú.
Xem xét về mặt kỹ thuật
Lợi thế của việc xây dựng ứng dụng web với các tính năng chuẩn trình duyệt là chúng hoạt động như mong muốn bất kể hệ điều hành nào đang được sử dụng. Thay vì phát triển chương trình khách cho các hệ điều hành như MS Windows, Mac OS X, GNU/Linux, ứng dụng chỉ cần viết một lần và có thể triển khai ở mọi nơi. Tuy nhiên, sự không ổn định của HTML, CSS, DOM và các đặc tính trình duyệt có thể gây khó khăn trong phát triển và hỗ trợ ứng dụng web. Hơn nữa, khả năng người dùng điều chỉnh cài đặt trình duyệt như kích thước font, màu sắc, kiểu chữ, hoặc tắt tính năng script có thể ảnh hưởng đến sự ổn định của ứng dụng web.
Một phương pháp ít phổ biến hơn là sử dụng Adobe Flash hoặc Java applet để cung cấp một phần hoặc toàn bộ giao diện người dùng. Với hầu hết các trình duyệt hỗ trợ các công nghệ này thông qua plug-in, các ứng dụng dựa trên Flash hoặc Java có thể được triển khai dễ dàng. Chúng cho phép lập trình viên kiểm soát giao diện tốt hơn, vượt qua nhiều vấn đề cấu hình trình duyệt, mặc dù sự không tương thích giữa các phiên bản Java hoặc Flash có thể gây ra sự phức tạp khác nhau. Vì tính tương tự với hệ thống chương trình chủ-khách, có ý kiến cho rằng chúng có thể không nên được gọi là 'ứng dụng web'; thuật ngữ 'Ứng dụng Internet phong phú' thường được đề xuất.
Cấu trúc
Dù có nhiều biến thể, một ứng dụng web thông thường thường có cấu trúc ba lớp. Lớp đầu tiên là trình duyệt web, lớp giữa là một máy chủ sử dụng công nghệ nội dung web động (như ASP, ASP.NET, CGI, ColdFusion, JSP/Java, PHP, Python, hoặc Ruby On Rails), và lớp thứ ba là cơ sở dữ liệu. Trình duyệt gửi yêu cầu đến lớp giữa, lớp giữa xử lý yêu cầu bằng cách truy vấn và cập nhật cơ sở dữ liệu, đồng thời tạo giao diện người dùng.
Dùng trong kinh doanh
Một xu hướng mới là các công ty phần mềm cung cấp khả năng truy cập qua web cho các phần mềm trước đây chỉ phân phối dưới dạng ứng dụng máy tính. Tùy thuộc vào ứng dụng, có thể cần phát triển giao diện hoàn toàn mới dựa trên trình duyệt hoặc chỉ thêm công nghệ trình diễn vào ứng dụng hiện có. Các chương trình hiện cho phép người dùng thanh toán hàng tháng hoặc hàng năm để sử dụng phần mềm mà không cần cài đặt trên ổ cứng. Những công ty theo xu hướng này được gọi là nhà cung cấp dịch vụ ứng dụng (ASP), và các ASP đang ngày càng nhận được sự chú ý trong ngành công nghiệp phần mềm.
|
|
Liên kết bên ngoài
- Cuộc chiến API của Microsoft — Một thảo luận về cách các ứng dụng web đang thay thế ứng dụng Windows
- Web Applications 1.0 là tài liệu hiện tại về cách các ứng dụng web sẽ hoạt động.
- Con đường khác phía trước — Một bài viết cho rằng tương lai nằm ở phía máy chủ, không phải giao diện phong phú trên máy khách
- Ứng dụng Web trong Dự án Danh bạ Mở
- Nhà máy phần mềm khách Web — Một thảo luận về cách tạo các ứng dụng web và luồng trang tích hợp trên nền tảng Microsoft.