Смекни!
smekni.com

Разработка системы электронного голосования на странице промо-сайта олимпиады "Мастера Photoshop" (стр. 4 из 8)

AJAX — не самостоятельная технология, а концепция использования нескольких смежных технологий. AJAX базируется на двух основных принципах:

- использование технологии динамического обращения к серверу «на лету», без перезагрузки всей страницы полностью, например:

- с использованием XMLHttpRequest (основной объект);

- через динамическое создание дочерних фреймов;

- через динамическое создание тега <script>.

- использование DHTML для динамического изменения содержания страницы;

В качестве формата передачи данных обычно используются JSON или XML.

Преимущества:

- Экономия трафика

- Уменьшение нагрузки на сервер

- Ускорение реакции интерфейса

Недостатки:

- Отсутствие интеграции со стандартными инструментами браузера

- Динамически загружаемое содержимое недоступно поисковикам (если не проверять запрос, обычный он или XMLHttpRequest)

- Старые методы учёта статистики сайтов становятся неактуальными

- Усложнение проекта

JavaScript – объектно-ориентированный скриптовый язык программирования. Является диалектом языка ECMAScript.

JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.

Основные архитектурные черты:

- динамическая типизация,

- слабая типизация,

- автоматическое управление памятью

- прототипное программирование,

- функции как объекты первого класса.

На JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на Java, но при этом лёгким для использования непрограммистами. Языком JavaScript не владеет какая-либо компания или организация, что отличает его от ряда языков программирования, используемых в веб-разработке.

JavaScript обладает рядом свойств объектно-ориентированного языка, но реализованное в языке прототипирование обуславливает отличия в работе с объектами по сравнению с традиционными объектно-ориентированными языками. Кроме того, JavaScript имеет ряд свойств, присущих функциональным языкам — функции как объекты первого класса, объекты как списки, карринг, анонимные функции, замыкания — что придаёт языку дополнительную гибкость.

JavaScript обладает рядом свойств объектно-ориентированного языка, но реализованное в языке прототипирование обуславливает отличия в работе с объектами по сравнению с традиционными объектно-ориентированными языками. Кроме того, JavaScript имеет ряд свойств, присущих функциональным языкам — функции как объекты первого класса, объекты как списки, карринг, анонимные функции, замыкания — что придаёт языку дополнительную гибкость.

Несмотря на схожий с Си синтаксис, JavaScript по сравнению с языком Си имеет коренные отличия:

- объекты, с возможностью интроспекции;

- функции как объекты первого класса;

- автоматическое приведение типов;

- автоматическая сборка мусора;

- анонимные функции.

В языке отсутствуют такие полезные вещи, как

- модульная система: JavaScript не предоставляет возможности управлять зависимостями и изоляцией областей видимости;

- стандартная библиотека: в частности, отсутствует интерфейс программирования приложений по работе с файловой системой, управлению потоками ввода/вывода, базовых типов для бинарных данных;

- стандартные интерфейсы к веб-серверам и базам данных;

- система управления пакетами, которая бы отслеживала зависимости и автоматически устанавливала их.


ГЛАВА 2 РАЗРАБОТКА СИСТЕМЫ ЭЛЕКТРОННОГО ГОЛОСОВАНИЯ НА СТРАНИЦЕ ПРОМО-САЙТА ОЛИМПИАДЫ «МАСТЕРА PHOTOSHOP»

2.1 Требования к организации голосования

Выбор идеологии Интернет-конкурса, проходящего в первый раз, включает в себя несколько принципиальных моментов:

1. Формулировка задач, стоящих перед Интернет-конкурсом.

2. Разработка методики оценки сайтов.

3. Источник и порядок финансирования Интернет-конкурса.

4. Бюджет Интернет-конкурса.

5. Выбор доменного имени Интернет-конкурса (URL) и его названия.

6. Призовой фонд Интернет-конкурса.

7. Чем конкретно будут награждены победители Интернет-конкурса.

8. Бюджет рекламы Интернет-конкурса.

9. Сроки проведения Интернет-конкурса.

10. Место проведения Интернет-конкурса.

11. Выбор членов жюри Интернет-конкурса.

12. Место проведения церемонии вручения наград победителям.

13. Выбор разработчика Интернет-конкурса.

14. Найм сотрудников, отвечающих за поддержку Интернет-конкурса.

15. Выбор программного обеспечения, на основе которого будет создаваться Интернет-конкурс.

16. Выбор сервера, на котором будет размещён Интернет-конкурс.

