SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
12 причин любить 
Symfony2 
Константин Ступак 
Software Engineer @ Eltrino !
Бандлы (Bundles) они же модули 
1. Более 2450 готовых бандлов разного качества 
2. Почти 100% покрытие потребностей 
3. Строгое следование стандартам 
4. Высокое качество кода (в большинстве случаев) 
5. Исчерпывающая документация 
KNPLabs SensioLabs FOS Liip
Стабильность 
1. Разрабатывается с 2005 года 
2. Ядро разрабатывается одной компанией 
3. Стабильные циклы разработки 
4. Long Term Support 
5. Квалифицированные разработчики
Сообщество 
1. 300,000 разработчиков 
2. 120 стран 
3. 128 человек создали 732 коммита и 166 PR 
4. > 1M строк кода с 2010 года 
5. 15+ конференций за 2014 год 
Fabien Potencier
Обучение 
1. Высокий порог вхождения 
2. Контролируемый процесс обучения 
3. Отличные туториалы 
4. Обилие документации и учебных материалов
Инновации 
Symfony одной из первых приняла на вооружение: 
1. Git 
2. Composer 
3. Namespaces 
4. Patterns 
5. Traits, Closures etc.
Ну ок, все выглядит классно. 
А как же плюшки для непосредственно разработки?
Symfony - не MVC фреймворк
Symfony - не фреймворк
Symfony - не MVC фреймворк 
Symfony это Request-Response фреймворк 
Основная задача Symfony - дать разработчику возможность 
получить запрос и отдать ответ. 
Всё, что происходит между этими двумя событиями - 
не забота Symfony
Односложно 
1. Взаимозаменяемость компонентов 
2. Переиспользование компонентов 
3. Интеграция компонентов
Symfony не делает ничего 
В стандартной поставке Symfony не умеет делать ничего. 
Задача разработчика - подобрать подходящие инструменты 
и выбрать архитектуру приложения.
Скорость 
1. Скорость обучения 
2. Скорость разработки 
3. Скорость работы приложения 
Безусловно 
все три пункта зависят от разработчика 
Symfony предоставляет инструменты для оптимизации 
каждого из этих процессов
DDD - ready 
Domain - Driven Design 
Относительно простая реализация сервисов 
Подготовленная инфраструктура для репозиториев 
Формы способны работать с Value Object’ами в 
качестве источника данных 
Готовые решения для построения API (REST/SOAP)
Thats all, folks! 
" vk.com/kosmass 
# facebook.com/konstantin.stupak 
$ konstantin.stupak 
% @kosmass_zt 
& konstantin.stupak@gmail.com

Weitere ähnliche Inhalte

Andere mochten auch

Keep It Simple Security (Symfony cafe 28-01-2016)
Keep It Simple Security (Symfony cafe 28-01-2016)Keep It Simple Security (Symfony cafe 28-01-2016)
Keep It Simple Security (Symfony cafe 28-01-2016)Oleg Zinchenko
 
How kris-writes-symfony-apps-london
How kris-writes-symfony-apps-londonHow kris-writes-symfony-apps-london
How kris-writes-symfony-apps-londonKris Wallsmith
 
DDD on example of Symfony (SfCampUA14)
DDD on example of Symfony (SfCampUA14)DDD on example of Symfony (SfCampUA14)
DDD on example of Symfony (SfCampUA14)Oleg Zinchenko
 
Unleash Your Domain With Greg Young @ DDD-Day
Unleash Your Domain With Greg Young @ DDD-DayUnleash Your Domain With Greg Young @ DDD-Day
Unleash Your Domain With Greg Young @ DDD-DayDotNetMarche
 
DDD on example of Symfony (Webcamp Odessa 2014)
DDD on example of Symfony (Webcamp Odessa 2014)DDD on example of Symfony (Webcamp Odessa 2014)
DDD on example of Symfony (Webcamp Odessa 2014)Oleg Zinchenko
 
Applying Domain-Driven Design to APIs and Microservices - Austin API Meetup
Applying Domain-Driven Design to APIs and Microservices  - Austin API MeetupApplying Domain-Driven Design to APIs and Microservices  - Austin API Meetup
Applying Domain-Driven Design to APIs and Microservices - Austin API MeetupLaunchAny
 
