Розробка середовища для управління сайтами на основі HTML5

Автор: Пользователь скрыл имя, 15 Января 2012 в 22:00, дипломная работа

Описание работы

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

Содержание

Вступ 5
Постановка завдання 7
1. Огляд існуючих технологій 8
1.1 Веб-розробка 8
1.1.1 Серверні мови 8
1.1.2 Клієнтські мови 17
1.2 Системи керування вмістом 21
1.3 HMTL5 26
2. Вибір технологій розробки 30
2.1 Мова програмування 30
2.2 Система керування базами даних 32
2.3 JavaScript фреймворк 32
2.4 WYSIWYG редактор 33
3. Опис роботи 34
3.1 Абстрактна модель програми 34
3.2 Проектування бази даних 34
3.3 Створення структури програми 36
3.4 Розробка ядра програми 37
Висновки 39
Література 40
Додаток А 41
Додаток Б 44

Работа содержит 1 файл

Диплом.doc

— 262.50 Кб (Скачать)
  • Наявність вихідного коду та безкоштовність

Стратегія Open Source, і розповсюдження початкових текстів програм в масах, безсумнівно  справили благотворний вплив на багато проектів, в першу чергу — Linux хоч і успіх проекту Apache сильно підкріпив позиції прихильників Open Source. Сказане відноситься і до історії створення РНР, оскільки підтримка користувачів зі всього світу виявилася дуже важливим чинником в розвитку проекту РНР.

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

  • Ефективність

