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

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[перевірена версія][очікує на перевірку]
Вилучено вміст Додано вміст
м Відкинуто редагування AQ09 (обговорення) до зробленого Tweeeaaakk
Мітка: Відкіт
Виправлено правопис слова
Рядок 1: Рядок 1:
{{без виносок}}
{{без виносок}}
'''Вебзастосунок''' (''іноді вебдодаток'') — розподілений [[застосунок]], в якому [[Клієнт-серверна архітектура|клієнтом]] виступає [[браузер]], а [[сервер]]ом — [[вебсервер]]. Браузер може бути реалізацією так званих [[тонкий клієнт|тонких клієнтів]] — логіка застосунку зосереджується на сервері, а функція браузера полягає переважно у зображенні інформації, завантаженої мережею з сервера, і передачі назад даних користувача. Однією з переваг такого підходу є той факт, що клієнти не залежать від конкретної операційної системи користувача, тому вебзастосунки є міжплатформовими сервісами. Унаслідок цієї універсальності й відносної простоти розробки вебзастосунки стали широко популярними в кінці [[1990-ті|1990-х]] — початку [[2000-ні|2000-х]] років.
'''Веб-застосунок''' (''іноді веб-додаток'') — розподілений [[застосунок]], в якому [[Клієнт-серверна архітектура|клієнтом]] виступає [[браузер]], а [[сервер]]ом — [[вебсервер|веб-сервер]]. Браузер може бути реалізацією так званих [[тонкий клієнт|тонких клієнтів]] — логіка застосунку зосереджується на сервері, а функція браузера полягає переважно у зображенні інформації, завантаженої мережею з сервера, і передачі назад даних користувача. Однією з переваг такого підходу є той факт, що клієнти не залежать від конкретної операційної системи користувача, тому вебзастосунки є міжплатформовими сервісами. Унаслідок цієї універсальності й відносної простоти розробки вебзастосунки стали широко популярними в кінці [[1990-ті|1990-х]] — початку [[2000-ні|2000-х]] років.


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


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


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


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


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


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


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

Версія за 13:45, 22 травня 2024

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

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

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

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

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

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

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

  • Адаптивний веб-дизайн може бути використаний для створення як від звичайного вебсайту, так й для односторінкового застосунку, який зручний у використанні на пристроях з невеликими екранами.
  • Прогресивний веб-застосунок поєднання звичайних вебсторінок із мобільним застосунком.
  • Мобільний застосунок або «рідний застосунок» запускається на виконання безпосередньо на мобільному пристрою без веббраузера й зазвичай не потребують наявності інтернет з'єднання. Типово пишуться мовою 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 (рос.)

Посилання

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