logo
Разработка Web-приложения для создания презентаций

1.1 Современные методы достижения поставленной цели

Обзор современной литературы о быстрой разработке указывает на методику зарубежных коллег из студии 37signals, создающих веб-сайты разной сложности в кратчайшие сроки с минимальными затратами [5, гл. 1].

Описываемая методика заключается в создании минимального функционала с последующей возможностью расширения и рекомендует вести процесс разработки от интерфейса пользователя к базе данных, с последующей связью их между собой. Кроме того, в описании методики 37signals ссылаются на Ruby on Rails [5, гл. 10] как на наиболее удобный инструмент. Разработчики утверждают, что выбор оптимального инструмента крайне важен.

Исходя из приведенной в книге методики, можно предположить, что для успешной разработки нужно применить Ruby on Rails или аналогичный инструмент, поскольку процесс разработки данного проекта практически соответствует процессу, описанному в книге.

Инструмент Ruby on Rails -- фреймворк с открытым исходным кодом, написанный на языке программирования Ruby и предназначенный для разработки веб-приложений [19]. Фреймворки для создания веб-приложений применяют для создания систем управления содержимым [13].

Вышеприведенные факты указывают на то, что Ruby on Rails является основой для создания систем управления содержимым. Исходя из этого любой веб-сайт, созданный на основе CMF с открытым исходным кодом будет веб-сайтом на базе CMS с открытым исходным кодом. Вкупе с тем, что исходный код инструмента открыт, разработка веб-сайта с помощью Ruby on Rails или аналога в полной мере соответствует теме дипломной работы. Кроме того, использование расходы на разработку будут сокращены из-за отсутствия денежных затрат на CMS.

Ближайшее изучение Ruby on Rails показало, что его синтаксис не сложен, однако отличается наличием особых правил синтаксиса от других языков высокого уровня, широко используемых в веб-разработке [8], в том числе, и от обычного синтаксиса Ruby, поскольку язык позволяет переопределять методы и операторы [18].

Изучение особенностей языка может занять длительное время, поэтому следует выбрать более удобный инструмент, написанный на языке программирования с более стандартным синтаксисом.

Одним из таких инструментов является Django [14, 28], который часто сравнивают с Ruby on Rails [43, 23]. Следует заметить, что приведенные источники сообщают о более гибкой модульной архитектуре Django и более прозрачном языке программирования Python, на котором написан этот CMF, что, безусловно, отвечает поставленным требованиям поиска инструмента. Синтаксис Python стандартен и прозрачен, что гарантируется философией языка, описанной в официальном стандарте [48].

Поскольку Django является CMF с открытым исходным кодом, он в полной мере способен заменить Ruby on Rails в процессе разработки, поскольку их архитектурные решения схожи. Исходя из этого, можно принять Django за основу создаваемого веб-сайта.

Как было указано в исходных данных, текущая версия сайта не обеспечивает необходимого функционала области поисковой оптимизации сайта [9]. После проведения консультации со специалистом по поисковому продвижению и изучению рекомендованных источников [33, 25, 30], было установлено, что для обеспечения наилучшего результата в продвижении необходимо, чтобы внутренние факторы сайта соответствовали требованиям поисковых систем.

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

Современным языком разметки, с помощью которого описывается структура веб-страницы, является HTML. На данный момент актуальна 5-я версия языка, обеспечивающая более четкую семантическую разметку по сравнению с предыдущими версиями [44].

В помощь к разметке средствами HTML были созданы языки микроразметки, позволяющие обозначить внутри блока данных те или иные элементы, такие как адреса, номера телефонов и им подобные. Обозначение таких данных позволяет поисковым системам лучше распознать содержимое страницы, а так же правильно и наглядно сгруппировать их в поисковой выдаче. Наиболее развитым среди стандартов микроразметки является стандарт Schema.org, объявленный поисковыми системами Google, Bing и Yahoo! И поддерживаемый Яндексом [26].

Применение HTML5 вкупе с микроразметкой Schema.org должно дать наилучшую на сегодняшний день базу для внутренних факторов сайта при подготовке к поисковой оптимизации.

При подготовке интерфейса важно придать ему информативность и выделить элементы, поскольку пользователи воспринимают структуру страниц визуально. Интерфейс должен быть простым, логичным и соответствовать ожиданиям пользователя и наиболее вероятным сценариям использования, что на данный момент практикуется многими крупными специалистами в области дизайна [27, 7, 6].

Для обеспечения визуального оформления веб-страниц применяется технология каскадных таблиц стилей или CSS [10], предназначенных для описания внешнего вида документа, написанного с использованием языка разметки, которым является веб-страница, базирующаяся на HTML. Применение правил таблицы стилей к элементам страницы позволяет представить ее как дружественный и интуитивно-понятный интерфейс.

Для придания отзывчивости и интерактивности веб-страницам применяется язык сценариев JavaScript, который позволяет манипулировать элементами страницы [15]. Кроме того, JavaScript позволяет разрешить проблему архитектуры запрос-ответ протокола HTTP, занимающегося передачей веб-страниц, которая заключается в необходимости полной перезагрузки страницы с сервера для обновления информации.

Скриптовый язык JavaScript позволяет обновлять часть данных на странице с помощью фоновых запросов к серверу и последующем обновлением некоторых элементов страницы в соответствии с полученными данными. Такой подход к построению интерактивного пользовательского веб-интерфейса называют AJAX [12]. AJAX позволяет значительно сократить передаваемый трафик и нагрузку на сервер, а так же ускорить реакцию интерфейса, поскольку объем получаемых данных мал и запрос происходит в фоновом режиме. Таким образом, отзывчивость интерфейса значительно повышается.

Для сокращения времени разработки и объемов кода на JavaScript обычно применяют фреймворки или библиотеки, содержащие типовые функции. Наиболее популярным представителем библиотек JavaScript является библиотека jQuery, которая располагает удобными функциями для манипулирования элементами страницы, совершения фоновых запросов к серверу [16], что полностью удовлетворяет требования разрабатываемого сайта. Кроме того, она легко расширяется дополнительными библиотеками.

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