1   2   3   4   5   6   7
Ім'я файлу: Курсова.docx
Розширення: docx
Розмір: 2663кб.
Дата: 18.03.2023
скачати

Вибір засобів реалізації




Розробка веб-сайтів – це процес створення веб-сайтів та додатків для інтернету або для приватної мережі, відомий як інтернет. Розробка веб-сайтів не стосується дизайну веб-сайту; швидше, це все про кодування та програмування, що забезпечує функціональність веб-сайту [4].

Від найпростіших, статичних веб-сторінок до платформ і додатків соціальних медіа, від веб-сайтів електронної комерції до систем управління контентом (CMS); всі інструменти, якими ми користуємось через інтернет щодня, були розроблені веб-розробниками.

Веб-розробка може бути розбита на три шари (табл. 1.3): кодування на стороні клієнта (фронтенд), кодування на стороні сервера (бекенд) та технології баз даних.
Таблиця 1.3 Частини веб розробки



Назва

Опис

Приклад технологій

розробки

1

Клієнтська

Сценарії на стороні клієнта

HTML, CSS,




сторона

або розробка інтерфейсу

Vue.js, Vuetify,







стосується всього, що

JavaScript,







переживає кінцевий

React.js, Bootstrap.







користувач безпосередньо.










Код клієнта виконується у веб-










браузері і безпосередньо










стосується того, що бачать










люди, відвідуючи веб-










сайт. Такі речі, як










компонування, шрифти,










кольори, меню та контактні










форми, керуються










фронтендом.




Продовження таблиці 1.3




Назва

Опис

Приклад

технологій розробки

2

На стороні сервера

Сценарії на стороні сервера або розробка бекенду – це все, що відбувається за кадром. Бекенд це по суті частина веб-сайту, яку користувач насправді не бачить. Він несе відповідальність за зберігання та впорядкування даних та забезпечує те, що все на стороні клієнта працює

безперебійно.

PHP, Laravel, Node.js, Python, Express.js, Docker.

3

Технологія баз даних

Веб-сайти також покладаються на технологію баз даних. База даних містить усі файли та вміст, необхідний веб-сайту для

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

даних

MySQL,

PostgresSQL, OracleSQL, MongoDB

      1. Розробка інтерфейсу

Завдання розробника frontend кодувати інтерфейс веб-сайту чи програми; тобто частина веб-сайту, яку бачить і взаємодіє користувач. Вони беруть дані і перетворюють їх у те, що легко зрозуміле, візуально приємне та повністю функціональне для повсякденного користувача. Вони працюють над розробками, наданими веб-дизайнером, і реалізують їх за допомогою HTML, JavaScript та CSS [5].

Мови розмітки використовуються для визначення форматування текстового файлу. Іншими словами, мова розмітки повідомляє програмне забезпечення, яке відображає текст, як слід форматувати текст. Мови розмітки є повністю розбірливими для читання – вони містять стандартні слова, але теги розмітки приховані від користувача в кінцевому варіанті роботи.

Дві найпопулярніші мови розмітки HTML та XML. HTML розшифровується як мова розмітки HyperText та використовується для створення веб-сайтів. Додані до звичайного текстового документа, всі теги HTML описують, як цей документ повинен відображатися веб-браузером.

Невідмінна частина будь-якої веб сторінки – каскадні стилі розмітки сторінки або CSS. Стилі це в основному сукупність стилістичних правил. Мови аркушів стилів використовуються, доволі буквально, для оформлення документів, написаних мовами розмітки.

CSS розшифровується як каскадні таблиці стилів з акцентом на

«стиль». Хоча HTML використовується для структури веб-документа, визначає такі речі, як заголовки та абзаци, і дозволяє вставляти зображення, відео та інші медіа, CSS визначає стиль створеного документа.


      1. Розробка серверної частини

Код, який створюють розробники бекенду, гарантує, що все, що будує розробник frontend, є повністю функціональним. Головне завдання