17. Подбор контента Интернет-конкурса.

18. Выбор ключевых слов и ключевых словосочетаний, по которым Интернет-конкурс должны находить в Интернет.

Под идеологией Интернет-конкурса мы понимаем идеологии непосредственно сайта, с помощью которого проводится Интернет-конкурс.

Голосование (опрос) может быть 3-х различных видов:

1. с возможностью выбора только одного варианта ответа;

2. с возможностью выбора нескольких вариантов ответа;

3. с возможностью присвоения каждому ответу определенного балла (от 1 до 10).

Созданное нами голосование подразумевает выбор только одного варианта ответа.

Автор голосования может устанавливать дополнительные функции:

- время жизни голосования;

- возможность повторного голосования одного и того же участника;

- возможность ввода комментариев к голосованию;

- описание предыстории вопроса.

При создании интернет голосования необходимо сделать описание темы голосования. Описание должно быть составлено грамотно, чтобы пользователи могли узнать дополнительную информацию по голосуемому вопросу. В то же время, в описании должны быть включены ключевые слова и фразы, соответствующие как тематике опроса, так и тематике сайта.

Особое внимание следует уделить названию темы опроса, т.к. данная фраза будет присутствовать в заголовке страницы опроса.

Если позволяет тема опроса, то обязательно надо дать возможность посетителям оставлять свои комментарии, что расширит "круг поиска" для поисковых систем;

После того, как созданный опрос будет проиндексирован поисковой системой, велика вероятность того, что по некоторым низкочастотным запросам на страницу опроса начнут приходить целевые посетители, которых может заинтересовать голосование-дискуссия. А поскольку на странице опроса присутствует прямая ссылка на сайт вебмастера, создавшего данный опрос-голосование, то некоторые из целевых посетителей посетят и сайт автора голосования;

Даже если переходов на сайт автора опроса будет мало (или их не будет вообще), все равно некоторая выгода будет присутствовать всегда, поскольку прямая ссылка на сайт будет давать некоторый прирост посещаемости. Причем этот прирост будет тем больше, чем, дольше будет "жить" конкретный опрос. Чем популярнее тема опроса, тем большая вероятность получения целевых посетителей.

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

В параметрах голосований можно:

- задавать теги форматирования текста для заголовка и вопросов голосования;

- изменять длину и ширину полосок графика;

- выбирать различные стили полосок графика или использовать свои картинки;

- изменять надпись на кнопке отправки данных или заменять ее своей картинкой;

- включать или отключать проверку ip адресов голосующих, чтобы запрещать или разрешать голосовать повторно;

- включать или отключать показ результатов голосования;

- выбирать один из видов сортировки результатов голосования: по возрастанию результатов, по убыванию результатов, сортировать вопросы в алфавитном порядке и в обратном, не сортировать;

- изменять тэг BODY, оформляя каждое голосование под дизайн вашей странички.

Дополнительные возможности:

- удобное администрирование - создание, просмотр, редактирование, удаление голосований, настройка шаблона;

- ведение и просмотр логов;

- возможность показывать результаты нескольких голосований на одной странице (например, для показа результатов прошедших голосований);

- разрешать пользователю выбирать только один ответ (radiobutton) или несколько (checkbox) из предложенных вами.

Новые возможности:

- запрещать повторные голосования вообще или на какое-то время (задается в минутах);

- адавать теги форматирования системных сообщений в каждом голосовании;

- выводить системные сообщения ("Вернуться", "Спасибо, ваш голос был принят" и т.д.) на разных языках (также Вы можете добавлять новые языки или полностью переписать под свои нужды все системные сообщения).

- подключать к голосованиям html-шаблоны с дизайном вашего сайта, чтобы голосования выводились встроенные в ваш дизайн;

- добавлена форма вывода вопросов голосования в форме select (выпадающее меню);

2.2 Написание скрипта для интернет-голосования

В качестве инструментов я предлагаю выбрать язык программирования PHP. Язык PHP уже достаточно распространен среди хостинг-провайдеров как в России, так и за рубежом. Он был создан специально для написания скриптов, исполняемых на стороне сервера. Для сервера Apache он работает в виде дополнительного модуля, обеспечивая высокую скорость работы и удобство программирования.

Программа на PHP представляет собой файл на языке HTML с включенными в него тегами PHP, которые выглядят следующим образом:

<? команды ?>

Таким образом, вы можете легко подготовить весь дизайн страницы в любимом редакторе HTML, а затем вставить в него необходимые команды PHP.