Разработка веб-приложения, позволяющего создавать и редактировать проекты с коллективным взаимодействием для совместного редактирования проектов HTML, CSS, JS. Обоснование выбора архитектуры программного изделия. Принцип организации обмена данными.
Аннотация к работе
Клиентская часть 1. Основные сведения о предметной области 1.1 Актуальность Работа над проектами постоянно усложняется по мере увеличения размера проектов. Поэтому так важно дать пользователям возможность совместного редактирования, просмотра и правки документов, а также быструю, надёжную связь лицом к лицу, позволяя тем самым ускорить темп разработки. Новый мир веб-разработки требует интеграции с социальной составляющей. Всеми знакомая «стена», «добавление в друзья» позволяют объединить силы многих людей для достижения новых побед. Такие проекты необходимы при работе, где важно отслеживать ход работы в реальном времени, когда редакторы живут удаленно друг от друга на больших расстояниях. Для описания многих проектов стандартом становится язык гипертекстовой разметки HTML с таблицами каскадных стилей CSS и языка JS [5]. Прежде популярные языки и базы данных вытесняются новыми философиями разработки. JavaScript стал стандартом де-факто в среде веб-разработки, и развивается семимильными шагами, предоставляя с каждым годом все более новый и совершенный функционал [6]. Вместе с ним развиваются различные фреймворки и готовые решения, такие как jQuery, Angular, KO и пр. Корпорации Microsoft, Google, Yahoo и др. представляют общественности свое видение JS. К клиентским технологиям построения RIA приложения, сегодня принято относить: HTML 5, Flash 11, Silverlight, Java Applet. Таблица 1.4.1. Возможности современных веб-платформ Возможности HTML 4.01 HTML 5 Flash 11 Silverlight 5 Многопоточность - - Растровая графика - Векторная графика - Трёхмерная графика - Поддержка сокетов - Асинхронные HTTP запросы - Синхронные HTTP запросы Таблица 1.4.1.1. Возможности современных веб-платформ Анализ HTTP заголовков запроса - Модификация HTTP заголовков запроса - - Хранилище данных - Поддержка cookie Пользовательские шрифты - Поддержка аудио Поддержка видео - Поддержка доступа к DOM браузера - - Поддержка исполнения скриптов JS Поддержка вызова кода RIA из JS - Как видно из таблицы 1.4.1, HTML5 обладает всеми необходимыми технологиями для создания динамичных страниц, что позволяет ему вытеснить встраиваемые плагины, реализующих схожую функциональность. 1.4.2 Ограничение проектируемой системы Важным ограничением служит одновременное число постоянных соединений. Опции веб-приложения 1.6 Обоснование выбора архитектуры программного изделия Для проекта выбран MVVM подход к структурированию приложения. Для успешной реализации паттерна MVVM необходимы эффективные средства для организации связи между моделью представления и привязки данных, которые обеспечивает библиотека KO. Является с одной стороны абстракцией Вида, а с другой предоставляет обертку данных из Модели, которые подлежат связыванию. Большим преимуществом веб-сервиса является современный интерфейс, поддержка новейших ЯП и фреймворков, таких как Ruby on Rails, Python Django и др. 2.3.2 Google Apps Script Создание совместно редактируемых скриптов. Есть возможность выполнять специфические функции, такие как AJAX или легкое подключение популярных фреймворков.