розробника серверної частини – переконатися, що сервер, програма та база даних взаємодіють між собою. Для вирішення такої складної задачі розробники використовують серверні мови, такі як PHP, Ruby, Python та Java для створення програми.

Веб-технології стрімко розвиваються, і щоб встигати за швидкістю розвитку нових технологій, у веб-програмістів часто бракує часу для реалізації повсякденних завдань з нуля, таких як: автентифікація, API, тестування, дебаг, кешування і т.д. Саме для спрощення розробки сайтів і швидкого вирішення цих завдань були придумані веб-фреймворки [6].

Фреймворк – це каркас, призначений для створення динамічних веб- сайтів, веб-додатків, служб або ресурсів. Він спрощує розробку і позбавляє від необхідності писати звичайний код. Фреймворк спрощує доступ до бази даних, розробку інтерфейсу та зменшує дублювання коду [7].

Розглянемо один з популярних фреймворків Yii 2. Yii це універсальний фреймворк, і він може бути задіяний у всіх типах веб- додатків.

Завдяки своїй складовій структурі та чудовій підтримці кешу, фреймворки особливо підходять для розробки великих проектів, таких як портали, форуми, CMS, магазини або програми RESTful. Yii – це командний проект. Він підтримується і розвивається сильною командою та великою спільнотою розробників. Автор цього фреймворку стежать за тенденціями розвитку веб-сайтів та інших проектів.

Найбільш підходящі можливості і кращі практики регулярно впроваджуються в фреймворк в вигляді простих і елегантних інтерфейсів:

      • Як і багато інших PHP фреймворків, для організації коду Yii використовує архітектурний патерн MVC.

      • Yii дотримується філософії простого і елегантного коду не намагаючись ускладнювати дизайн тільки заради проходження будь-якими шаблонами проектування.

      • Yii є full-stack фреймворком і включає в себе перевірені і добре зарекомендовані в себе можливості: ActiveRecord для реляційних і NoSQL баз даних, підтримку REST API, багаторівневе кешування та інше.

      • Yii відмінно масштабований. Можна налаштувати або замінити практично будь-яку частину основного коду. Використовуючи архітектуру розширень, легко ділитися кодом або використовувати код спільноти.

      • Одна з головних цілей Yii продуктивність [8].

Розглянемо також не менш популярний фреймворк Laravel 7. Laravel – це фреймворк для веб-додатків з виразним і елегантним синтаксисом. Він дозволить спростити вирішення основних наболілих завдань, таких як автентифікація, маршрутизація, сесії і кешування. Laravel це спроба об'єднати все найкраще, що є в інших PHP фреймворк, а також Ruby on Rails, ASP.NET MVC і Sinatra [9].

Laravel – доступний, але потужний. Має безліч відмінних інструментів для великих, надійних додатків:

      • Як і багато інших PHP фреймворків, для організації коду Laravel використовує архітектурний патерн MVC.

      • Laravel дотримується філософії виразного, красивого синтаксису. Він призначений для людей, які цінують елегантність, простоту і читаність.

      • Функціонал Laravel є простим для розуміння і використання.

      • Більшість функцій Laravel чудово працюють, не вимагаючи додаткових налаштувань. Вони спираються на загальноприйняті стандарти написання коду, роблячи його інтуїтивно зрозумілим.

      • Документація Laravel закінчена і постійно оновлюється.

      • Чудова IoC (Інверсія управління).

      • Зручна система міграцій.

      • Інтегрована система модульного тестування.

Обидва фреймворка для організації коду використовують архітектурний патерн MVC [10]. При детальному розгляді ці фреймворки складаються з трьох основних компонентів:

      • Model – це сам додаток який нічого не знає про HTTP запитах.

      • View це HTTP запит / відповідь і уявлення даних, які вимагає клієнт від сервера.

      • Controller – це кілька і більше класів, чиє завдання абстрагування моделі від HTTP.

За архітектурою дані фрейморкі ідентичні, так як реалізують один і той же архітектурний патерн. Він дозволяє швидко реалізувати проект, а також легко супроводжувати і масштабувати його в подальшому.

