Вебзастосунок: відмінності між версіями

[перевірена версія][очікує на перевірку]
Вилучено вміст Додано вміст
м Відкинуто редагування AQ09 (обговорення) до зробленого Tweeeaaakk
Мітка: Відкіт
Виправлено правопис слова
Рядок 1:
{{без виносок}}
'''ВебзастосунокВеб-застосунок''' (''іноді вебдодатоквеб-додаток'') — розподілений [[застосунок]], в якому [[Клієнт-серверна архітектура|клієнтом]] виступає [[браузер]], а [[сервер]]ом — [[вебсервер|веб-сервер]]. Браузер може бути реалізацією так званих [[тонкий клієнт|тонких клієнтів]] — логіка застосунку зосереджується на сервері, а функція браузера полягає переважно у зображенні інформації, завантаженої мережею з сервера, і передачі назад даних користувача. Однією з переваг такого підходу є той факт, що клієнти не залежать від конкретної операційної системи користувача, тому вебзастосунки є міжплатформовими сервісами. Унаслідок цієї універсальності й відносної простоти розробки вебзастосунки стали широко популярними в кінці [[1990-ті|1990-х]] — початку [[2000-ні|2000-х]] років.
 
== Технічні особливості ==
Істотною перевагою побудови вебзастосунківвеб-застосунків для підтримки стандартних функцій браузера є те, що функції повинні виконуватися незалежно від операційної системи клієнта. Замість того, щоб писати різні версії для [[Microsoft Windows]], [[Mac OS]] X, [[Linux|GNU/Linux]] й інших операційних систем, застосунок створюється один раз для довільно обраної платформи та на ній розгортається. Проте різна реалізація [[HTML]], [[CSS]], [[DOM]] й інших специфікацій в браузерах може викликати проблеми при розробці вебзастосунківвеб-застосунків і подальшої підтримки. Крім того, можливість користувача налаштовувати багато параметрів браузера (наприклад, розмір шрифту, кольори, відключення підтримки сценаріїв) може перешкоджати коректній роботі застосунку.
 
На початку 2000-х років був популярним{{джерело}} інший (менш універсальний) підхід з використанням [[Adobe Flash]] або [[Java]]-[[аплет]]ів для повної або часткової реалізації призначеного для користувача інтерфейсу. Ці технології надавали програмістові більший контроль над інтерфейсом, і були здатні обходити багато несумісностей у конфігураціях браузерів (хоча несумісність між Java або [[Adobe Flash|Flash]] реалізаціями клієнта спричиняла різні{{які}} ускладнення). Станом на [[2020]] рік Java-аплети та Flash-технологія практично вийшли з ужитку.
 
Через архітектурну схожість з традиційними [[Клієнт-серверна архітектура|клієнт-серверними]] застосунками, певним чином «товстими» клієнтами, існують суперечки щодо коректності зарахування подібних систем до вебзастосунківвеб-застосунків; альтернативний термін «[[Насичений інтернет-застосунок]]» ({{lang-en|Rich Internet Application}}).
 
== Типи мобільних вебзастосунків ==
 
Існує декілька підходів для створення вебзастосунківвеб-застосунків для мобільних пристроїв:
* [[Адаптивний вебдизайн|Адаптивний веб-дизайн]] може бути використаний для створення як від звичайного вебсайту, так й для [[Односторінковий застосунок|односторінкового застосунку]], який зручний у використанні на пристроях з невеликими екранами.
* [[Прогресивний вебзастосунок|Прогресивний веб-застосунок]] поєднання звичайних вебсторінок із мобільним застосунком.
* [[Мобільний застосунок]] або «рідний застосунок» запускається на виконання безпосередньо на мобільному пристрою без веббраузера й зазвичай не потребують наявності інтернет з'єднання. Типово пишуться мовою [[Java]] для [[Android]]-пристроїв або на [[Objective-C]] чи [[Swift (мова програмування)|Swift]] для [[iOS]]. Останнім часом, такі [[Програмний каркас|програмні каркаси]], як [[React|React Native]], [[Flutter]], [[Xamarin]] дозволяють розробляти мобільні застосунки відразу для декількох мобільних платформ використовуючи одну мову програмування (як правило, одну із поширеніших, на зразок JavaScript), замість стандартних для мобільних застосунків.
* ''Гібридні застосунки'' вбудовують вебсайт всередину мобільного застосунку. Можуть бути побудовані за допомогою гібридних програмних каркасів (framework) таких як: [[Apache Cordova]], [[Ionic]] або [[Appcelerator Titanium]]. Цей підхід дозволяє розробникам використовувати сучасні вебтехнології, разом зі збереженням певних переваг саме мобільних застосунків: застосування апаратного прискорення, офлайн операції, доступ до магазину застосунків тощо.
 
== Архітектура вебзастосунків ==
ВебзастосунокВеб-застосунок отримує запит від клієнта і виконує обчислення, після цього формує вебсторінку і відправляє її клієнтові мережею з використанням протоколу HTTP. Саме вебзастосуноквеб-застосунок може бути клієнтом інших служб, наприклад, [[бази даних]] або стороннього вебзастосункувеб-застосунку, розташованого на іншому сервері. Яскравим прикладом вебзастосункувеб-застосунку є система управління вмістом статей [[Вікіпедія|Вікіпедії]]: безліч її учасників можуть брати участь у створенні мережевої енциклопедії, використовуючи для цього браузери своїх операційних систем (Microsoft Windows, GNU/Linux або будь-якої іншої операційної системи) без завантаження додаткових виконуваних модулів для роботи з базою даних статей.
 
Для більшої інтерактивності й продуктивності розроблений новий підхід до розробки вебзастосунків, названий [[AJAX]], і який нині є стандартним де-факто. При використанні Ajax сторінки вебзастосунку здатні відправляти вебзапити до сервера у фоновому режимі, і не перезавантажуються цілком, а лише довантажують необхідні дані з сервера, що значно пришвидшує роботу і робить її зручнішою.