Методи розробки Web-сайтів

Можна виділити 5 основних методів розробки

1. Ручна за допомогою HTML

2. За допомогою програмних засобів розробки сайтів

3. За допомогою інструментальних систем таких як CMS

4. З використанням популярних на цей час фреймворків

5. На SaaS-плат­формах у CLOUD                                                                                                  

 Використання HTML та програмних систем для розробки

1. Ручна розробка за допомогою HTML

При появі стандарту HTML, цей метод був найпоширенішим. Основною програмою для розробки був Notepad. Але у цього методу є істотні недоліки. Цей спосіб досить трудомісткий. І до того ж зробити нормальний Web-сайт без CSS, JavaScript та інших мов програмування досить важко. Цей підхід Ви вивчали раніше. Хотілось би звернути Вашу увагу на 2 наступних питання HTML5 та Canvas:

Що таке HTML5?


HTML5 - це нова специфікація мови розмітки, що використовується в створенні веб-сторінок. На відміну від попередніх версій це не просто специфікація мови для гіпертекстової розмітки, а набір різнопланових модулів - від HTML-елементів до відео-, аудіо-, векторної графіки SVG, растрової JavaScript-графіки Canvas, локальних баз даних і навіть різних API браузера.
Весь цей список модулів дозволяє HTML5 успішно конкурувати з технологіями Flash і Silverlight. Причому успішна конкуренція з Flash можлива ще й тому, що HTML5 потенційно набагато менше навантажує процесор комп'ютера, ніж Flash, не вимагає установки плагінів і оновлень, а значить, менш вразливий для хакерських атак.
Фактично саме поява в HTML5 нових тегів <video> та <audio> робить його потенційним конкурентом існуючих технологій від Adobe і Microsoft.

Нова розмітка


HTML 5 вводить кілька нових елементів і атрибутів. Деякі з них технічно є еквівалентами <div> і <span>, але мають своє семантичне значення, наприклад <nav> (навігаційна панель) і <footer>. Ці теги будуть полегшувати роботу пошукачам, а також обробку сайту з Корман персонального комп'ютера або читають програм. Інші елементи надають нову функціональність, такі як <audio> і <video>. 
Деякі застарілі елементи HTML 4, такі як <font> і <center>, були видалені з HTML 5.


 Приклад веб-сторінки HTML 5
 <! DOCTYPE html>
  <Html>
   <Head>
    <Title> Example HTML 5 document </ title>
   </ Head>
   <Body>
    <Header> ... </ header>
    <Nav> ... </ nav>
    <Section>
       <Article>
          ...
       </ Article>
    </ Section>
    <Aside> ... </ aside>
    <Footer> ... </ footer>
  </ Body>
  </ Html>

Нові API