Enterprise PHP: mappers, models and services
Enterprise PHP: mappers, models and servicesEnterprise PHP: mappers, models and services
Enterprise PHP: mappers, models and servicesAaron Saray
 
Socrates BE - Projections Explained
Socrates BE - Projections ExplainedSocrates BE - Projections Explained
Socrates BE - Projections ExplainedYves Reynhout
 
ZendCon 2011 UnCon Domain-Driven Design
ZendCon 2011 UnCon Domain-Driven DesignZendCon 2011 UnCon Domain-Driven Design
ZendCon 2011 UnCon Domain-Driven DesignBradley Holt
 
Introduction to CQRS - command and query responsibility segregation
Introduction to CQRS - command and query responsibility segregationIntroduction to CQRS - command and query responsibility segregation
Introduction to CQRS - command and query responsibility segregationAndrew Siemer
 
Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...
Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...
Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...Aaron Saray
 

Andere mochten auch (20)

Oro meetup #4
Oro meetup #4Oro meetup #4
Oro meetup #4
 
Keep It Simple Security (Symfony cafe 28-01-2016)
Keep It Simple Security (Symfony cafe 28-01-2016)Keep It Simple Security (Symfony cafe 28-01-2016)
Keep It Simple Security (Symfony cafe 28-01-2016)
 
How kris-writes-symfony-apps-london
How kris-writes-symfony-apps-londonHow kris-writes-symfony-apps-london
How kris-writes-symfony-apps-london
 
DDD on example of Symfony (SfCampUA14)
DDD on example of Symfony (SfCampUA14)DDD on example of Symfony (SfCampUA14)
DDD on example of Symfony (SfCampUA14)
 
Unleash Your Domain With Greg Young @ DDD-Day
Unleash Your Domain With Greg Young @ DDD-DayUnleash Your Domain With Greg Young @ DDD-Day
Unleash Your Domain With Greg Young @ DDD-Day
 
Web futures
Web futuresWeb futures
Web futures
 
Matters of State
Matters of StateMatters of State
Matters of State
 
DDD on example of Symfony (Webcamp Odessa 2014)
DDD on example of Symfony (Webcamp Odessa 2014)DDD on example of Symfony (Webcamp Odessa 2014)
DDD on example of Symfony (Webcamp Odessa 2014)
 
Applying Domain-Driven Design to APIs and Microservices - Austin API Meetup
Applying Domain-Driven Design to APIs and Microservices  - Austin API MeetupApplying Domain-Driven Design to APIs and Microservices  - Austin API Meetup
Applying Domain-Driven Design to APIs and Microservices - Austin API Meetup
 
Enterprise PHP: mappers, models and services
Enterprise PHP: mappers, models and servicesEnterprise PHP: mappers, models and services
Enterprise PHP: mappers, models and services
 
DDD in PHP
DDD in PHPDDD in PHP
DDD in PHP
 
Domain Driven Design fundamentals
Domain Driven Design fundamentalsDomain Driven Design fundamentals
Domain Driven Design fundamentals
 
DDDesign Challenges
DDDesign ChallengesDDDesign Challenges
DDDesign Challenges
 
Socrates BE - Projections Explained
Socrates BE - Projections ExplainedSocrates BE - Projections Explained
Socrates BE - Projections Explained
 
ZendCon 2011 UnCon Domain-Driven Design
ZendCon 2011 UnCon Domain-Driven DesignZendCon 2011 UnCon Domain-Driven Design
ZendCon 2011 UnCon Domain-Driven Design
 
Introduction to CQRS
Introduction to CQRSIntroduction to CQRS
Introduction to CQRS
 
Rethink your architecture with CQRS
Rethink your architecture with CQRSRethink your architecture with CQRS
Rethink your architecture with CQRS
 
Introduction to CQRS - command and query responsibility segregation
Introduction to CQRS - command and query responsibility segregationIntroduction to CQRS - command and query responsibility segregation
Introduction to CQRS - command and query responsibility segregation
 
Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...
Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...
Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...
 
