RSS

Комментарии

Умные заказчики поминают, что умным разработчикам не принципиально, работать ли с CakePHP или с Yii. Или еще с чем-то. Работать можно на любом из них. Имхо, от заказчика можно принять выбор платформе только в одном случае — проект уже существует и работает на базе ХХ.
Да, есть умные заказчики, которые понимают, что если проект на малоизвестном фреймворке написан, то потом сложнее будет найти разработчика для его поддержки. А yii-специалистов сейчас куда не плюнь. Так что имхо вполне логично они поступают.
Ваши заказчики лучше вас знаю какой фреймворк им использовать? Сочувствую.
Активно использую Yii2, но в основном потому что из-за его популярности его часто требуют заказчики. Да, фреймворк вполне удобен, но на мой взгляд в нем много я бы сказал «шероховатых углов». Я очень удивлен, почему именно этот фреймворк набрал такую популярность, а не например CakePHP, который настолько прост, логичен, что я бы его активно рекомендовал всем новичкам. В кейке, например нет необходимости вообще создавать файл модели, модель генерируется автоматом, нет необходимости вызывать рендер вьюшки, он опять же подцепляется автоматом, а какая там офигенная ORM! Странно, что у нас он мало распространен.
Я сторонник symfony2, но по долгу службы приходится сейчас писать на yii2.
На мой взгляд, yii2 необоснованно усложнен, по сравнению с symfony2. Но об этом я напишу позже, когда смогу более объективно оценить плюсы и минусы обоих фреймворков, а так же когда у меня будет примерно равный опыт работы с обоими фреймворками.
Отвечу почему именно отдаю преимущество Yii? Мне нравится этот фреймворк своей гибкостью, удобством и скоростью работы.

Да, есть более простой CodeIgniter. Очень быстрый и удобный инструмент, особенно для начинающих (огромное количество документации, в том числе и на русском языке). Но наш опыт показал очень интересную закономерность — решение многих задач на CodeIgniter занимает в 2 раза больше времени, чем решение тех же задач на Yii. Не было ни одной задачи, которая была бы решена быстрее на CodeIgniter.

Да, есть более известный Zend Framework. Имеет множество различных модулей (практически на все случаи жизни), хорошо продуманную архитектуру. Но он ощутимо медленнее, больше, «тяжелее» чем Yii. Страдает также некоторой «многословностью» — длинные названия классов, например. То есть даже визуально код выглядит «тяжело».

К тому же, в Yii можно использовать модули из ZendFramework.

Вывод второй: Yii — очень быстрый, современный и гибкий фреймворк. Имеет множество плюсов:

высокая скорость разработки;
высокая скорость работы;
поддержка модулей, компонентов и виджетов;
интеграция с javascript фреймворком jQuery;
удобная работа с базой данных: возможно использование как Data Access Objects, так и Active Record;
удобная и гибкая система кеширования и ивалидирования кеша, поддержка memcached/xCache «из коробки»;
удобный встроенный генератор кода Gii;

Шаблонизаторы… У многих новичков возникает резонный вопрос: а почему вы не используется Smarty/Twig/Dwoo/… (нужное подчеркнуть)? По поводу этого вопроса сломано много копий, на просторах Сети приводится множество аргументов «за» и «против». Мы решили пользоваться native PHP.

Вывод третий. В данный момент мы полностью отказались от использования шаблонизаторов.
В ходе своей профессиональной деятельности многократно приходилось сталкиваться с различными проектами на самых различных фреймворках, в том числе и на «велосипедных cms» (это когда каждый разработчик пишет свою собственную структуру проекта и имеет свой подход к написанию кода и используемым библиотекам).

Каждый программист видит код по-своему и, как результат, брожение в голове вызывает брожение в коде. Это было бы хорошо, если бы программист всю жизнь вел бы свой проект. Но получается так, что проект доделывается «хоть как-то уже наконец» и клиент с этим проектом уходит в «свободное плавание». Часто бывает, что проект переходит к другому программисту, у которого совершенно другое видение того, как должен выглядеть код. Он начинает вносить свои правки. После 3-4 таких программистов код превращается в сплошную непонятную кашу.
Отличная и очень полезная статья, все доходчиво и по полочкам, большое спасибо автору
Тестирование необходимо и обязательно нужно проводить при разработке любого ПО. Отличная и очень полезная статья, все доходчиво и по полочкам, большое спасибо автору
Отличная и очень полезная статья, все доходчиво и по полочкам, большое спасибо автору
Рефакторинг и тестирование часто недооценивают, что в дальнейшем очень сильно бьёт по бизнесу и проекту в целом
SaaS становится все популярнее. Отличная и очень полезная статья, все доходчиво и по полочкам, большое спасибо автору
Отличная и очень полезная статья, все доходчиво и по полочкам, большое спасибо автору
Конечно фронтенд разработчиков назвать полноценными программистами сложно, так как все таки они работают в основном так или иначе с дизайном, хотя в последнее время появилось и много фронтенд фреймворков и подходов где верно, кодить нужно уметь
В свое время несколько лет учил ASP, к сожалению в дальнейшем не пригодилось, а вот PHP нужен до сих пор
Теория… История… Практику давайте :D
Очень полезная статья. Было интересно почитать. Жду продолжения
Было интересно почитать. Жду продолжения
Вообще-то понятно, что SQL качественно, но узкоспециально отличается от C++.
Только когда я переходил с паскаля на делфи (не на object pascal, а именно на delphi, потому что не так уж много смысла выковыривать op из ide\vcl. Среда здесь — неотъемлемая часть технологии.) и с C++ на C# (которая, собсно, неотделима от .NET) — весьма ощутимо абстрагировался от технических деталей реализации.

Не говоря уже о том, что при переходе с паскаля на делфи неймоверно проще стало создавать интерфейс.

Да простит меня автор заметки, но я бы четвёртым поколением поставил язык плюс среду разработки\выполнения (vcl, mfc, .NET, etc), а базы данных с языками управления — пятым.

И в этом отношении голый php разных версий и php с фреймворками отличаются друг от друга и сочетают в себе и признаки третьего, и признаки четвёртого поколения.
«База данных (в широком смысле этого слова) становится ядром, вокруг которого строится приложение.»
Я для себя как-то давно определил, что веб-программирование — по сути создание удобного интерфейса к базе данных.