Крім визначення розмітки, в HTML 5 визначені application programming interface, API. Існуючі інтерфейси DOM (Document Object Model - «об'єктна модель документа») розширені, також були додані нові API:
• Малювання 2D-картинок в реальному часі;
• Контроль над відтворенням медіафайлів, який може використовуватися, наприклад, для синхронізації субтитрів з відео;
• Зберігання даних у браузері;
• Редагування;
• Drag-and-drop;
• Робота з мережею.

  Відмінності від HTML 4


Основні відмінності HTML 5 від HTML 4 складають:
• Нові правила лексичного розбору;
• Нові елементи - header, footer, section, article, video, audio, progress, nav, meter, time, aside, canvas;
• Нові типи input-елементів;
• Нові атрибути;
• Глобальні атрибути - id, tabindex, repeat;
• Застарілі елементи прибрані - center, font, strike.


Обробка помилок
HTML 5-сумісні браузери дуже гнучкі при обробці помилок, на відміну від XHTML. HTML 5 розроблений так, що не підтримують його браузери можуть спокійно ігнорувати елементи HTML 5. На відміну від четвертої, п'ята версія чітко прописує правила лексичного розбору, щоб різні браузери відображали один і той же результат в разі некоректного синтаксису.

Canvas (англ. Canvas - «полотно») - елемент HTML5, призначений для створення растрового двомірного зображення за допомогою скриптів, зазвичай на мові JavaScript. Початоквідліку блоку знаходиться зліва зверху. Від нього і будується кожен елемент блоку. Використовується, як правило, для відтворення графіків для статей і ігрового поля в деякихбраузерних іграх. Але також може використовуватися для вбудовування відео в сторінку і створення повноцінного плеєра. Використовується в WebGL для апаратного прискорення 3Dграфіки.

2. Розробка сайту за допомогою програмних засобів (Dreamweaver, FrontPage)

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

Виділимо декілька інструментальних систем для розробки HTML:

• програми, що мають у своєму складі візуальні редактори (design-based editor) - засоби, які автоматично формують необхідний HTML-код, дозволяючи розробляти Web-сторінки в режимі WYSIWYG;
• програми-редактори (code-based editors), які надають редактор і допоміжні засоби для автоматизації написання коду.

Розглянемо найбільш популярні design-based редактори:

 Adobe DreamWeaver - один з кращих візуальних редакторів, що генерують HTML код. Він дозволяє працювати в декількох режимах одночасно, з HTML кодом або у візуальному режимі. Але основним недоліком є те, що програма генерує занадто "важкий" код, додаючи багато зайвого. Але, якщо знайомі з HTML, тоді текст HTML можна відредагувати. Ця програмна система випускалася до 2005 року компанією Macromedia, після чого була придбана фірмою Abode.
• Microsoft FrontPage - це простий в засвоєнні і зручний Web-редактор для проектування, підготовки і публікації Web-сайтів. Завдяки інтеграції з сімейством продуктів MS Office, звичного інтерфейсу і великої кількості шаблонів програма дозволяє швидко засвоїти роботу навіть початківцям, які знайомі з основами роботи в MS Word. При цьому FrontPage не можна назвати рішенням для «чайників»: програма надає широкі функціональні можливості та різноманітні засоби оптимізації при колективній розробці. Вона дозволяє швидко створювати динамічні комплексні Web-вузли практично будь-якої складності. 
Розглянемо популярні code-based редактори:
 Adobe HomeSites - це потужний пакет, до складу якого входить багато корисних функцій і підпрограм. Об'ємний дистрибутив редактора включає в себе, крім самого редактора, редактор TopStyle для редагування таблиць CSS, перевірку орфографії та багато іншого.
 HotDog - цілком професійний редактор. Вбудована підтримка дуже широкого набору інструментів, що використовуються в Web-дизайні: HTML, CSS, JavaSript, VBScript, ASP, а також DOM - об'єктну модель документа, що використовується при програмуванні на VBScript і JavaScript. При цьому перевірка синтаксису цих інструментів може налаштовуватися в досить широких межах. Наприклад, HTML можна перевіряти на відповідність версії 3.2, 4, або на "перегляді" тільки в Internet Explorer та інше.
• AceHTML - основні функціональні можливості - подібно HomeSite і FirstPage. З цінних якостей AceHTML треба відзначити вмілу роботу з кодуваннями російської мови. Другий плюс - дуже непогана вбудована утиліта для перегляду графічних файлів у комп'ютері. У просторому вікні відображаються ескізи всіх картинок в директорії, а також їх параметри і розмір у пікселях.

Використання інструментальних систем CMS для створення динамічних Web-сайтів

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

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

Другий шлях є основним на цей час для створення складних, сучасних сайтів, порталів, Веб-додатків. Це метод з використанням CMS. Вікіпедія дає наступне визначення. CMS це система керування вмістом (контентом) (англ. Content management system, CMS) — комп'ютерна програма чи система, що використовується для забезпечення і організації сумісного процеса створення, редагування та управління текстовими і мультимедійними документами (вмісту чи контента). Звичайно цей вміст розглядається як не структуровані данні предметної задачі в протилежність структурованим даним, що звичайно знаходяться під керуванням СУБД. Звичайно, що встановлення CMS робиться вже на вибраному хостінзі. При цьому як мінімум вимагається FTP доступ та дозвіл роботи MySQL.

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

 Системи управління Web-контентом

 Типова структура надана нижче



Основні функції систем управління Web-контентом

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

1. Розробка контенту

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

2. Управління сайтом

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

3. Доставка контенту

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

Треба відзначити, що хоч і не існує абсолютно однакових систем управління Web-контентом, експерти сходяться в одному. При розвитку Web-технологій системи повинні будуть концентруватися більше на управлінні контентом, ніж на Web-паблішинг.
Дуже швидко CMS перетворилися із просто систем управління контентом в повнофункціональні системи управління сайтом. При цьому популярні і широко розповсюдженні скрипти, які окремо використовувалися на сайтах, були об’єднані загальною програмою під єдиним інтерфейсом. В багатьох випадках інтегровані зручні автоматичні інсталятори і візуальні HTML редактори. В результаті отримали на 100% готовий до застосування повнофункційний сайт — портал. Інсталювати такий портал на сервер, встановити (вибрати) необхідні функціональні модулі (наприклад, модуль публікації статей з уже вбудованою можливістю додавання коментаріїв відвідувачами), наповнювати інформаційним контентом свій сайт уже може будь-яка людина без спеціальних знань. Часто програмні можливості CMS дозволяють (в повністю автоматичному режимі) змінювати розташування виведення інформації на Web-сторінці, вибирати схеми кольорів, дизайн із шаблонів, що є в наявності.
В наш час за допомогою сучасних CMS, будь-яка людина, яка має бажання відкрити своє представництво в Інтернет, може без спеціальних знань, «титанічної» праці, особливих матеріальних витрат організувати свій якісний і багатофункційний сайт. Організації також отримали більш дешеву і мобільну можливість вести свій Інтернет-бізнес. Це ж стосується і рекламних агентств, значна кількість яких в наш час є розробниками своїх власних CMS.
В більшості випадків CMS будуються із програмного ядра — «движка» та модулів, що підключаються. 
«Движок» CMS — це програма, яка підпорядкована певному алгоритму введення і виведення інформації. Цей алгоритм у кожної CMS різний, свій, в відповідності з ідеєю і ціллю розробника. Це дає можливість користувачу вибирати CMS, що найбільш підходить. В зв’язку з цим, зовнішній вигляд інформації що виводиться (наприклад, новин), в кожній CMS різний, індивідуальний і змінити його досить складно (або неможливо, без переробки, зрозуміло, самого «движка»), тому якщо зовнішній вигляд контента початково не влаштовує, краще вибрати іншу CMS, ніж займатися його «підгонкою».
Універсальність і, багато в чому популярність CMS, залежить від кількості наявних модулів, можливості и простоти створення нових. Наявність, кількість, оновлення модулів  є одним із критеріїв оцінки CMS. Модульна структура дозволяє розробникам охопити велике коло користувачів з різними вимогами до функційності порталу, програмістам — створювати свої модулі під конкретні задачі чи замовлення, а користувачам — отримати зручність і можливість мобільно реалізовувати різні свої ідеї.
Багато які CMS, крім функційних модулів, мають шаблону структуру. За допомогою шаблонів можна швидко змінити зовнішній вигляд всього порталу або окремих модулів. Крім того, наявність шаблоної структури припускає і дозволяє корекцію і створення своїх, індивідуальних шаблонів.
CMS з одного боку дає широкі можливості відвідувачам-користувачам, а з іншого - адміністраторам, які керують ресурсами,  адмініструють інформацію, керують загальним виглядом сайту, спілкуються з  відвідувачами і клієнтами. Більшість CMS забезпечені системою авторизації, і адміністратор може дозволяти, забороняти, обмежувати доступ до інформації, або частини інформації на своєму ресурсі окремим відвідувачам.
Можна впевнено сказати, що CMS необхідні всім, хто так чи інакше планує свою присутність в Інтернеті. А так як ринок CMS постійно змінюється і кількісно і якісно, виникає необхідність оцінки і вибору оптимальної для конкретного проекта CMS.
Багато які CMS, крім функційних модулів, мають шаблону структуру. За допомогою шаблонів можна швидко змінити зовнішній вигляд всього порталу або окремих модулів. Крім того, наявність шаблоної структури припускає і дозволяє корекцію і створення своїх, індивідуальних шаблонів.
CMS з одного боку дає широкі можливості відвідувачам-користувачам, а з іншого - адміністраторам, які керують ресурсами,  адмініструють інформацію, керують загальним виглядом сайту, спілкуються з  відвідувачами і клієнтами. Більшість CMS забезпечені системою авторизації, і адміністратор може дозволяти, забороняти, обмежувати доступ до інформації, або частини інформації на своєму ресурсі окремим відвідувачам.
Можна впевнено сказати, що CMS необхідні всім, хто так чи інакше планує свою присутність в Інтернеті. А так як ринок CMS постійно змінюється і кількісно і якісно, виникає необхідність оцінки і вибору оптимальної для конкретного проекта CMS.

4. Оформлення Веб-сайту

Художнє та дизайнерське оформлення сайтів беруть на себе так звані "шаблони". Це розроблене дизайнерське та художнє рішення сайту, що пропонується кожним CMS при його встановленні. Розробка нового свого шаблону досить трудомісткий процес. Використання стандартних шаблонів значно полегшує створення сайтів, але зменшує їх індивідуальність.
Значно полегшують роботу користувачів з CMS при введенні та редагуванні інформації вбудовані в них редактори (їх часто називають WYSIWYG). Не всі редактори, що пропонуються, бездоганні - можливі і помилки, і неадекватна їх робота. Виправлення часто можливе на рівні HTML і ця можливість надається цими редакторами. Якщо проаналізувати інші можливості WYSIWYG, то можна виділити наступні блоки функцій: - редагування і форматування (значно менші ніж у MS Word), уставлення гіперпосилань, уставлення малюнків, приєднання файлів та декілька інших.
Загальною практичною порадою є грамотне використання буфера вирізаного зображення (Ctrl+C, Ctrl+V). 
Як і в усіх потужних програмних розробках в CMS додаються модулі, що значно розширюють їх функціональні можливості. Можливе включення Форумів, Гостьових книг, Форм та іншого. У деяких CMS можливе створення Блогів і на їх основі внутрішніх самостійних сайтів.

Поняття і сутність системи управління контентом.

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

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

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

Контент - це будь-яка інформація, графічна чи текстова, розміщена на сервері.

Система управління контентом:

1) це система управління інформацією на сайті;
2) це система, за допомогою якої власник може керувати змістом свого ресурсу, не вдаючись при цьому до послуг професійних html-верстальників і програмістів;
3) це спеціалізоване програмне забезпечення для автоматизованої розробки і підтримки динамічних сайтів.

