SlideShare a Scribd company logo
Web application framework
              The Invaders
       http://www.theinvaders.ru
Что это такое?

Каркас(дословный перевод). Это набор готовых
компонентов и моделей, которые облегчают
программирование и делают его более организованным.
Используя веб-фреймворк, можно значительно упростить
работу, необходимую для построения веб-приложений.
Это напоминает построение модели из блоков Лего.
Варианты при разработке веб приложения?

•   Использовать «чистый» продукт;

•   Использовать готовое решение;

•   Использовать фрэймворк.


    Большинство веб-фреймворков используют паттерн проектирования — MVC(model-view-
    controller). Далее по умолчанию будет подразумеваться, что фреймворк работает по такому
    паттерну.
MVC(model-view-controller)



•   Первая часть представляет собой бизнес-процессы (модель).

•   Вторая говорит приложению, что делать с потоками данных (контроллер).

•   А с помощью третьей части  создаются HTML-страницы (вид).



    Многие веб-фреймворки, навязывая шаблон MVC, позволяют организовать код так, что изменения в модели, виде или
    контроллере оказывают наименьшее воздействие на другие элементы приложения.
Зачем?
Выдержка из чьего-то блога...

Создание современного web приложения представляет собой довольно трудоемкую задачу. В книгах или
руководствах все кажется довольно простым. Демонстрационные программы редко бывают больше нескольких
страницы. Все красиво работает… Но, проблема в том, что это учебные примеры. Как только вы попытаетесь
использовать их на практике, вы увидите, как увеличивается объем кода. Рассмотрим обработку данных,
полученных из формы. Мы должны:

- проверить тип полученных значений;
- убедиться, что значения имеют допустимые величины (или формат);
- удалить из текста запрещенные теги (защита от XSS);
- заменить в параметрах SQL-запросов служебные символы на их эскейп последовательности (защита от SQL
Injection);
- если параметры связаны между собой, проверить эти связи;
- и т.д.

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

•   система кеширования;

•   безопасность;

•   ORM, API доступа к БД;

•   диспетчер URL;

•   AJAX;

•   автоматическое конфигурирование;

•   расширяемость;

•   и т.д.
Веб фреймворки

•   PHP: Zend, CodeIgniter, Kohana, Yii, CakePHP, Symphony;

•   Python: Django, Pylons, TurboGears;

•   Ruby on Rails;

•   Java: Spring Framework, JBoss Seam, Apache Wicket, Apache Click,
    Apache Tapestry, Apache Struts;

•   и др.

More Related Content

PPTX
Test Driven Development in ASP.NET MVC 3
PPTX
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
PPT
SQADAYS 21 Москва 2017
PPTX
Автоматизация тестирования. Разбор конкретного примера - продукта XML2Selenium
PPT
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
PPTX
Эволюция автотестирования на Selenium
PPTX
Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск...
PPTX
Azure - введение
Test Driven Development in ASP.NET MVC 3
KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM
SQADAYS 21 Москва 2017
Автоматизация тестирования. Разбор конкретного примера - продукта XML2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Эволюция автотестирования на Selenium
Опыт автоматизации интеграционного тестирования и внедрения DevOps в банковск...
Azure - введение

What's hot (20)

PDF
DevOps - позволь работе приносить удовольствие
PPTX
Организация workflow в трекере TFS | Алексей Соловьев
PPTX
ASP.NET MVC Intro
PPT
Алексей Кабанов
PPTX
Асинхронное программирование в ASP.NET MVC
PPTX
Sergey Gavruk - WebMatrix
PPTX
Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...
PDF
AntonSaburov (Gemini-Systems) @ CodeCamp2011
PPT
автоматизация тестирования веб приложений павел липский
PPTX
Расширяемая платформа для создания и управления автоматизированными тестами н...
PPTX
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
PPTX
Dotnet development
PPTX
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
PPTX
Как улучшить тесты на Selenium с помощью "визуального тестирования"?
PPTX
ASP.NET MVC 3 Anton Vidishchev
PPT
Советы для успешной автоматизации тестирования веб-приложений
PPTX
Причины и способы имитации back-end'а
PPTX
WPF Automation – test injection approach to application testing
PPTX
Azure - Visual Studio Team Services
PPTX
Автоматизация тестирования веб-сервисов посредством SOAP UI
DevOps - позволь работе приносить удовольствие
Организация workflow в трекере TFS | Алексей Соловьев
ASP.NET MVC Intro
Алексей Кабанов
Асинхронное программирование в ASP.NET MVC
Sergey Gavruk - WebMatrix
Нагрузочное тестирование: Нестандартные методы анализа потока данных в прилож...
AntonSaburov (Gemini-Systems) @ CodeCamp2011
автоматизация тестирования веб приложений павел липский
Расширяемая платформа для создания и управления автоматизированными тестами н...
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей Буров
Dotnet development
Практические рекомендации по использованию системы TestRail | Дмитрий Рыльцов...
Как улучшить тесты на Selenium с помощью "визуального тестирования"?
ASP.NET MVC 3 Anton Vidishchev
Советы для успешной автоматизации тестирования веб-приложений
Причины и способы имитации back-end'а
WPF Automation – test injection approach to application testing
Azure - Visual Studio Team Services
Автоматизация тестирования веб-сервисов посредством SOAP UI
Ad

