Главная страница

Web - программирование. Средства web-программирования. Министерство просвещения Российской Федерации Направление подготовки


Скачать 182.3 Kb.
НазваниеМинистерство просвещения Российской Федерации Направление подготовки
АнкорWeb - программирование
Дата14.02.2021
Размер182.3 Kb.
Формат файлаdocx
Имя файлаСредства web-программирования.docx
ТипДокументы
#176269
страница6 из 6
1   2   3   4   5   6

Каркас веб – приложений


Каркас веб-приложений (Web application framework, WAF) — это каркас, предназначенный для создания динамических веб-сайтов, сетевых приложений, сервисов или ресурсов. Он упрощает разработку и избавляет от необходимости написания рутинного кода. Многие каркасы упрощают доступ к базам данных, разработку интерфейса, и также уменьшают дублирование кода [1].

Существуют специализированные типы каркасов веб-приложений, например, каркасы для создания систем управления содержимым.

Большая часть каркасов веб-приложений реализует шаблон проектирования Model-View-Controller (MVC). Однако, также могут использоваться и другие шаблоны, например, Model-View-Presenter (Backbone.js) или Model-View-ViewModel (Knockout.js).

Веб каркасы можно также по уровню абстракции условно разделить на 3 типа:

Основанные на запросах: каркас непосредственно обрабатывает входящие запросы. Сохранение состояния происходит за счёт серверных сессий. Примеры: DjangoRuby on RailsStrutsGrails.

Основанные на компонентах: Каркас абстрагирует обработку запросов внутри стандартных компонентов и самостоятельно следит за состоянием. Своим поведением данные каркасы напоминают стандартные программные графические интерфейсы. Примеры: JavaServer FacesTapestryWicket.

Rich Internet Application-каркасы: служат для разработки полноценных приложений, запускаемых внутри браузера. Пример: Apache Flex.

Django  —  свободный фреймворк для веб-приложений на языке Python, использующий шаблон проектирования MVC. Проект поддерживается организацией Django Software Foundation.