Розширення важлива частина фреймворку, тому розглянемо їх докладніше. Розширення – це можливість підключати додаткові модулі або бібліотеки для фрейморка, які дозволять розширити його можливості. Yii і Laravel підтримують таку можливість. На даний момент, розширень набагато більше, звичайно ж, у Yii, так як фреймворк живе набагато довше, ніж Laravel, однак другий, в свою чергу, розвивається дуже великими темпами і включає в себе багато всього для роботи відразу «з коробки».

Розширення є абсолютно для будь-якого завдання, будь то панель адміністратора або ж платіжна система.

Чимало важливим фактором при виборі фреймворка є його документація. Через малу кількість років розробки або особистих переконань авторів документація Laravel дуже мізерна і неінформативна. Тому для навчання доведеться дивитися вихідний код, і як наслідок, не завжди буде зрозуміло, що робить та чи інша функція. В Yii ж є велика і корисна документація, де описана кожна функція із зазначенням її призначення і приклад використання. Так що, безсумнівно, це величезний плюс фреймворка Yii.

Для належної роботи сайту важлива підтримка REST API. REST – це архітектурний стиль взаємодії між компонентами розподілених додатків у мережі. REST – це набір послідовних обмежень, які слід враховувати при проектуванні розподіленої системи гіпермедіа. У деяких випадках (інтернет- магазини, пошукові системи, інші системи на основі даних) це може

підвищити продуктивність та спростити архітектуру. Загалом, компоненти REST взаємодіють із клієнтами та серверами у всесвітній мережі.

В Інтернеті віддалені процедурні виклики можуть бути звичайними HTTP-запитами (зазвичай "GET" або "POST"; це називається "REST-запит"), а необхідні дані передаються як параметри запиту.

Для веб-служб, які відповідають REST тобто, не порушуючи жодних обмежень, що застосовуються до нього, використовується термін "RESTful". На відміну від веб-служб на основі SOAP, веб-API RESTful не має "офіційного" стандарту. Справа в тому, що REST – це архітектурний стиль, а SOAP протокол. Хоча сам REST не є стандартом, більшість реалізацій RESTful використовують стандарти HTTP, URL, JSON та XML [11].

В кінцевому рахунку, в даний час всі сучасні PHP фреймворки зобов'язані підтримувати REST архітектуру. Нижче наведено список можливостей фреймворків для роботи з REST API.

Yii 2:

      • Підтримка JSON, JSONP і XML.

      • Роутинг відповідно до REST-запитами.

      • Підтримка HATEAOS.

      • Кешування запитів.

      • Обмеження швидкості. Laravel:

      • Налаштування роутінга REST-запитів.

      • Підтримка JSON, JSONP.

На основі проведеного аналізу був зроблений вибір на сторону, що активно розвивається Laravel, його структура дозволяє легко масштабувати веб-додаток. Yii є більш стабільним, але менш масштабованим.


      1. Розробка бази даних

Для розробки бази даних використовують такі інструменти, як MySQL, Oracle чи SQL Server, щоб знаходити, зберегти або відредагувати дані та повернути їх користувачеві за допомогою коду візуальної частини.

Вище перелічені мови використовуються не лише для створення веб- сайтів, програмного забезпечення та додатків; вони також використовуються для створення та управління базами даних.

Бази даних не розроблені для розуміння тих же мов, на яких запрограмовані програми, тому важливо мати мову, яку вони розуміють – як SQL, стандартну мову для доступу та маніпулювання реляційними базами даних. SQL означає структурована мова запитів.

Вона має власну розмітку і в основному дозволяє програмістам працювати з даними, що зберігаються в системі баз даних [12]. Розглянемо детальніше різни типи, переваги та недоліки баз даних (табл.1.4).
Таблиця 1.4 – Бази даних




Назва

Переваги

Недоліки

1

Oracle

Має останні інновації та функції, що надходять від їх продукції, оскільки Oracle прагне встановити планку для інших інструментів управління базами даних.