Такі системи дозволяють розробляти і підтримувати сайти, не вимагаючи при цьому знання HTML.

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

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

 Класифікація систем управління контентом.

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

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

Проста система управління контентом

Інтерфейс користувача контент-системи збирається з програмних модулів, набір яких визначається в індивідуальному порядку для кожного окремого проекту. Модулі один раз налаштовуються розробником, чим жорстко закріплюється структура проекту. Від користувача системи потрібне знання розмітки HTML. Система функціонує на основі динамічного формування сторінок (щоразу при запиті користувача) і обмеженій пропускній спроможності (в залежності від апаратного забезпечення) - до 3 000-5 000 відвідувачів на добу.
Проста система сумісна з певними платформами і типами СУБД. Спроба впровадження додаткових модулів, залежно від технологій що використовуються, може привести до повної переробки проекту. Масштабованість досягається шляхом перекладу сайту на нову, більш пристосовану до поточних завдань, версію системи управління контентом.

Шаблонна система управління контентом

Інтерфейс користувача системи представлений єдиним модулем або набором модулів з жорстко закріпленою структурою сайту. Шаблонна система функціонує на основі динамічного формування сторінок або використання кешування даних. Залежно від методів формування сторінок - від 5 000 до 50 000 відвідувачів на добу. Система сумісна з певними платформами і типами СУБД. Спроба впровадження додаткових модулів, також, як і в попередньому випадку, обмежена. Масштабованість відбувається, як і в простій системі управління контентом.