CQRS + Event Sourcing
CQRS + Event SourcingCQRS + Event Sourcing
CQRS + Event Sourcing
 

Ähnlich wie 12 reasons to love symfony2

Использование Symfony
Использование SymfonyИспользование Symfony
Использование SymfonyMedia Gorod
 
Основные возможности Symfony 2
Основные возможности Symfony 2Основные возможности Symfony 2
Основные возможности Symfony 2Shevchuk
 
Symfony as the platform for open source projects (sympal, apostrophe, diem)
Symfony as the platform for open source projects (sympal, apostrophe, diem)Symfony as the platform for open source projects (sympal, apostrophe, diem)
Symfony as the platform for open source projects (sympal, apostrophe, diem)Alex Demchenko
 
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Ontico
 
Mobile Monday Kiev#1 - How to save time in Mobile Apps Development
Mobile Monday Kiev#1 - How to save time in Mobile Apps DevelopmentMobile Monday Kiev#1 - How to save time in Mobile Apps Development
Mobile Monday Kiev#1 - How to save time in Mobile Apps DevelopmentIntersog
 
Микрофреймворки на PHP (Андрей Синицын)
Микрофреймворки на PHP (Андрей Синицын)Микрофреймворки на PHP (Андрей Синицын)
Микрофреймворки на PHP (Андрей Синицын)Ontico
 
Виды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьВиды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьGoIT
 
Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...
Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...
Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...Provectus
 
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...WDDay
 
1_symfony_introduction.pptx
1_symfony_introduction.pptx1_symfony_introduction.pptx
1_symfony_introduction.pptxrdninc
 
внедрении Wpf в сложных системах
внедрении Wpf в сложных системахвнедрении Wpf в сложных системах
внедрении Wpf в сложных системахWhiteMbIXA
 
Презентация лекции по методике дистанционного образования
Презентация лекции по методике дистанционного образованияПрезентация лекции по методике дистанционного образования
Презентация лекции по методике дистанционного образованияМихаил Климарёв
 
Павел Федотовский «Как мы разрабатывали приложение для DotNetRu на Xamarin.Fo...
Павел Федотовский «Как мы разрабатывали приложение для DotNetRu на Xamarin.Fo...Павел Федотовский «Как мы разрабатывали приложение для DotNetRu на Xamarin.Fo...
Павел Федотовский «Как мы разрабатывали приложение для DotNetRu на Xamarin.Fo...SpbDotNet Community
 
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"Tanya Denisyuk
 
C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.Igor Shkulipa
 
Как мы измеряем наши проекты
Как мы измеряем наши проектыКак мы измеряем наши проекты
Как мы измеряем наши проектыRambler Android
 

Ähnlich wie 12 reasons to love symfony2 (20)

Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Как работать с legacy проектом, которому больше10 лет? |Денис ВоскобойникКак работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
Как работать с legacy проектом, которому больше10 лет? |Денис Воскобойник
 
Использование Symfony
Использование SymfonyИспользование Symfony
Использование Symfony
 
Основные возможности Symfony 2
Основные возможности Symfony 2Основные возможности Symfony 2
Основные возможности Symfony 2
 
Symfony2 Best Practices
Symfony2 Best PracticesSymfony2 Best Practices
Symfony2 Best Practices
 
Symfony as the platform for open source projects (sympal, apostrophe, diem)
Symfony as the platform for open source projects (sympal, apostrophe, diem)Symfony as the platform for open source projects (sympal, apostrophe, diem)
Symfony as the platform for open source projects (sympal, apostrophe, diem)
 
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
 
Mobile Monday Kiev#1 - How to save time in Mobile Apps Development
Mobile Monday Kiev#1 - How to save time in Mobile Apps DevelopmentMobile Monday Kiev#1 - How to save time in Mobile Apps Development
Mobile Monday Kiev#1 - How to save time in Mobile Apps Development
 
Микрофреймворки на PHP (Андрей Синицын)
Микрофреймворки на PHP (Андрей Синицын)Микрофреймворки на PHP (Андрей Синицын)
Микрофреймворки на PHP (Андрей Синицын)
 
