Trong kỹ thuật phần mềm, một Ứng dụng web hay web application, web app là một trình ứng dụng mà có thể tiếp cận qua web thông qua mạng như Internet hay intranet.
Ứng dụng web phổ biến nhờ vào sự có mặt vào bất cứ nơi đâu của một chương trình. Khả năng cập nhật và bảo trì ứng dụng Web mà không phải phân phối và cài đặt phần mềm trên hàng ngàn máy tính là lý do chính cho sự phổ biến của nó. Ứng dụng web được dùng để hiện thực Webmail, bán hàng trực tuyến, đấu giá trực tuyến, wiki, diễn đàn thảo luận, Weblog, MMORPG, Hệ quản trị nội dung, Phần mềm quản lý nguồn nhân lực và nhiều chức năng khác.
Lịch sử
Trong dạng tính toán chủ-khách trước đây, mỗi ứng dụng có chương trình khách riêng của nó sẽ phục vụ như giao diện người dùng và phải được cài đặt riêng rẽ trên mỗi máy tính cá nhân của người dùng. Sự nâng cấp phần máy chủ của ứng dụng sẽ cần nâng cấp tất cả máy khách đã được cài trên mỗi máy trạm người dùng, thêm vào đó là chi phí hỗ trợ và giảm năng suất.
Ngược lại, ứng dụng web linh hoạt tạo ra một loạt các tài liệu Web ở định dạng chuẩn được hỗ trợ bởi những trình duyệt phổ biến như HTML/XHTML. Ngôn ngữ kịch bản phía người dùng ở dạng ngôn ngữ chuẩn như JavaScript thường được thêm vào để có thêm những yếu tố động trong giao diện người dùng. Nói chung, mỗi trang Web đơn lẻ được gửi tới người dùng như một tài liệu ổn định, nhưng thứ tự các trang có thể cung cấp cảm giác trực quan, khi những gì người dùng nhập vào sẽ được trả về thông qua thành phần mẫu Web được nhúng vào trong đánh dấu trang. Trong quá trình giao dịch đó, trình duyệt Web sẽ thông dịch và hiển thị trang, và hoạt động như một người dùng chung cho bất kỳ ứng dụng Web nào.
Giao diện
Giao diện web đặt ra rất ít giới hạn khả năng người dùng. Thông qua Java, JavaScript, DHTML, Flash và những công nghệ khác, những phương pháp chỉ ứng dụng mới có như vẽ trên màn hình, chơi nhạc, và dùng được bàn phím và chuột tất cả đều có thể thực hiện được. Những kỹ thuật thông thường như kéo thả cũng được hỗ trợ bởi những công nghệ trên. Những nhà phát triển web thường dùng ngôn ngữ kịch bản phía người dùng để thêm hiệu quả các tính năng, đặc biệt là tạo ra một cảm giác giao tiếp trực quan mà không cần phải tải trang lại (điều mà nhiều người dùng cảm thấy ngắt quãng). Vừa rồi, những công nghệ đã được phát triển để phối hợp ngôn ngữ kịch bản phía người dùng với công nghệ phía máy chủ như PHP. Ajax, một kỹ thuật phát triển web sử dụng kết hợp nhiều công nghệ khác nhau, là một ví dụ về công nghệ hiện đang tạo ra ngày càng nhiều trải nghiệm tương tác hơn.
Xem xét về mặt kỹ thuật
Một ưu thế đặc biệt của việc xây dựng ứng dụng Web để hỗ trợ những tính năng chuẩn của trình duyệt đó là chúng sẽ hoạt động như mong muốn bất kể hệ điều hành hay phiên bản hệ điều hành nào được cài trên máy khách cho trước. Thay vì tạo ra những chương trình khách cho MS Windows, Mac OS X, GNU/Linux, và những hệ điều hành khác, ứng dụng có thể được viết chỉ một lần và triển khai mọi nơi. Tuy nhiên, sự hiện thực không được ổn định của HTML, CSS, DOM và những đặc tính trình duyệt khác có thể gây ra rắc rối trong việc phát triển và hỗ trợ ứng dụng web. Thêm vào đó, khả năng cho người dùng điều chỉnh nhiều cài đặt hiển thị cho trình duyệt của họ (như chọn kích thước font, màu sắc, và kiểu chữ, hoặc tắt tính năng script) có thể can thiệp vào sự ổn định của ứng dụng web.
Một cách tiếp cận khác (ít phổ biến hơn) là dùng Adobe Flash hoặc Java applet để cung cấp một vài hoặc tất cả các giao diện người dùng. Từ khi phần lớn trình duyệt web hỗ trợ những công nghệ này (thường thông qua plug-in), những ứng dụng dựa trên Flash hay Java có thể được hiện thực và triển khai dễ dàng như nhau. Bởi vì chúng cho phép lập trình viên quản lý chặt hơn giao diện, chúng vượt qua nhiều vấn đề về cấu hình trình duyệt, mặc dù sự không tương thích giữa hiện thực bằng Java hay Flash trên máy khách có thể tạo ra sự phức tạp khác nhau. Vì sự tương tự về kiến trúc với chương trình chủ-khách của chúng, gần với chương trình "dày", đã có sự tranh luận về việc hệ thống đó có được gọi là "ứng dụng Web" hay không; một thuật ngữ khác được đề nghị là "Ứng dụng Internet phong phú".
Cấu trúc
Dù có nhiều biến thể, một ứng dụng Web thông thường được cấu trúc như một ứng dụng ba lớp. Ở dạng phổ biến nhất, một trình duyệt Web là lớp thứ nhất, một bộ máy sử dụng một vài công nghệ nội dung Web động (như ASP, ASP.NET, CGI, ColdFusion, JSP/Java, PHP, Python, hoặc Ruby On Rails) là lớp giữa, và một cơ sở dữ liệu là lớp thứ ba. Trình duyệt sẽ gửi yêu cầu đến lớp giữa, lớp giữa sẽ phục vụ bằng cách tạo ra truy vấn và cập nhật cơ sở dữ liệu và tạo ra giao diện người dùng.
Dùng trong kinh doanh
Một chiến lược đang xuất hiện cho những công ty phần mềm ứng dụng đó là cung cấp khả năng tiếp cận bằng Web cho phần mềm trước đây được phân phối như các ứng dụng ở máy. Tùy thuộc vào loại ứng dụng, nó có thể cần sự phát triển toàn bộ giao diện dựa trên trình duyệt khác, hoặc chỉ thêm vào một ứng dụng sẵn có để dùng công nghệ trình diễn khác. Những chương trình hiện nay cho phép người dùng trả phí hàng tháng hoặc hàng năm để sử dụng một phần mềm ứng dụng mà không phải cài nó vào ổ cứng. Một công ty đi theo chiến lược này được gọi là nhà cung cấp dịch vụ ứng dụng (application service provider - ASP), và các ASP hiện đang nhận được nhiều sự chú ý trong ngành công nghiệp phần mềm.
👁️
2 | 🔗 | 💖 | ✨ | 🌍 | ⌚
Trong kỹ thuật phần mềm, một **Ứng dụng web** hay **web application**, **web app** là một trình ứng dụng mà có thể tiếp cận qua web thông qua mạng như Internet hay intranet. Ứng dụng
**Ứng dụng Google Chrome**, hay thường được gọi là **Ứng dụng Chrome**, là một loại ứng dụng web không chuẩn hóa nhất định chạy trên trình duyệt web Google Chrome. Ứng dụng Chrome có thể
**Ứng dụng COVID-19** là các ứng dụng phần mềm di động được thiết kế để hỗ trợ theo dõi liên lạc để đối phó với đại dịch coronavirus 2019-20, tức là quá trình xác định
**Phần mềm ứng dụng** (tiếng Anh: _Application software_, hay còn được viết tắt là _app_) là một loại chương trình có khả năng làm cho thiết bị điện tử thực hiện trực tiếp một công
nhỏ|phải|Một ứng dụng hẹn hò trực tuyến [[Stars Align]] **Ứng dụng hẹn hò** (_Dating app_) tên đầy đủ là **ứng dụng hẹn hò trực tuyến** là một dịch vụ hẹn hò trực tuyến được hiển
**Giao tiếp lập trình ứng dụng mở** (Open API) (thường được gọi là một giao tiếp lập trình ứng dụng công cộng.) là một giao tiếp lập trình ứng dụng công khai cung cấp cho
Một **ứng dụng hỗn hợp** (hay còn gọi là **mashup** hoặc **mash-up**) là một ứng dụng kết hợp nội dung hoặc dịch vụ của nhiều ứng dụng khác nhau không đồng nhất, người ta thường
nhỏ|Email trên nền web Thuật ngữ **Email trên nền web** và **Webmail** ám chỉ việc hiện thực một chương trình xem e-mail dưới dạng một ứng dụng web cho phép người dùng truy cập e-mail
Quỹ Wikimedia phát hành các ứng dụng di động **Wikipedia** chính thức để sử dụng Wikipedia trên nhiều hệ điều hành thiết bị di động. Tất cả đều được phân phối miễn phí qua các
nhỏ|Ảnh chụp màn hình tài liệu [[API web viết bởi NASA]] Một **giao diện lập trình ứng dụng** (, viết tắt: _API_) là một giao diện mà một hệ thống máy tính hay ứng dụng
phải|nhỏ|Trình duyệt web ([[Safari) hiển thị trang web]] nhỏ|Ảnh chụp màn hình của trình duyệt web [[Mozilla Firefox]]**Trình duyệt web**, thường được viết tắt là **Trình duyệt**, là một ứng dụng để truy cập các
**Web 2.0** (còn được gọi là **web tham gia** hay **web xã hội**) cho phép người dùng tương tác và cộng tác với nhau thông qua đối thoại trên phương tiện truyền thông xã hội
**Phần mềm máy chủ ứng dụng** (tiếng Anh: _Application Server_) là một phần mềm (software engine) trong cung cấp ứng dụng phần mềm cho các máy trạm hoặc thiết bị, thông thường là qua mạng
nhỏ|Trò chơi điện tử ứng dụng hóa **Trò chơi điện tử ứng dụng hóa** hay còn gọi tắt là **game hóa** (tiếng Anh: _gamification_) một thuật ngữ về một xu hướng quản lý mới, cho
**Bộ ứng dụng tích hợp** (Intergrated suit) là một nhóm các chương trình đóng gói chung để bán (bundle). Mua một bộ ứng dụng thường hiệu quả hơn về chi phí so với mua các
**Responsive web design** (hay còn gọi **Thiết kế web đáp ứng**) là kiểu mẫu phong cách thiết kế với giao diện, bố cục website thể hiện đẹp, mang tính mỹ thuật với độ hiển thị
**Theo dõi web** là cách mà các nhà điều hành website và bên thứ ba thu thập, lưu trữ và chia sẻ thông tin về hoạt động của khách truy cập trên World Wide Web.
**Web API** là giao diện lập trình ứng dụng cho máy chủ web hoặc trình duyệt web. Đây là khái niệm phát triển web, thường giới hạn ở phía máy khách (client-side) của ứng dụng
**Thiết kế web** hay **thiết kế website** đơn giản là công việc tạo một trang web cho cá nhân, công ty, doanh nghiệp hoặc tổ chức. Có 2 phương thức chính để thiết kế Web
**Shopify Inc.** là một công ty thương mại điện tử đa quốc gia của Canada có trụ sở chính tại Ottawa, Ontario. Shopify là tên của nền tảng thương mại điện tử độc quyền dành
**Nhà** **phát triển web** là một lập trình viên chuyên môn hóa hoặc đặc biệt tham gia vào việc phát triển các ứng dụng World Wide Web bằng cách sử dụng mô hình client server.
**Ứng dụng cơ sở dữ liệu** là một chương trình máy tính có mục đích chính là nhập và truy xuất thông tin từ cơ sở dữ liệu được máy tính hóa. Ví dụ ban
**Web Hypertext Application Technology Working Group** (**WHATWG**, dịch nghĩa: Nhóm làm việc về công nghệ ứng dụng siêu văn bản Web) là một cộng đồng của những người quan tâm đến việc phát triển HTML
phải|nhỏ|500x500px| Một trang web tĩnh được gửi đến người dùng chính xác như nó được lưu trữ. **Trang web tĩnh** hay **trang** **cố định** là trang web được gửi đến trình duyệt web của người
In 3D có nhiều ứng dụng. Trong sản xuất, y học, kiến trúc, trong nghệ thuật và thiết kế tùy biến. Một số người sử dụng máy in 3D để tạo thêm máy in 3D.
phải **Apache Struts** (trước đây là thuộc dự án Apache Jakarta, Struts bây giờ là một dự án độc lập) là một bộ khung mã nguồn mở cho việc phát triển các ứng dụng web
**iWork** là một bộ ứng dụng văn phòng được phát triển bởi Apple Inc. cho hệ điều hành macOS và iOS, và cũng có sẵn trên những nền tảng khác thông qua trang web iCloud.
Mới đây, Trung tâm Công nghệ thông tin và Ngoại ngữ - Trường Đại học Thông tin liên lạc vừa triển khai ứng dụng ASP-KOM trong học tập và họp trực tuyến. Ứng dụng này
Milanote là một ứng dụng và công cụ trực tuyến được sử dụng để quản lý và tổ chức ý tưởng, dự án, và công việc một cách sáng tạo và hiệu quả. Nó cho
Mentimeter là một ứng dụng tạo biểu đồ trực quan và tương tác cho các buổi thuyết trình, lớp học và sự kiện. Với Mentimeter, người dùng có thể tạo các câu hỏi, biểu đồ,
**Gói ứng dụng Mozilla** (ban đầu là **Mozilla**, được quảng cáo với tên **Mozilla Suite**, và có tên mã **Seamonkey**) là một gói Internet được tích hợp đa nền. Việc phát triển nó ban đầu
PaaS là một dịch vụ trong điện toán đám mây cung cấp nền tảng phát triển ứng dụng, gồm hệ điều hành, phần mềm trung gian, cơ sở dữ liệu...Bạn là nhà phát triển hay
Trivie là một ứng dụng học tập sáng tạo, kết hợp giữa trò chơi trí tuệ và kiểm tra kiến thức để giúp học sinh và người học nâng cao hiểu biết của họ trong
Bài Tập Lập Trình Cơ Bản Với Ngôn Ngữ Python Python là ngôn ngữ lập trình xu thế của thời đại. Ở Việt Nam hiện nạy, Bộ Giáo dục & Đào tạo đã quyết định
thumb|right|Giao diện người dùng trên máy tính **Giao diện người sử dụng** (tiếng Anh: **User Interface**, viết tắt: UI) là điểm tương tác và giao tiếp giữa người và máy tính trong một thiết bị.
App Inventor là gì App Inventor là một nền tảng web mã nguồn mở được cung cấp ban đầu bởi Google, năm 2012 Google chuyển giao cho Trung tâm Nghiên cứu Di động của Viện
Classcraft là một ứng dụng độc đáo kết hợp giữa yếu tố trò chơi và giáo dục, nhằm thúc đẩy sự tham gia và tương tác trong lớp học. Được ra mắt vào năm 2013,
**Keep** là một ứng dụng thể dục trên điện thoại di động của Trung Quốc. Ứng dụng đã có sẵn để tải xuống vào ngày 4 tháng 2 năm 2015. Keep được phát triển bởi
Tác giả Vũ Công Tấn Tài hiện đang làm việc như một lập trình viên full-stack toàn thời gian trong lĩnh vực phát triển ứng dụng Web và tham gia vào các dự án triển
**_Ứng dụng tử thần_** (tiếng Anh: _Countdown_) là một bộ phim kinh dị siêu nhiên của Mỹ năm 2019 do Justin Dec đạo diễn và viết kịch bản, và có sự tham gia của Elizabeth
Việc ứng dụng trí tuệ nhân tạo trong giáo dục trên toàn cầu đang thay đổi cách chúng ta dạy và học. Trí tuệ nhân tạo là một trong những kỹ thuật đột phá để
(NSTT) – Mới đây, Trung tâm Ứng dụng KHCN Khánh hòa phối hợp cùng Công ty CP Đầu Tư & Công Nghệ A. Yersin; Công viên phần mềm Quân Đội – ASP; Đại diện VNPT
thumb|Hầu hết các điện thoại Android, như [[Nexus S, cho phép cài đặt ứng dụng từ cửa hàng Play Store, F-Droid hay cài đặt trực tiếp thông qua tập tin APK]] Đây là danh sách
Cộng Đồng Kết Nối Giao Thương SNG (SNG GROUP) tự hào tiên phong trở thành cộng đồng doanh nhân đầu tiên tại Việt Nam ứng dụng chuyển đổi số thông qua việc: - Số hóa
Thực tế ảo (VR) đang trở thành một xu hướng quan trọng trong giáo dục thời đại 4.0. VR mang đến môi trường học tập tương tác và sống động, tạo ra những trải nghiệm
**Phần mềm dạng dịch vụ** (**SaaS** ) là mô hình cấp phép và phân phối phần mềm trong đó phần mềm được cấp phép trên cơ sở đăng ký và được lưu trữ tập trung.
**Web 1.0** là giai đoạn phát triển đầu tiên của World Wide Web (Viết tắt: _www_)- được phát minh bởi Nhà khoa học người Anh Tim Berners-Lee, kéo dài khoảng từ năm 1997 đến năm
**Web 3.0** (Semantic Web - mạng ngữ nghĩa) được Hiệp hội World Wide Web (W3C) xác định như một thế hệ web với những tính năng mới chú trọng vào việc sử dụng các định
nhỏ|250x250px| Các trang web được thiết kế lại cho các màn hình di động, với các kích cỡ khác nhau từ [[điện thoại thông minh, netbook và máy tính bảng, cho đến máy tính xách
**Google Workspace** (tên trước đây là G Suite, Google Apps for Work, hay Google Apps for Business) là một bộ ứng dụng năng suất điện toán đám mây và các công cụ phần mềm cộng