Професійна система управління контентом

Система представлена інтуїтивно зрозумілим для користувача інтерфейсом і розширеними можливостями редагування. На основі таких систем управління контентом створюються самі різноманітні сайти. Надається можливість підключення додаткових модулів, як від розробника, так і прикладного ПЗ. Формовані динамічні сторінки кешуються, що веде до безмежної пропускної здатності, яка залежить тільки від апаратного забезпечення. Система сумісна з різними програмно-апаратними платформами. Рівень пропонованої в системі масштабованості дозволяє підключати додаткові модулі без порушення структури та ідеології керування веб-ресурсом.

Універсальна система управління контентом

Користувацький сервіс представлений передовими засобами управління контентом, система надає засоби для розробки нових сервісів і можливостей. За технічними характеристиками дана система повністю пристосована до внутрішньокорпоративного використання в зв'язці з ERP-пакетами, що забезпечено наявністю сертифікованої системи безпеки - розмежування прав доступу до контент-системи на внутрішньокорпоративному рівні. У процесі функціонування системи проводиться кешування формованих динамічних сторінок і при цьому пропускна здатність - не обмежена.
Система сумісна з різними програмно-апаратними платформами. Можливості масштабування дозволяють підключати додаткові модулі, що розширюють функціональність ресурсу, у тому числі готові модулі інтеграції з внутрішньокорпоративними системами. Можливе розширення за рахунок кластеризації. 

