Очікує на перевірку

Вебзастосунок

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Вебзастосу́нокабовебдода́ток(написання до 2019 р.[1][2]веб-застосу́нок,веб-дода́ток) — розподіленийзастосунок,в якомуклієнтомвиступаєбраузерсерверомвебсервер.Браузер може бути реалізацією так званихтонких клієнтів— логіка застосунку зосереджується на сервері, а функція браузера полягає переважно у зображенні інформації, завантаженої мережею з сервера, і передачі назад даних користувача. Однією з переваг такого підходу є той факт, що клієнти не залежать від конкретної операційної системи користувача, тому вебзастосунки є міжплатформовими сервісами. Унаслідок цієї універсальності й відносної простоти розробки вебзастосунки стали широко популярними в кінці1990-х— початку2000-хроків.

Технічні особливості

[ред.|ред. код]

Істотною перевагою побудови вебзастосунків для підтримки стандартних функцій браузера є те, що функції повинні виконуватися незалежно від операційної системи клієнта. Замість того, щоб писати різні версії дляMicrosoft Windows,Mac OSX,GNU/Linuxй інших операційних систем, застосунок створюється один раз для довільно обраної платформи та на ній розгортається. Проте різна реалізаціяHTML,CSS,DOMй інших специфікацій в браузерах може викликати проблеми при розробці вебзастосунків і подальшої підтримки. Крім того, можливість користувача налаштовувати багато параметрів браузера (наприклад, розмір шрифту, кольори, відключення підтримки сценаріїв) може перешкоджати коректній роботі застосунку.

На початку 2000-х років був популярним[джерело?]інший (менш універсальний) підхід з використаннямAdobe FlashабоJava-аплетівдля повної або часткової реалізації призначеного для користувача інтерфейсу. Ці технології надавали програмістові більший контроль над інтерфейсом, і були здатні обходити багато несумісностей у конфігураціях браузерів (хоча несумісність між Java абоFlashреалізаціями клієнта спричиняла різні[які?]ускладнення). Станом на2020рік Java-аплети та Flash-технологія практично вийшли з ужитку.

Через архітектурну схожість з традиційнимиклієнт-сервернимизастосунками, певним чином «товстими» клієнтами, існують суперечки щодо коректності зарахування подібних систем до вебзастосунків; альтернативний термін«Насичений інтернет-застосунок»(англ.Rich Internet Application).

Існує модель[3][4],яка дозволяє розрізнятивебсайтита вебзастосунки за рівнем їх технологічної зрілості. Згідно з цією моделлю, вебсайти та вебзастосунки поділяються на декілька рівнів:

  • Нульовий рівень включає статичні сторінки, створені лише за допомогою HTML. Їх пропонується називати "вебсайтами" або вебзастосунками нульового рівня зрілості.
  • Перший рівень представляє вебзастосунки, які використовують серверні бекенд технології для обробки запитів з браузера та динамічної генерації сторінок, але передають браузеру статичний HTML код.
  • Другий рівень характеризується наявністю динаміки на стороні браузера, з можливістю маніпулювати DOM-деревом та виконувати запити до сервера з клієнтської сторони.
  • На третьому рівні розміщені вебдодатки, що тим чи іншим способом використовують в роботі браузера такі технології якXMLHttpRequest,Fetch API,AJAX,або сучасні бібліотеки та фреймворки, що допомагають в створенні вебдодатків.

Відповідність конкретного вебдодатка рівню зрілості визначається за максимальним рівнем використаної в ньому технології.

Типи мобільних вебзастосунків

[ред.|ред. код]

