Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Zend Framework 2: Code generation

Zend Framework 2: Code generation

ZFConf Moscow, 2012

Victor Farazdagi

May 24, 2012
Tweet

More Decks by Victor Farazdagi

Other Decks in Programming

Transcript

  1. Об авторе Phrozn - phrozn.info zftalk.dev - zfcasts.ru Phing Contributor

    ZF Evangelist & Contributor Victor Farazdagi /farazdagi @farazdagi Saturday, April 21, 2012
  2. Список литературы Skynet in ZF 2.0 Presentation by R. Schindler

    The Unbearable Stupidity of Modeling by P. Friese Ward’s Wiki aka PortlandPattern Repository, the World’s first wiki Code Generation in Action by J. Herrington DSLs by M. Fowler The Pragmatic Programmer by A. Hunt & D. Thomas MDA Explained by A. Kleppe, J. Warmer, W. Bast Saturday, April 21, 2012
  3. Структура доклада 1. Определение концепции кодогенерации 2. Обзор существующих инструментов

    3. Перспективы развития в ZF2 4. Выводы (честная попытка их сделать) Saturday, April 21, 2012
  4. Определение Кодогенерация - процесс преобразования высокоуровневого (более абстрактного) кода в

    низкоуровневый (менее абстрактный) код. Процесс генерации кода обычно автоматизируют путем написания инструмента (Code Generator) для такого преобразования. Абстрактное представление Менее абстрактное представление Saturday, April 21, 2012
  5. Виды Генераторов Кода Пассивные Генераторы Кода Активные Генераторы Кода Save

    typing Продвинутая шаблонизация Для создания артефактов Saturday, April 21, 2012
  6. Виды Генераторов Кода Пассивные Генераторы Кода Активные Генераторы Кода Save

    typing Продвинутая шаблонизация Для создания артефактов Design Smell Saturday, April 21, 2012
  7. Виды Генераторов Кода Пассивные Генераторы Кода Активные Генераторы Кода Save

    typing Продвинутая шаблонизация Для создания артефактов Design Smell DRY Saturday, April 21, 2012
  8. Виды Генераторов Кода Пассивные Генераторы Кода Активные Генераторы Кода Save

    typing Продвинутая шаблонизация Для создания артефактов Design Smell Отлично работает с CI DRY Saturday, April 21, 2012
  9. Виды Генераторов Кода Пассивные Генераторы Кода Активные Генераторы Кода Save

    typing Продвинутая шаблонизация Для создания артефактов Design Smell Отлично работает с CI DRY Дешевая (ре)генерация Saturday, April 21, 2012
  10. Анатомия проекта Каркас (ZF, Symfony, Yii) Батарейки (Doctrine, Twig, Buzz

    etc) Наш код Нетривиальный код Saturday, April 21, 2012
  11. Анатомия проекта Каркас (ZF, Symfony, Yii) Батарейки (Doctrine, Twig, Buzz

    etc) Наш код Нетривиальный код Рутинный/скучный код Saturday, April 21, 2012
  12. Качество кода Ты сам пишешь генератор кода. Сгенерированный код будет

    настолько хорош, насколько хорош созданный тобой генератор. Generated code sucks!!! Saturday, April 21, 2012
  13. Примеры Генерация сущностей Генерация форм из модели SASS, LESS (CSS

    compiling/transforming) JavaScript Generation Оптимизация, преобразование, скаффолдинг Генерация промежуточного DSL тысячи их... Saturday, April 21, 2012
  14. Итак, что дает CG.. Качество / Quality Согласованность / Consistency

    Don’t Repeat Yourself (DRY) Скорость разработки Saturday, April 21, 2012
  15. RoR 3 Очень качественная реализация Упор на пассивные генераторы Экономят

    кучу времени Boilerplate code Отличная расширяемость Saturday, April 21, 2012
  16. RoR 3 rails new rails generate rake Очень качественная реализация

    Упор на пассивные генераторы Экономят кучу времени Boilerplate code Отличная расширяемость Saturday, April 21, 2012
  17. Django Другая философия У тебя есть инструменты для простого решения

    задачи, но задачи (включая рутинные) ты будешь решать сам. Saturday, April 21, 2012
  18. Django Другая философия У тебя есть инструменты для простого решения

    задачи, но задачи (включая рутинные) ты будешь решать сам. Admin App Saturday, April 21, 2012
  19. Django Другая философия У тебя есть инструменты для простого решения

    задачи, но задачи (включая рутинные) ты будешь решать сам. Admin App Model Form Saturday, April 21, 2012
  20. Django Другая философия У тебя есть инструменты для простого решения

    задачи, но задачи (включая рутинные) ты будешь решать сам. Admin App Model Form Generic Views Saturday, April 21, 2012
  21. Yii Gii + giix supersedes yiic generators web-based code generation

    yiic shell generators генерация модели CRUD/Scaffold Saturday, April 21, 2012
  22. Symfony2 app/console Создан на базе (замечательного) компонента Console Легко создавать

    расширения Отличная поддержка Doctrine2 CRUD, Entities, Entity, Form Assets (styles, scripts) management Saturday, April 21, 2012
  23. CakePHP cake bake cake schema Good interactive shells Bakes Models,

    View, Controllers, Fixtures, UTs Генерация схемы для быстрого (повторого) развертывания. cake i18n Генерация .pot файлов Saturday, April 21, 2012
  24. Zend_Tool_Project Triumph of over-engineering! Context Stateful Куча провайдеров код которых

    будет использован Module Controller DbTable View Project Saturday, April 21, 2012
  25. Zend_Tool + zf.php Фасад к Zend\Tool\Project\Provider Management taks: on/off layout,

    show version, db adapter etc Model, View, Controller, Action, Module, Form zf action-name provider-name Контекстная справка aka --help system Saturday, April 21, 2012
  26. zf2.php tool ? ? ? RFC - Tool 2.0 Будет

    активно обновляться Saturday, April 21, 2012
  27. zf2.php tool ? ? ? RFC - Tool 2.0 Tabled

    on last IRC meeting Thread in ML - go, write your opinion!! Будет активно обновляться Saturday, April 21, 2012
  28. zf2.php tool ? ? ? RFC - Tool 2.0 Tabled

    on last IRC meeting Thread in ML - go, write your opinion!! Ожидается дискуссия Будет активно обновляться Saturday, April 21, 2012
  29. zf2.php tool ? ? ? RFC - Tool 2.0 Часть

    модуля Zf2Tool Tabled on last IRC meeting Thread in ML - go, write your opinion!! Ожидается дискуссия Будет активно обновляться Saturday, April 21, 2012
  30. zf2.php tool ? ? ? RFC - Tool 2.0 Часть

    модуля Zf2Tool Tabled on last IRC meeting Thread in ML - go, write your opinion!! Ожидается дискуссия How to package? Будет активно обновляться Saturday, April 21, 2012
  31. 3 things to take home.. Give the proper respect to

    hand-coding Saturday, April 21, 2012
  32. 3 things to take home.. Give the proper respect to

    hand-coding Don’t be afraid of automatic code generation Saturday, April 21, 2012
  33. 3 things to take home.. Give the proper respect to

    hand-coding Don’t be afraid of automatic code generation Define and constantly improve your toolset Saturday, April 21, 2012
  34. И последнее: Contribute to ZF2 +100 Karma +100500 Skill +100

    FUN /zendframework/zf2 Saturday, April 21, 2012