Виды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьВиды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спростить
 
Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...
Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...
Гатиятов Руслан, технический директор ООО “Дроид Лабс”: “Система управления п...
 
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...
ОЛЕКСІЙ ГОЛУБЄВ «Electron. Як використовуючи WEB framework’і створити багатоп...
 
Java one presentation
Java one presentationJava one presentation
Java one presentation
 
1_symfony_introduction.pptx
1_symfony_introduction.pptx1_symfony_introduction.pptx
1_symfony_introduction.pptx
 
внедрении Wpf в сложных системах
внедрении Wpf в сложных системахвнедрении Wpf в сложных системах
внедрении Wpf в сложных системах
 
Презентация лекции по методике дистанционного образования
Презентация лекции по методике дистанционного образованияПрезентация лекции по методике дистанционного образования
Презентация лекции по методике дистанционного образования
 
Павел Федотовский «Как мы разрабатывали приложение для DotNetRu на Xamarin.Fo...
Павел Федотовский «Как мы разрабатывали приложение для DotNetRu на Xamarin.Fo...Павел Федотовский «Как мы разрабатывали приложение для DotNetRu на Xamarin.Fo...
Павел Федотовский «Как мы разрабатывали приложение для DotNetRu на Xamarin.Fo...
 
Sonar quality
Sonar qualitySonar quality
Sonar quality
 
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
 
C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.C++ Базовый. Занятие 01.
C++ Базовый. Занятие 01.
 
Как мы измеряем наши проекты
Как мы измеряем наши проектыКак мы измеряем наши проекты
Как мы измеряем наши проекты
 

12 reasons to love symfony2

  • 1. 12 причин любить Symfony2 Константин Ступак Software Engineer @ Eltrino !
  • 2. Бандлы (Bundles) они же модули 1. Более 2450 готовых бандлов разного качества 2. Почти 100% покрытие потребностей 3. Строгое следование стандартам 4. Высокое качество кода (в большинстве случаев) 5. Исчерпывающая документация KNPLabs SensioLabs FOS Liip
  • 3. Стабильность 1. Разрабатывается с 2005 года 2. Ядро разрабатывается одной компанией 3. Стабильные циклы разработки 4. Long Term Support 5. Квалифицированные разработчики
  • 4. Сообщество 1. 300,000 разработчиков 2. 120 стран 3. 128 человек создали 732 коммита и 166 PR 4. > 1M строк кода с 2010 года 5. 15+ конференций за 2014 год Fabien Potencier
  • 5. Обучение 1. Высокий порог вхождения 2. Контролируемый процесс обучения 3. Отличные туториалы 4. Обилие документации и учебных материалов
  • 6. Инновации Symfony одной из первых приняла на вооружение: 1. Git 2. Composer 3. Namespaces 4. Patterns 5. Traits, Closures etc.
  • 7. Ну ок, все выглядит классно. А как же плюшки для непосредственно разработки?
  • 8. Symfony - не MVC фреймворк
  • 9. Symfony - не фреймворк
  • 10.
  • 11. Symfony - не MVC фреймворк Symfony это Request-Response фреймворк Основная задача Symfony - дать разработчику возможность получить запрос и отдать ответ. Всё, что происходит между этими двумя событиями - не забота Symfony
  • 12. Односложно 1. Взаимозаменяемость компонентов 2. Переиспользование компонентов 3. Интеграция компонентов
  • 13. Symfony не делает ничего В стандартной поставке Symfony не умеет делать ничего. Задача разработчика - подобрать подходящие инструменты и выбрать архитектуру приложения.
  • 14. Скорость 1. Скорость обучения 2. Скорость разработки 3. Скорость работы приложения Безусловно все три пункта зависят от разработчика Symfony предоставляет инструменты для оптимизации каждого из этих процессов
  • 15. DDD - ready Domain - Driven Design Относительно простая реализация сервисов Подготовленная инфраструктура для репозиториев Формы способны работать с Value Object’ами в качестве источника данных Готовые решения для построения API (REST/SOAP)
  • 16. Thats all, folks! " vk.com/kosmass # facebook.com/konstantin.stupak $ konstantin.stupak % @kosmass_zt & konstantin.stupak@gmail.com