Вартість Oracle може бути непосильною, особливо для менших організацій.

Продовження таблиці 1.4




Назва

Переваги

Недоліки

1

Oracle

Інструменти управління базами даних Oracle також надзвичайно надійні, і ви можете знайти той, який може робити практично все, про що ви можете подумати [13].

Після встановлення система може

вимагати значних ресурсів, тому для впровадження Oracle може знадобитися оновлення

обладнання.

2

MySQL

Безкоштовний.

Ви можете витратити багато часу і сил, щоб змусити MySQL робити те, що інші системи роблять

автоматично.

Пропонує безліч функціональних можливостей.

Немає вбудованої підтримки для XML

або OLAP.

Існують різноманітні інтерфейси користувачів.

Підтримка доступна для безкоштовної версії, але за неї

потрібно заплатити.

Це може бути зроблено для роботи з іншими базами даних, включаючи

DB2 та Oracle.




Продовження таблиці 1.4




Назва

Переваги

Недоліки

3

Microsof t

SQL

Server

Це дуже швидко і стабільно.

Ціни на підприємства можуть перевищувати багато організацій.

Пропонує можливість регулювання та відстеження рівнів продуктивності, що може зменшити використання ресурсів.

Навіть при налаштуванні продуктивності Microsoft SQL Server може

обробляти ресурси.

Є можливість отримати доступ до візуалізації на мобільних пристроях.

Багато людей мають проблеми з

використанням інтеграційних служб SQL Server для імпорту

файлів [14].

Дуже добре працює з іншими

продуктами Microsoft.




4

PostgreS QL

Ця система управління базами даних є масштабованою і може

обробляти терабайти даних.

Не чітка документація.

Підтримує JSON.

Конфігурація може бути

заплутаною.

Існують різноманітні заздалегідь визначені функції.

Швидкість може постраждати під час великих масових

операцій чи запитів.

Доступна низка інтерфейсів.




Продовження таблиці 1.4




Назва

Переваги

Недоліки

5

MongoDB

Швидка і проста використанні.

у

Установки

замовчуванням захищені

за не

Підтримує JSON та документи NoSQL.

інші

Налаштування бути

процесом.

може тривалим

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

Інструменти для перекладу SQL на запити MongoDB доступні, але вони додають додатковий крок до

використання системи.

SQL не використовується як мова запитів.




6

MariaDB

Шифрування доступне на мережевому, серверному та додатковому рівнях.

Як і у багатьох інших безкоштовних двигунів бази даних, вам доведеться платити за

підтримку.

Розширювана архітектура та плагіни дозволяють

налаштувати інструмент відповідно до ваших потреб.

Двигун все ще досить новий, тому немає гарантій, що наступні оновлення та версії будуть

найближчими.

Система швидка і стабільна.


В ході виконання даного проекту, вибір було зроблено на користь MySQL. По-перше, дана СУБД є безкоштовною. По-друге, супутній продукт

MySQL Workbench дозволяє просто взаємодіяти зі встановленою БД, надаючи можливість через зручний інтерфейс користувача виконувати будь- які маніпуляції з даними [15].

Та нарешті, ця СУБД є однією з найбільш розповсюджених, займаючи друге місце за популярністю у світі, поступаючись лише корпоративній СУБД від Oracle. А це означає, що на випадок проблем чи збоїв в роботі цієї системи, в мережі можна знайти величезних кількість матеріалу для їх вирішення.

Для розробки клієнтської частини сайт було обрано мови програмування HTML, CSS і JavaScript так як вони є най популярнішими мовами для веб розробки і досить легкі у вивченні.

Розробка серверної частини буде відбуватись за допомогою мови програмування PHP з використанням фреймфорку Laravel. Ця мова активно використовується багатьма сайтами і досить легка у вивченні. Також найбільш популярні системи контролю контентом використовують саме цю мову програмування, що надає можливість розробляти додатковий функціонал.


    1. 1   2   3   4   5   6   7

      скачати

© Усі права захищені
написати до нас