Вебзастосунок
Веб-додаток — розподілений застосунок, в якому клієнтом виступає браузер, а сервером — веб-сервер. Браузер може бути реалізацією так званих тонких клієнтів. Браузер здатний відображати веб-сторінки і, як правило, входить до складу операційної системи, а функції його оновлення і супроводу лежать на постачальнику операційної системи. Логіка застосунку зосереджується на сервері, а функція браузера полягає в основному у відображенні інформації, завантаженої по мережі з сервера, і передачі назад даних користувача. Однією з переваг такого підходу є той факт, що клієнти не залежать від конкретної операційної системи користувача, і веб-застосунку, таким чином, є міжплатформовими сервісами. Унаслідок цієї універсальності і відносної простоти розробки веб-застосунки стали широко популярними в кінці 1990-х — початку 2000-х років.
Технічні особливості
Істотною перевагою побудови веб-застосунків для підтримки стандартних функцій браузера полягає в тому, що функції повинні виконуватися незалежно від операційної системи даного клієнта. Замість того, щоб писати різні версії для Microsoft Windows, Mac OS X, GNU/Linux і інших операційних систем, застосунок створюється один раз для довільно вибраної платформи і на ній розгортається. Проте різна реалізація HTML, CSS, DOM і інших специфікацій в браузерах може викликати проблеми при розробці веб-застосунків і подальшої підтримки. Крім того, можливість користувача настроювати багато параметрів браузера (наприклад, розмір шрифту, кольори, відключення підтримки сценаріїв) може перешкоджати коректній роботі застосунку.
Інший (менш універсальний) підхід полягає у використанні Adobe Flash або Java-аплетів для повної або часткової реалізації призначеного для користувача інтерфейсу. Оскільки більшість браузерів підтримують ці технології (як правило, за допомогою плагінів), Flash- або Java-застосунки можуть виконуватися з легкістю. Оскільки вони надають програмістові більший контроль над інтерфейсом, вони здатні обходити багато несумісності в конфігураціях браузерів, хоча несумісність між Java або Flash реалізаціями на стороні клієнта може приводити до різних ускладнень. У зв'язку з архітектурною схожістю з традиційними клієнт-серверними застосунками, в деякому роді "товстими" клієнтами, існують спори щодо коректності віднесення подібних систем до веб-застосунків; альтернативний термін "Багатий Інтернет Застосунок" (англ. Rich Internet Application).
Архітектура веб-застосунків
Веб-застосунок отримує запит від клієнта і виконує обчислення, після цього формує веб-сторінку і відправляє її клієнтові по мережі з використанням протоколу HTTP. Саме веб-застосунок може виступати як клієнт інших служб, наприклад, бази даних або стороннього веб-застосунку, розташованого на іншому сервері. Яскравим прикладом веб-застосунку є система управління вмістом статей Вікіпедії: безліч її учасників можуть брати участь в створенні мережевої енциклопедії, використовуючи для цього браузери своїх операційних систем (Microsoft Windows, GNU/Linux або будь-яка інша операційна система) і не завантажуючи додаткових виконуваних модулів для роботи з базою даних статей.
Для більшої інтерактивності і продуктивності був розроблений новий підхід до розробки веб-застосунків, названий AJAX, і який нині є стандартним де-факто. При використанні Ajax сторінки веб-застосунку здатні відправляти веб-запити до сервера у фоновому режимі, і не перезавантажуються цілком, а лише довантажують необхідні дані з сервера, що значно пришвидшує роботу і робить її зручнішою.
Для створення веб-застосунків на стороні сервера використовуються різноманітні технології і мови програмування
Назва | Ліцензія | Веб-сервер |
---|---|---|
ASP | власницька | спеціалізований |
ASP.NET | власницька | спеціалізований |
Java | вільна | безліч, зокрема вільних |
Perl | вільна | практично будь-який |
PHP | вільна | практично будь-який |
Python | вільна | практично будь-який |
Ruby | вільна | практично будь-який |
На стороні клієнта використовується:
- JavaScript
- Flash
- Java / JavaFX
- ActiveX
- Silverlight
Література
- Марко Беллиньясо Разработка Web-приложений в среде ASP.NET 2.0: задача — проект — решение = ASP.NET 2.0 Website Programming: Problem - Design - Solution. — М.: «Диалектика», 2007. — С. 640. — ISBN 0-7645-8464-2
- Олищук Андрей Владимирович Разработка Web-приложений на PHP 5. Профессиональная работа. — М.: «Вильямс», 2006. — С. 352. — ISBN 5-8459-0944-9
Посилання
Ресурси Інтернету
- Web Applications Working Group at the World Wide Web Consortium (W3C)