Існує декілька підходів для створення вебзастосунків для мобільних пристроїв:

  • Адаптивний вебдизайнможе бути використаний для створення як від звичайного вебсайту, так й дляодносторінкового застосунку,який зручний у використанні на пристроях з невеликими екранами.
  • Прогресивний вебзастосунокпоєднання звичайних вебсторінок із мобільним застосунком.
  • Мобільний застосунокабо «рідний застосунок» запускається на виконання безпосередньо на мобільному пристрою без веббраузера й зазвичай не потребують наявності інтернет з'єднання. Типово пишуться мовоюJavaдляAndroid-пристроїв або наObjective-CчиSwiftдляiOS.Останнім часом, такіпрограмні каркаси,якReact Native,Flutter,Xamarinдозволяють розробляти мобільні застосунки відразу для декількох мобільних платформ використовуючи одну мову програмування (як правило, одну із поширеніших, на зразок JavaScript), замість стандартних для мобільних застосунків.
  • Гібридні застосункивбудовують вебсайт всередину мобільного застосунку. Можуть бути побудовані за допомогою гібридних програмних каркасів (framework) таких як:Apache Cordova,IonicабоAppcelerator Titanium.Цей підхід дозволяє розробникам використовувати сучасні вебтехнології, разом зі збереженням певних переваг саме мобільних застосунків: застосування апаратного прискорення, офлайн операції, доступ до магазину застосунків тощо.

Архітектура вебзастосунків

[ред.|ред. код]

Вебзастосунок отримує запит від клієнта і виконує обчислення, після цього формує вебсторінку і відправляє її клієнтові мережею з використанням протоколу HTTP. Саме вебзастосунок може бути клієнтом інших служб, наприклад,бази данихабо стороннього вебзастосунку, розташованого на іншому сервері. Яскравим прикладом вебзастосунку є система управління вмістом статейВікіпедії:безліч її учасників можуть брати участь у створенні мережевої енциклопедії, використовуючи для цього браузери своїх операційних систем (Microsoft Windows, GNU/Linux або будь-якої іншої операційної системи) без завантаження додаткових виконуваних модулів для роботи з базою даних статей.

Для більшої інтерактивності й продуктивності розроблений новий підхід до розробки вебзастосунків, названийAJAX,і який нині є стандартним де-факто. При використанні Ajax сторінки вебзастосунку здатні відправляти вебзапити до сервера у фоновому режимі, і не перезавантажуються цілком, а лише довантажують необхідні дані з сервера, що значно пришвидшує роботу і робить її зручнішою.

Для створення вебзастосунків використовуються різноманітні серверні технології тамови програмування.

Назва Ліцензія Вебсервер
ASP власницька спеціалізований
ASP.NET власницька спеціалізований
Java вільна безліч, зокрема вільних
Groovy вільна практично будь-який
Perl вільна практично будь-який
PHP вільна практично будь-який
Python вільна практично будь-який
Ruby вільна практично будь-який

Клієнтська частина може використовувати:

Література

[ред.|ред. код]
  • Марко Беллиньясо Разработка 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(рос.)

Посилання

[ред.|ред. код]
  1. Український правопис 2019 року/НАН України— Київ:Наукова думка,2019. — 392 с. —ISBN 978-966-00-1728-3.§35.4.п.2
  2. Український правопис. Текст офіційного видання[Архівовано14 серпня 2021 уWayback Machine.]на сайтіІнституту мовознавства ім. О. О. Потебні НАНУ[Архівовано22 січня 2021 уWayback Machine.]
  3. Модель рівнів зрілості вебдодатків: ключові етапи еволюції. Автоматизація та комп’ютерно-інтегровані технології у виробництві та освіті: стан, досягнення, перспективи розвитку: Матеріали Всеукр. науково-практ. Internet-конф., м. Черкаси, 11–17 берез. 2024 р. Черкаси, 2024. С. 315–317(PDF).conference.ikto.net.Процитовано 5 червня 2024.
  4. Модель рівнів зрілості вебдодатків: від статичних сторінок до сучасних фреймворків. Стан, досягнення та перспективи інформаційних систем і технологій: Матеріали XXIV Всеукр. науково-техн. конф. молодих вчен., аспірантів та студентів, м. Одеса, 18–19 квіт. 2024 р. Одеса, 2024. С. 258–259(PDF).ontu.edu.ua.Процитовано 5 червня 2024.

Ресурси Інтернету

[ред.|ред. код]