Основи розробки інформаційного веб сайту


Основи розробки інформаційного веб сайту

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


Загальна інформація з розробки іноформаційного сайту

Для розробки інформаційного веб сайту, зазвичай використовуються наступні програмні засоби:

Мова програмування PHP 

PHP (PHP: Hypertext Preprocessor - «PHP: препроцесор гіпертексту») - мова для написання сценаріїв, виконуваних на комп'ютері web-додатки за допомогою інтерпретації вихідного коду.  Основне призначення мови PHP - це виконання на сервері сценаріїв, що створюють динамічні web-сторінки.

PHP підтримує широкі об'єктно-орієнтовані можливості, повна підтримка яких була введена в п'ятій версії мови.  Також в п'ятій версії мови реалізований механізм обробки виключень.

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

Web-сервер Apache

Apache - вільний web-сервер, найбільш часто використовуваний в Unix-подібних операційних системах.  Основними перевагами Apache вважаються надійність і гнучкість конфігурації.  Apache надає зручні засоби конфігурації як на рівні всього web-додатки (httpd.conf), так і на рівні директорії (.htaccess).  Зазначена вище особливість дозволяє зручно управляти діями web-сервера при обробці запиту до тих чи інших сторінок і розділів web-додатки.

Web-сервер Apache дозволяє включити додатковий модуль обробки URL - mod_rewrite.  Даний модуль є засобом перетворення URL, який зазначений у запиті до web-додатком, з однієї форми в іншу відповідно до заздалегідь написаним правилам (RewriteRule).  Для написання правил обробки і перетворення URL використовуються регулярні вирази (Regular expressions).  Таким чином, можна створювати псевдоніми імен web-сторінок, роблячи зовнішній вигляд URL, які використовує web-клієнт при запитах до web-серверу, більш короткими, читабельними і такими, що запам'ятовуються.

В процесі розробки web-додатки і в даний момент, коли web-додаток функціонує і доступний користувачам, Web-сервер Apache використовується мною для забезпечення можливості доступу web-клієнтів до ресурсів web-додатки за допомогою протоколу HTTP, координації роботи web-додатки, обмеження доступу  до деяких розділів і сторінок web-додатки, обробки і перетворення URL, зазначених в запитах web-клієнтів.

СУБД MySQL

MySQL являє собою систему управління базами даних з підтримкою мови SQL. СУБД MySQL надає всі основні засоби для зберігання, обробки і зміни даних.  В СУБД MySQL підтримується можливість вибору типу таблиць.  Основними типами є MyISAM і InnoDB.  Таблиці з типом InnoDB підтримують транзакції на рівні окремих записів.  MySQL має API для мови PHP (і багатьох інших мов), а також забезпечує підтримку для ODBC за допомогою ODBC-драйвера MyODBC.
В процесі розробки web-додатки і в даний момент, коли web-додаток функціонує і доступний користувачам, СУБД MySQL використовується мною для зберігання даних, необхідних для стабільного функціонування веб сайту.

Мова програмування JavaScript

JavaScript - об'єктно-орієнтована мова програмування для написання сценаріїв.  Найчастіше JavaScript використовується для написання сценаріїв роботи з web-сторінками, відображеними web-браузером.  Web-браузер інтерпретує код сценарію мови JavaScript, і на основі описаних в сценарії дій проводить маніпуляції з розміткою web-сторінки.

Таким чином, за допомогою мови JavaScript реалізується можливість програмування на стороні клієнта.  Мова програмування JavaScript надає можливість доступу до елементів розмітки web-сторінки за допомогою об'єктів.  При створенні сценаріїв на мові JavaScript доводиться стикатися з труднощами, пов'язаними з тим, що різні web-браузери можуть по-різному інтерпретувати ці сценарії.  Найсерйозніші труднощі виникають, якщо який-небудь з браузерів не підтримує той чи інший об'єкт, метод або властивість.  Найбільш практичним і сучасним способом вирішення даної проблеми є використання вільної бібліотеки jQuery [7].  Дана бібліотека реалізована на мові JavaScript і розширює можливості даної мови, нівелюючи різницю між браузерами.

В процесі розробки web-додатки мову JavaScript і бібліотека jQuery були використані мною для створення сценаріїв роботи з розміткою web-сторінок і в процесі використання технології AJAX.

Технологія AJAX

AJAX (Asynchronous Javascript and XML - «асинхронний JavaScript і XML») - технологія, за допомогою якої можливо здійснити асинхронний запит до комп'ютера web-додатки. Іншими словами, це запит, який не вимагає перезавантаження сторінки web-клієнтом.

Технологія AJAX надає можливість по якого-небудь дії користувача (наприклад, натискання на посилання) не здійснюються запит на повне отримання web-сторінки, а отримувати тільки потрібну в даний момент частина web-сторінки.  Таким чином, знижується обсяг даних, переданих між комп'ютером web-додатки і комп'ютером користувача, отже, знижується час, який потрібен на запит і отримання відповіді.  Крім того, за рахунок того, що сторінка не перезавантажується, у користувача створюється враження безперервної роботи з web-додатком.

Технологія AJAX включає в себе наступні інструменти:

В процесі розробки web-додатки технологія AJAX використовувалася мною для «фонової» завантаження з комп'ютера web-додатки web-клієнтом частин сторінок там, де не вигідно з точки зору обсяг даних при завантаженні і естетичності роботи web-додатки здійснювати повне завантаження web-сторінки у відповідь  на дії користувача.

Таблиці сталів CSS

CSS (Cascading Style Sheets - каскадні таблиці стилів) - технологія опису зовнішнього вигляду документа, написаного мовою розмітки.  Основною метою розробки CSS було розділення вмісту (написаного на HTML або іншій мові розмітки) та подання документа (написаного на CSS).  Це поділ може збільшити доступність документа, надати велику гнучкість і можливість управління його поданням, а також зменшити складність і повторюваність в структурному вмісті [6].
В процесі розробки web-додатки каскадні таблиці стилів CSS використовувалися мною для управління зовнішнім виглядом сторінок web-додатки і передачі таблиць стилів web-клієнтам користувачів для правильного відображення і підтримки дизайну web-додатки.

Для того щоб отримати сторінку web-додатки, web-клієнт відправляє HTTP - запит до комп'ютера web-додатки, який обробляється web-сервером Apache.  Web-клієнт може відправити як звичайний запит, так і асинхронний запит до web-серверу за допомогою технології AJAX.  Web-сервер Apache обробляє запит, шукає необхідний web-клієнтом ресурс в файлової системі комп'ютера web-додатки і, в залежності від типу ресурсу і конфігурації самого web-сервера, відразу формує відповідь web-клієнта, або відправляє ресурс на обробку інтерпретатором PHP.  Інтерпретатор PHP виконує вихідний код, що міститься в переданому йому web-сервером ресурсі, при необхідності за допомогою API звертається до СУБД MySQL, отримуючи або змінюючи дані, і повертає сформовану сторінку назад web-серверу Apache для подальшої відправки web-клієнта.

У прийнятому web-клієнтом коді може міститися код на мові JavaScript і посилання на каскадні таблиці стилів CSS.  В цьому випадку каскадні таблиці стилів застосовуються web-клієнтом до розмітки отриманої сторінки, а код JavaScript виконується, вносячи необхідні зміни в сторінку на стороні клієнта, або формуючи новий запит до комп'ютера web-додатки за допомогою технології AJAX.