Ефективність є дуже важливим чинником при програмуванні для середовищ розрахованих на багато користувачів, до яких належить і web. Важливою перевагою PHP є те, що ця мова належить до інтерпретованих. Це дозволяє обробляти сценарії з достатньо високою швидкістю. За деякими оцінками, більшість PHP-сценаріїв (особливо не дуже великих розмірів) обробляються швидше за аналогічні їм програми, написані на Perl. Проте, щоб не робили розробники PHP, виконувані файли, отримані за допомогою компіляції, працюватимуть значно швидше — в десятки, а іноді і в сотні разів. Але продуктивність PHP цілком достатня для створення цілком серйозних веб-застосунків.

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

      1. Клієнтські  мови
 
 

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

   Поширеними  кліентксімі мовами веб-програмування  є:

  • JavaScript
  • VBScript
  • ActionScript
  • Java

   JavaScript - об'єктно-орієнтована скриптова  мова програмування. Є діалектом мови ECMAScript.

   Розроблена  в компанії Netscape. На теперішній час  підтримується більшістю браузерів. Текст програми включається безпосередньо  в HTML-документ і інтерпретується  самим браузером. Застосовується в  основному для часткової автоматизації обробки і маніпуляції даними, які використовує сторінка.

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

   JavaScript має C-подібний синтаксис, але  в порівнянні з мовою Сі має такі корінні відмінності:

  • об'єкти, з можливістю інтроспекції і динамічної зміни типу через механізм прототипів
  • функції як об'єкти першого класу
  • обробка винятків
  • автоматичне приведення типів
  • автоматичне прибирання сміття
  • анонімні функції

   JavaScript містить декілька вбудованих об'єктів: Global, Object, Error, Function, Array, String, Boolean, Number, Math, Date, RegExp. Крім того, JavaScript містить набір вбудованих операцій, які, строго кажучи, не обов'язково є функціями або методами, а також набір вбудованих операторів, що управляють логікою виконання програм. Синтаксис JavaScript в основному відповідає синтаксису мови Java (тобто в кінцевому рахунку успадкований від C), але спрощений порівняно з ним, щоб зробити мову сценаріїв легкою для вивчення. Так, приміром, декларація змінної не містить її типу, властивості також не мають типів, а декларація функції може стояти в тексті програми після неї.

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

   jQuery 
 

   Цей фреймворк являється досить простим  в освоєнні і дуже ефективним за можливостями. Підходить для реалізації невеликих і середніх веб-додатків. Має досить докладну документацію. Включає в себе можливості, що дозволяють зручно працювати з DOM-моделлю, подіями, AJAX-запитами, анімацією. Підтримує систему додатків, що дозволяє стороннім розробникам писати власні плагіни. База плагінів дуже велика, можна знайти плагін практично для будь-якої задачі. Існує також проект jQuery UI, що дає можливість реалізувати графічний користувальницький інтерфейс, використовуючи даний фреймворк. Рекомендується в якості першого фреймворку для вивчення.

   jQuery Використовується більш ніж 31% від 10,000 найбільш відвідуваних сайтів. jQuery є найбільш популярною бібліотекою JavaScript, яка потужно використовується на сьогоднішній день. jQuery є вільним, відкритим програмним забезпеченням з подвійним ліцензуванням під MIT License та GNU General Public License другої версії. Синтаксис jQuery розроблений, щоб зробити орієнтування у навігації зручнішим завдяки вибору елементів DOM, створенню анімації, обробки подій, і розробки AJAX-застосувань. Основне завдання jQuery — це надавати розробнику легкий та гнучкий інструментарій кросбраузерної адресації DOM об'єктів за допомогою CSS та XPath селекторів. 
 
 
 
 
 
 

   Dojo Toolkit 
 

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

   ExtJS 
 

   Вважається  самим потужним, стабільним і профессійним JavaScript-фреймворком. Ідеально підходить для великих веб-додатків. Важкий в освоєнні. Распространяеться за подвійною ліцензією - комерційною і opensource. 
 
 
 
 
 
 
 
 
 
 
 
 

    1. Системи керування вмістом
 
 

   Система керування вмістом (СКВ; англ. CMS (Content Management System)) — програмне забезпечення для організації веб-сайтів чи інших інформаційних ресурсів в Інтернеті чи окремих комп'ютерних мережах.

   Перші CMS були розроблені на великих корпораціях  для організації роботи з документацією. У 1995-му р. від компанії CNET відокремилася окрема компанія Vignette, яка започаткувала ринок для комерційних CMS. З часом діапазон продукції розширювався і все більше інтегрувався у сучасні мережеві рішення аж до популярних веб-порталів.

   Багато  сучасних CMS поширюються як безкоштовні і легкі у встановленні (інсталяції) програми, які розробляються групами ентузіастів під так званою ліцензією GNU/GPL.

   Системи управління веб-сайтом часто розраховані  на роботу у певному програмному  середовищі. Наприклад, система MediaWiki, під управлінням якої працює Вікіпедія, написана мовою програмування PHP і зберігає зміст і налаштування у базі даних типу MySQL або PostgreSQL; тому для її роботи потрібно, щоб на сервері, де вона розміщена, були встановлені веб-сервер (Apache, IIS чи інший), підтримка PHP та системи керування базами даних MySQL або PostgreSQL, а також, в разі необхідності, додаткові програми для обробки зображень чи математичних формул. Такі вимоги є досить типовими для open-source CMS. 

   Різновиди CMS 
 

  • Web content management systems для управління веб-сайтами (наприклад, енциклопедіями, подібними до Вікіпедії, онлайн-виданнями, блогами, форумами, корпоративними чи персональними веб-сторінками та ін.)
  • Транзакційні CMS для забезпечення транзакцій у електронній комерції.
  • Інтегровані CMS для роботи з документацією на підприємствах.
  • Електронні бібліотеки (Digital Asset Management) для забезпечення циклу життя файлів електронних медіа (відео, графічн., презентації, тощо).
  • Системи для забезпечення циклу життя документації (інструкції, довідники, описи).
  • Освітні CMS — системи для організації Інтернет курсів та відповідного циклу життя документації.
  • Корпоративні CMS (Enterprise content management systems) з різноплановим пристосуванням для потреб підприємн. діяльності. Підтримують цикл життя внутрішньої і зовнішньої документації.
  • Платформенні CMS (Platform Content Management Systems) підтримують автоматизацію роботу з комп’ютерними файлами, папками, програмами у визначеному програмному середовищі.

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

   Для порівняння візьмемо три самих популярних на даний момент безкоштовних CMS - Drupal, Joomla та WordPress 
 

   Drupal 
 

   Ця CMS є однією з найбільш стабільних. На ній створено корпоративні сайти деяких компаній зі світовими іменами, тому розробники дуже сильно стежать за стабільністю та безпекою своєї розробки. У Drupal'і є можливість вбудувати один з двох WYSIWYG-редакторів (What You See Is What You Get англ., Що бачиш те й отримуєш) - TinyMCE або FCKEditor. Обидва являються досить потужними і гнучкими засобами редагування змісту. Робота з зображеннями не є сильною стороною цієї CMS. У базовий пакет не входить функція вставки зображень. Для реалізації подібної функції можна скористатися редактором TineMCE спільно з медіаменеджером IMCE. У цілому робота з зображеннями не ергономічна. Шаблони є сильною стороною цієї CMS. Можливості редагування тем і шаблонів дуже великі. З інтеграцією власних шаблонів зможе впоратися навіть починаючий PHP-програміст. 
 

   Joomla 
 

   Досить  поширена CMS. Має цілком стабільне  ядро, проте більшість додатків, написаних сторонніми розробниками, дуже критикуються через проблеми з  безпекою. Є можливість вбудувати  більшість сучасних WYSIWYG-редакторів, проте найбільш зручним з безкоштовних вважається JCE, який був розроблений спеціально для Joomla. Версії 1.0.x не підтримують шаблони, проте досить зручно влаштована система роботи з CSS а також є зручні специфічні особливості розміщення компонентів і модулів на сторінці. По розширюваності функціоналу Joomla стоїть попереду інших розглянутих CMS. Існує три типи розширень - компоненти, модулі та Мамботи. По суті ця CMS в основному побудована на розширеннях. 
 

   WordPress 
 

   Стандартно  в WordPress'і використовується трохи  урізаний TinyMCE та поряд з ним - простий  текстовий редактор (перемикання  між ними «на льоту»). При бажанні  можна встановити і повну версію TinyMCE. Якщо TinyMCE не влаштовує, то можна  встановити замість нього інший редактор, наприклад FCKMonkey. У WordPress'і цілком зручно можна додавати картинки в редактор. При завантаженні файлу можна відразу вказати його назву, підпис. Автоматично буде зроблена мініатюра. Тобто розрахунок на те, щоб з цим завданням впорався недосвідчений користувач. Якщо ж скористатися окремим плагіном, то можна додатково вказати розміри картинки, мініатюри та інші параметри. Для WordPress'а створені тисячі шаблонів і багато з них виконані на дуже хорошому дизайнерському рівні. Пристрій WordPress такий, що під нього нескладно переробити, скажімо, html-шаблон. У шаблонах використовуються звичайні PHP-функції, тому ніяких складнощів з вивченням так званих мов шаблонів немає. Про створення шаблонів існує досить багато статей, навіть є он-лайн генератор. WordPress можна розширити за рахунок плагінів - це різні php-скрипти, які автоматично підключаються до основного «ядра». Таким чином можна не просто додати потрібну функціональність, а й змінити вже існуючу. Створити плагін не дуже складно, все залежить від рівня знання PHP. 
 
 
 
 
 
 
 
 
 
 
 
 
 

    1. HMTL5
 
 

   HTML5 — наступна версія мови HTML, що  перебуває у стані розробки  у W3C. До складу робочої групи  з HTML 5 увійшли AOL, Apple, Google, IBM, Microsoft, Mozilla, Nokia, Opera і кілька сотень інших  виробників.

   Робота  над HTML5 почалася вкінці 2003 року, як доказ концепції, що можна розширити форми HTML4 багатьма можливостями з XForms 1.0, не вимагаючи змін несумісних із існуючими веб-сторінками. На цій ранній стадії, хоча проект уже був доступний для громадськості, і приймав критичні зауваження, специфікація була захищена авторськими правами Opera.

Информация о работе Розробка середовища для управління сайтами на основі HTML5