5. Розповсюджені CMS


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

Drupal - безкоштовна CMS, з хорошою SEO-адекватністю, безпекою та розширюваністю. Движок широко використовується при побудові сайтів різного призначення. Його використано при розробці сайтів сенату США та потужного сайту рейтингування Університетів світу Webometrics

Joomla  Має хорошу розширюваністю, захищеністю і відкритістю, має великий набір шаблонів. Недолік є високе навантаження на сервер і невисоку швидкість роботи. Проблеми з SEO-адекватністю.

Логотипи цих CMS надано на рисунку

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

DataLifeEngine - платна CMS, призначена для розробки інформаційних і новинних сайтів.. Цей движок має багато «дірок», тому часто піддається злому

Використання фреймворків

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

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

Для того щоб відповісти на питання що повинен мати фреймворк , щоб розглядатися як WEB-технологія розглянемо, які види фреймворків є:-         Фреймворки програмної системи; Фреймворки додатків;Фреймворки  концептуальної моделі;

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

Фреймворк додатку має стандартну структуру. З ростом необхідності в графічних інтерфейсах користувача з'явилася і необхідність у фреймворках додатків. З їх допомогою простіше створювати засоби для створення графічних інтерфейсів автоматично. Для створення фреймворку додатків використовують об'єктно-орієнтоване програмування. Перший такий Фреймворк написала компанія Apple для Macintosh. Спочатку він був створений за допомогою Паскаль, потім же перероблений в С ++.

Фреймворк концептуальної моделі - це абстрактне поняття даної структури для визначення способів вирішення конкретної проблеми.

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

Є п'ять типів веб-фреймворків: Request-based, Component-based, Hybrid, Meta and RIA-based.

Request-based: фреймворки, які безпосередньо обробляють вхідні запити. Збереження стану відбувається за рахунок серверних сесій. Приклади: Django, Ruby на Rails, Struts, Grails.

Component-based: фреймворки, які абстрагують обробку запитів всередині стандартних компонентів і самостійно стежать за станом. Своєю поведінкою дані каркаси нагадують стандартні програмні графічні інтерфейси.. Приклади: JSF, Tapestry, Wicket.

Hybrid-based: фреймворки, які комбінують Request-based  та Component-based фреймворки, беручи під свій контроль всі дані і логічний потік в заснованої на запиті моделі. Розробники мають повний контроль над URL, формами, параметрами, cookies і pathinfos. Однак замість того, щоб відобразити дії і контролери безпосередньо до запиту, гібридні фреймворки забезпечують об'єктну модель компонентів, яка поводиться тотожно в багатьох різних ситуаціях, таких як окремі сторінки, перервані запити, подібні порталу фрагменти сторінок і інтегровані віджети. Компоненти можуть розподілятися окремо і ефективно інтегруватися в інші проекти. Приклади: RIFE.

Meta -based: у фреймворків  є ряд базових інтерфейсів для загального обслуговування і основу яка легко розширюється, для інтегрування компонентів і служб. Приклад: Keel.

RIA-based: фреймворки для розробки Rich Internet Applications (RIA). Служать для розробки повноцінних додатків, що запускаються всередині браузера. Приклад: Flex.

Найбільш поширеними є Request-based і Component-based веб-фреймворки. Більшість  WEB-фреймворків побудовані на архітектірі MVC.Model View Controller (MVC, «модель- представлення-контролер», «модель-вид- контролер») – схема використання декількох шаблонів проектування, за допомогою яких модель додатки, інтерфейс і взаємодія з користувачем розділені на три окремі компоненти таким чином, щоб модифікація одного з компонентів чинила мінімальний вплив на інші . Дана схема проектування часто використовується для побудови архітектурного каркаса, коли переходять від теорії до реалізації в конкретній предметної області.