Сайт на Django строится из одного или нескольких приложений, которые рекомендуется делать отчуждаемыми и подключаемыми. Это одно из существенных архитектурных отличий этого фреймворка от некоторых других (например, Ruby on Rails). Один из основных принципов фреймворка — DRY (англ. Don't repeat yourself)

Также, в отличие от других фреймворков, обработчики URL в Django конфигурируются явно при помощи регулярных выражений.

Для работы с базой данных Django использует собственный ORM, в котором модель данных описывается классами Python, и по ней генерируется схема базы данных.

Ruby on Rails (RoR) — фреймворк, написанный на языке программирования Ruby, реализует архитектурный шаблон Model-View-Controller для веб-приложений, а также обеспечивает их интеграцию с веб-сервером и сервером баз данных. Является открытым программным обеспечением и распространяется под лицензией MIT.

Создан Давидом Хейнемейером Ханссоном на основе его работы в компании 37signals над средством управления проектами Basecamp и выпущен в июле 2004 года23 декабря 2008 года команда проекта Merb объединилась с командой Rails с целью создания следующей версии Rails 3, которая объединит в себе лучшие черты обоих фреймворков.

Базируется на следующих принципах разработки приложений:

- максимальное использование механизмов повторного использования, позволяющих минимизировать дублирование кода в приложениях (принцип Don’t repeat yourself);

- по умолчанию используются соглашения по конфигурации, типичные для большинства приложений (принцип Convention over configuration) — явная спецификация конфигурации требуется только в нестандартных случаях.

JavaServer Faces (JSF) — это Java спецификация для построения компонентно-ориентированных пользовательских интерфейсов для веб-приложений, написанный на Java. Он служит для того, чтобы облегчать разработку пользовательских интерфейсов для Java EE-приложений. В отличие от прочих MVC-фреймворков, которые управляются запросами, подход JSF основывается на использовании компонентов. Состояние компонентов пользовательского интерфейса сохраняется, когда пользователь запрашивает новую страницу и затем восстанавливается, если запрос повторяется. Для отображения данных обычно используется JSPFacelets, но JSF можно приспособить и под другие технологии, например XUL.

Технология JavaServer Faces включает:

Набор API для представления компонентов пользовательского интерфейса (UI) и управления их состоянием, обработкой событий и валидацией вводимой информации, определения навигации, а также поддержку интернационализации (i18n) и доступности (accessibility).

Специальная библиотека JSP тегов для выражения интерфейса JSF на JSP странице. В JSF 2.0 в качестве обработчика представления используется технология Facelets которая пришла на замену JSP.

Apache Flex (ранее Adobe Flex, до приобретения Macromedia компанией Adobe — Macromedia Flex) — комплект средств разработки (SDK) для создания кросс-платформенных Rich Internet Applications на основе Flash. Разработанный вначале компанией Macromedia и приобретённый затем компанией Adobe Systems, Flex был пожертвован компанией Adobe фонду Apache Software Foundation в 2011 году. Члены ASF по результатам голосования включили его в Apache Incubator и через полгода, в июле 2012 выпустили новую версию (4.8.0).

Flex расширяет базовые возможности Flash, позволяя описывать интерфейс приложения на XML, ускоряя и упрощая процесс разработки насыщенных веб-приложений. Логика приложения пишется на ActionScript 3. Результатом компиляции является файл SWF, предназначенный для выполнения в браузере (на платформе Flash Player) или как самостоятельное приложение (на платформе AIR). Flex-приложение может компилироваться на сервере (для этого потребуется mod_flex.so или mod_flex.dll в зависимости от ОС и веб-сервера), а может — из IDE или непосредственно из командной строки с помощью компилятора mxmlc (начиная с Flex 2), как и во Flash, результатом является файл swf, исполняемый в Flash Player.


  1. Системы управления содержимым


MS или «Система управления контентом» (еще ее иногда называют движком сайта) — это массивный кусок софта, который представляет собой полный набор инструментов для создания сайта и управления им же. То есть то, что обычно делается с помощью HTML, CSS и JavaScript-файлов, тут делается нажатием кнопок в графическом интерфейсе [8]. 

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

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

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

Особенности:

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

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

  3. Визуальную составляющую CMS не нужно прорабатывать самостоятельно. Уже есть готовые темы, которые нужно только оплатить и установить. И любой добавленный контент будет адаптироваться под выбранный дизайн без необходимости менять его вручную.

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

  5. Информация о CMS хорошо задокументирована, и вам не составит труда найти нужную инструкцию или какое-то пояснение.

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

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

  8. Ну и что важнее всего. Большая часть CMS поставляется бесплатно. Оплачиваете хостинг и вперед. Платить сверху ничего не придется.

Популярные движки и их особенности.

1. WordPress.

Эта CMS идет первой в списке, потому что заслуживает этого на 100%. Можно сходу выбирать ее и не сомневаться, что она подойдет для решения поставленных задач. Эта штука адаптируется под любые условия и умеет делать все, что душе угодно.

Плюсы:

- может превращаться во что угодно. Хотите личный блог? Да он для этого и создавался. Хотите онлайн-магазин? Ок. Движок для любого бизнеса.

- удобная система редактирования сайтов. Тут все построено на блоках — составляющих сайта, которые можно редактировать и перемещать в любом хаотичном порядке.

- WordPress подходит для быстрого и эффективного SEO-продвижения. Тут для этого еще и тонна плагинов есть.

- да, плагинов здесь море. И для аналитики, и для рекламы, и для соцсетей. Как бесконечно большой App Store, только для вашего сайта.

Минусы:

- WordPress — увесистый и местами сложный продукт. Количество меню иногда кажется избыточным. Придется разобраться во всех нюансах.

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

2. Joomla.

Движок сайта, который идет по пятам за WordPress и пытается завоевать его славу. У него те же преимущества: бесплатность, куча плагинов, гигантский ассортимент визуальных оформлений. Тут работает дело вкуса. CMS для тех, кто не проникся философией WordPress, но хочет похожее решение.

Плюсы:

- умеет адаптироваться под требовательных вебмастеров. Все элементы ведут себя податливо и поддаются быстрому изменению.

- подходит и тем, кто умеет писать код, и тем, кто не хочет этого делать. Wordpress — тоже такой, но здесь на этом сильнее акцентируется внимание.

- так же, как и Wordpress распространяется бесплатно с открытым исходным кодом и поддерживается сообществом поклонников.

Минусы:

- в сравнении с новым интерфейсом Wordpress, здесь творится вакханалия. Разобраться с тем, как работает Joomla куда сложнее, чем с его главным оппонентом.

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

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

3. Drupal.

Еще один аналог WP. Только более престижный. На его базе часто строят ресурсы для учебных учреждений и крупных журналов. В общем, разного рода серьезный бизнес или государственные организации. Лучше подходит тем вебмастерам, которые готовы нанять в штат разработчика на полный день. Он пригодится.

Плюсы:

- на Drupal легче добавлять специфичный контент, который не поддерживается другими движками (редкость, конечно, но и такое бывает).

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

- много модулей, созданных профессиональными разработчиками. Они работают на манер плагинов (как в Joomla).

Минусы:

- Drupal ориентируется на профессионалов и кодеров с опытом. Поэтому он не так дружелюбен по отношению к людям, далеким от разработки сайтов. Даже настройка внешнего вида может обернуться сложностями.

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

4. Битрикс.

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

Плюсы:

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

- встроенный «проектировщик страниц» поддерживает Drag and Drop. Перетаскивая элементы, можно без особых затрат построить себе хоть лендинг, хоть целый мебельный магазин.

Минусы:

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

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

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

Заключение


В рамках данной работы изучили все стороны веб программирования. Все поставленные задачи, а именно:

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

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

- изучить что такое СУБД;

- изучить каркасы веб-приложений;

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

Выполнили.

Список литературы


  1. Википедия [сайт]. URL: https://ru.wikipedia.org/wiki/ (дата обращения: 30.01.2021).

  2. Дунаев В. Самоучитель JavaScript, 2-е изд. – СПб.: Питер, 2005. – 395 с.

  3. Интуит [сайт]. URL: https://intuit.ru/studies/courses/36/36/lecture/19355 (дата обращения: 30.01.2021).

  4. Ленгсторф, Джейсон PHP и jQuery для профессионалов / Джейсон Ленгсторф. - М.: Вильямс, 2017. - 362 c.

  5. Петцольд Чарльз Программирование для Microsoft Windows на Microsoft Visual Basic .NET. Том 1 Чарльз Петцольд; Русская Редакция - 2017. - 544 c.

  6. Хомоненко, А. Работа с базами данных в C++ BUILDER / А. Хомоненко. - М.: Книга по Требованию, 2017. - 488 c.

  7. Эрик, Мэтиз Изучаем Python. Программирование игр, визуализация данных, веб-приложения / Мэтиз Эрик. - М.: Питер, 2018. - 760 c.

  8. UNISENDER [сайт]. URL: https://www.unisender.com/ru/blog/idei/cms/ (дата обращения: 30.01.2021).


1   2   3   4   5   6


написать администратору сайта