Similar to Web application framework (20)

PDF
Разработка веб-сервисов осень 2013 лекция 8
PPTX
Frontend-frejmvorki-sozdanie-polzovatelskogo-interfejsa.pptx
PDF
Как я полюбил фреймворки и стал веб-разработчиком
PDF
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
PDF
Экскурс в мир WEB разработки
PDF
WordPress как фреймворк для создания сложных систем
ODP
Выбираем PHP-фреймворк. Особенности разработки с фреймворками
PDF
Как разраба
PDF
CodeFest 2011. Макаров А. — Как разрабатывается Yii
PPT
Web programming modern tendencies
PPTX
Архитектура в web, доклад на Women techmakers, Omsk, 2014
PDF
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
PDF
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
PDF
Javascript-фреймворки:
 должен остаться только один
PDF
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
PPTX
Symfony(keremet research)
PDF
Введение во фронтенд-разработку
PDF
Фронтенд в Яндексе
PDF
Фронтенд в Яндексе
PDF
О фреймворках / Роман Ивлиев (Банки.ру)
Разработка веб-сервисов осень 2013 лекция 8
Frontend-frejmvorki-sozdanie-polzovatelskogo-interfejsa.pptx
Как я полюбил фреймворки и стал веб-разработчиком
2017-03-26 02 Егор Непомнящих. Что такое web front end, и с чем его едят
Экскурс в мир WEB разработки
WordPress как фреймворк для создания сложных систем
Выбираем PHP-фреймворк. Особенности разработки с фреймворками
Как разраба
CodeFest 2011. Макаров А. — Как разрабатывается Yii
Web programming modern tendencies
Архитектура в web, доклад на Women techmakers, Omsk, 2014
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Symfony(keremet research)
Введение во фронтенд-разработку
Фронтенд в Яндексе
Фронтенд в Яндексе
О фреймворках / Роман Ивлиев (Банки.ру)
Ad

Web application framework

  • 1. Web application framework The Invaders http://www.theinvaders.ru
  • 2. Что это такое? Каркас(дословный перевод). Это набор готовых компонентов и моделей, которые облегчают программирование и делают его более организованным. Используя веб-фреймворк, можно значительно упростить работу, необходимую для построения веб-приложений. Это напоминает построение модели из блоков Лего.
  • 3. Варианты при разработке веб приложения? • Использовать «чистый» продукт; • Использовать готовое решение; • Использовать фрэймворк. Большинство веб-фреймворков используют паттерн проектирования — MVC(model-view- controller). Далее по умолчанию будет подразумеваться, что фреймворк работает по такому паттерну.
  • 4. MVC(model-view-controller) • Первая часть представляет собой бизнес-процессы (модель). • Вторая говорит приложению, что делать с потоками данных (контроллер). • А с помощью третьей части  создаются HTML-страницы (вид). Многие веб-фреймворки, навязывая шаблон MVC, позволяют организовать код так, что изменения в модели, виде или контроллере оказывают наименьшее воздействие на другие элементы приложения.
  • 5. Зачем? Выдержка из чьего-то блога... Создание современного web приложения представляет собой довольно трудоемкую задачу. В книгах или руководствах все кажется довольно простым. Демонстрационные программы редко бывают больше нескольких страницы. Все красиво работает… Но, проблема в том, что это учебные примеры. Как только вы попытаетесь использовать их на практике, вы увидите, как увеличивается объем кода. Рассмотрим обработку данных, полученных из формы. Мы должны: - проверить тип полученных значений; - убедиться, что значения имеют допустимые величины (или формат); - удалить из текста запрещенные теги (защита от XSS); - заменить в параметрах SQL-запросов служебные символы на их эскейп последовательности (защита от SQL Injection); - если параметры связаны между собой, проверить эти связи; - и т.д. Естественно, этот код должен быть не только написан, но и протестирован. Как видите, приличный кусок работы. Причем в большинстве своем это рутинные операции, которые повторяются практически во всех приложениях.
  • 6. Что нам дает веб фреймворк? • система шаблонов; • система кеширования; • безопасность; • ORM, API доступа к БД; • диспетчер URL; • AJAX; • автоматическое конфигурирование; • расширяемость; • и т.д.
  • 7. Веб фреймворки • PHP: Zend, CodeIgniter, Kohana, Yii, CakePHP, Symphony; • Python: Django, Pylons, TurboGears; • Ruby on Rails; • Java: Spring Framework, JBoss Seam, Apache Wicket, Apache Click, Apache Tapestry, Apache Struts; • и др.

Editor's Notes