Архітектурний шаблон Модель-Вид-Контролер (MVC) поділяє програму на три частини. У тріаді до обов'язків компоненту Модель (Model) входить зберігання даних і забезпечення інтерфейсу до них. Вигляд (View) відповідальний за представлення цих даних користувачеві. Контролер (Controller) керує компонентами, отримує сигнали у вигляді реакції на дії користувача, і повідомляє про зміни компоненту Модель. Така внутрішня структура в цілому поділяє систему на самостійні частини і розподіляє відповідальність між різними компонентами.

MVC поділяє цю частину системи на три самостійні частини: введення даних, компонент обробки даних і виведення інформації. Модель, як вже було відмічено, інкапсулює ядро даних і основний функціонал з їх обробки. Також компонент Модель не залежить від процесу введення або виведення даних. Компонент виводу Вигляд може мати декілька взаємопов'язаних областей, наприклад, різні таблиці і поля форм, в яких відображається інформація. У функції Контролера входить моніторинг за подіями, що виникають в результаті дій користувача (зміна положення курсора миші, натиснення кнопки або введення даних в текстове поле).

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

На SaaS-плат­формах у Cloud

SaaS-платформи для створення сайтів - це можливість запустити досить простий веб-проект дуже швидко і досить дешево (ще і на умовах оренди і без необхідності хостінгу). Щось подібне до Гугл сайтів, але зі значно більшими можливостями.  Рішення підходить для простих сайтів, тимчасових проектів і для перевірки бізнес-ідей. SaaS-платформи, як і CMS, бувають специфічними (наприклад, тільки для інтернет-магазинів) і універсальними (для всіх типових видів сайтів). Цей метод зараз активно розвивається та використовується.

žЯкі проекти варто реалізовувати на SaaS-платформах?
žSaaS-рішення мають свої переваги і недоліки, тому не кожен проект може бути реалізований подібним способом. На SaaS має сенс створювати прості сайти, які не особливо вимогливі до дизайну і ні відразу, ні в перспективі не зажадають яких-небудь доопрацювань логіки роботи та навігації. SaaS відмінно підходить для запуску проектів, мета яких полягає в перевірці на практиці бізнес-гіпотез. Можна і для створення простих проектів, вимога до яких одне - «потрібен сайт», а також для створення «заглушок» при розробці серйозних проектів. Хоча простий сайт доцільно створювати, наприклад, за допомогою засобів Гугл сайт.
žКроки створення сайтів на SaaS-платформах
žКрок 1  Зареєструватися;
žКрок 2 Вибрати тип сайту (наприклад, сайт-візитка, інформативний сайт або інтернет-магазин)
žКрок 3 Вибрати потрібні модулі (новини, каталог, форум та інше);
žКрок 4 Вибрати шаблон дизайну зі переліку шаблонів;
žКрок 5 Ввести необхідну інформацію в систему управління контентом;
Крок 6 Ввести контент
žSaaS-рішення входить все необхідне для повноцінної роботи проекту - не треба вибирати, встановлювати і налаштовувати CMS, не треба замовляти хостинг і налаштовувати сервер, а в подальшому не треба займатися технічним супроводом проекту. Все це робить за вас SaaS-рішення
ž
Мінуси SaaS-платформ для створення сайту
žФактично це шаблонний дизайн - оформлення сайтів на SaaS-платформах проводиться за готовими шаблонами (часто не дуже високої якості), які можна тільки «розфарбувати» і на деяких платформах можна окремі блоки місцями поміняти. Для сайтів, до яких пред'являються вимоги до оформлення, такі рішення не підходять.
žРамки функціональних можливостей - якщо платформа «не має якихось можливостей», то це ніяк не виправити. Програмний продукт типовий і його налаштування під індивідуальні побажання обмежена. Якщо проект відразу або в перспективі повинен вирішувати специфічні завдання і гнучко налаштовуватися, то SaaS-платформа для його розробки не підходить.
ž
Приклади SaaS-платформ
žUMI, WIX, InSales, Shopify, Setup, uCoz - деякі з цих платформ специфічні (тільки для простих сайтів або тільки для інтернет-магазинів), а деякі - досить універсальні. Якщо ваш проект не має ніяких істотних вимог до дизайну і до функціональності, то має сенс звернути увагу на ці SaaS-рішення. В іншому випадку, вибирайте іншу платформу для створення сайтів
Comments