Стоит ли связываться с фреймворком

neuromachine

Новичок
Написал cms. Успешно применяю ее около 8 месяцев в веб студиях. По плану написание новой ступени ее функционала, либо полное переписывание ядра. Около месяца планирую, однако на данный момент остается нерешенным вопрос - использовать ли фреймворк.
Слышал много точек зрения и сам имею некоторые мнения на этот счет. Все же решил посоветоваться здесь.
Вопросы следующие:
Какие ощутимые плюсы или минусы вы видите во фреймворках относительно:
- времени освоения
- прироста отношения время/кач.результат
- скорости исполнения
- публичности кода и базировании на нем ядра cms
- маштабируемости приложения
Если имеет смысл можно по отдельным случаям (zend,yii,codeigniter и пр.)

Для меня на данный момент решающую роль играет именно отношение время/кач.результат.
Опыт плотного программирования на php 8 мес.: корп. потребитель - визитки , заурядные инт.магазины. Вопросов с пониманием нет, но вот сроки дело другое, не хочется попасть в ситуацию когда, я буду пару недель занят изучением самого фреймворка, вместо реализации оплачиваемой работы. Могу ли я по итогу попасть в определенную зависимость?

В перспективе (2 месяцев спустя) написание портала объявлений с градациями на группы и сложной иерархией. Поможет ли мне данный опыт или при скудном опыте мне лучше пописать велосипеды, дабы самому понимать как функционирует каждая деталь. Т.к. пользуясь готовыми решениями, я явно упускаю многое.
Заранее спасибо за ответы
.
 

craz

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

Yuriy_S

-=PHP-Club=-
Вопросов с пониманием нет
Не было бы вопросов с пониманием, то и не было бы этой темы тут.
Потратить какое-то время на изучение фреймворка придется в любом случае. Но с твоим опытом за пару дней вряд ли освоишь. Да и ты знаком с ООП, MVC и прочими паттернами проектирования? Zend, возможно, будет для тебя как страшный темный лес.
 

craz

Нестандартное звание
:) зачем он мне нужен будет
я и говорю через два года вы все сами поймете. я же не просто так написал. В данный момент ваша позиция сродни "я слышал звон, кто му..звон?" и не более, с таким подходом не стоит тратить время, потому изучение это только 30%, на нем надо будет еще и писать 20%, его надо будет поддерживать 20%, и писать надо правильно 30%.
 

neuromachine

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

neuromachine

Новичок
с таким подходом не стоит тратить время, потому изучение это только 30%, на нем надо будет еще и писать 20%, его надо будет поддерживать 20%, и писать надо правильно 30%.
О том и созданна данная тема. Стоит ли, все мои задачи я уже решаю и вполне представляю как их можно усовершенствовать. Стоит ли садиться за него вообще. Через 2-3 года он мне 100% не нужен будет. Сам буду обладать достаточным опытом и реализованными решениями под 99% случаев встречающихся в практике..
 

tz-lom

Продвинутый новичок
фреймворк - удобная штука для написания приложения , не более
если вам хватает своей CMS , вы можете под неё быстро запилить новый модуль,она не глючит и не тормозит, то смысл в переделывании её на базе фреймворка?
к работе надо подходить с более прагматической точки зрения,а фреймворки ковырять никогда не помешает,в почти каждом из них найдутся свои хорошие подходы и красивые решения
P.S.
как вариант вы можете попытаться выродить свою CMS в фреймворк , какого нибудь опыта наберётесь
 

craz

Нестандартное звание
Может я конечно что то не так прояснил но пока
с пониманием а не со знанием.
- вопрос задан не просто так, а потому что я потратил опр. время. Ответа на конкретные вопросы не нашел.
Вообщем ответы пока не посуществу
я вам дал ответ через 8 месяцев(это слишком мало) не стоит смотреть в сторону фреймворков.
что делает код? http://pastebin.com/z6bb7F6Y
 

neuromachine

Новичок
craz Объект для работы с бд. Мне меренее органов никчему. (Че он делает кстати в кооментах написано). А когда к тебе прийдет студентка "программистка", вы ей как планируете кратко объяснить что ей нужно подправить - она от одного размера файла в осадок выпадет :) и на след. день на работу не прийдет. Вы и впрямь думаете что все яндексы пишут. Людям надо дешево и чтоб работало. Отсюда и себестоимость работы и уровень тех.персонала.
 

craz

Нестандартное звание
craz Объект для работы с бд. Мне меренее органов никчему. (Че он делает кстати в кооментах написано). А когда к тебе прийдет студентка "программистка", вы ей как планируете кратко объяснить что ей нужно подправить - она от одного размера файла в осадок выпадет :) и на след. день на работу не прийдет. Вы и впрямь думаете что все яндексы пишут. Людям надо дешево и чтоб работало. Отсюда и себестоимость работы и уровень тех.персонала.
не пылите это раз
два я не мереюсь, если вы можете за полчаса разобрать все функции и нарисовать UML схему этого класса, представить как он работает, то вам пора заняться фреймворками.
три мне студенки для объяснения им фреймворков... не нужны, перефразирую чуток мем данного форума: "девушки вешеются, чтобы я объяснил им фреймворк, а я их отталкиваю" (с) Amdy

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

Ярослав

Новичок
Опыт плотного программирования на php 8 мес.: корп. потребитель - визитки , заурядные инт.магазины.
Для визиток лучше свое
Для магазинов уже лучше брать существующие системы типа magento и допиливать.
 

Bardak

Новичок
Мне кажется умение разбираться в чужом коде это одно из важных навыков для любого разработчика.
Поковыряться во фреймворке безусловно полезно, даже если вы не будете использовать его в следующем проекте.
Тем более ковыряние в коде опытных разработчиков это супер полезно для новичков.
Может быть структура какого нибудь фреймворка натолкнет вас на идею и вы каким то образом переделаете архитектуру
своей cms.

Использование мало знакомого фреймворка в следующем коммерческом проекте безусловно приведет к срыву сроков.
Нужно либо закладывать определенные риски в сроки разработки, либо приготовиться к недовольному клиенту или начальству :)

Я бы порекомендовал на досуге разработать на базе какого нибудь фреймворка какое то приложение для себя. Какую
нибудь системку управления задачами, например. Это будет отличный опыт, без риска кого нибудь подвести.

Кстати, документации к фреймворкам обычно имеют главы с примерами реализации реальных задач. Например, в документации
codeigniter и yii есть примеры создания блога.

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

Zend Framework может привить жесткое отвращение к фреймворкам, если к его изучению приступит новичок. Поскольку у него
довольно сложная архитектура (без хороших знаний ООП и паттернов проектирования сложно будет разобраться) и "многословный"
(длинные названия классов, методов и т.д.) код. Сам испугался его, когда первый раз за него взялся. Но именно его сложная архитектура
интересна для изучения.

Yii - это золотая середина между Zend и Codeigniter. С ним пока не реализовал ни одного проекта (сам пока ковыряюсь), но очень хочется. Очень
нравится пока. Писать про него ничего не буду поскольку не хочу сморозить глупость.
 

neuromachine

Новичок
Спасибо за развернутый ответ Bardak.

Мне кажется умение разбираться в чужом коде это одно из важных навыков для любого разработчика.
- обсолютно согласен.

Я бы порекомендовал на досуге разработать на базе какого нибудь фреймворка какое то приложение для себя. Какую
нибудь системку управления задачами, например. Это будет отличный опыт, без риска кого нибудь подвести.
- думаю так и поступлю.

...я бы порекомендовал codeigniter
- действительно, у меня лично сложилось мнение, что данный fw оптимальный выбор для меня.
 

AmdY

Пью пиво
Команда форума
CMS - это система для быстрого развёртывания состоящая из ГОТОВЫХ компонентов, фреймворк - это инструменты для быстрой разработки новых компонентов, CMF - это что-то среднее представляет из себя готовые компоненты с возможностью расширрения и разработки новых через API.

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

Вопросов с пониманием нет, но вот сроки дело другое, не хочется попасть в ситуацию когда, я буду пару недель занят изучением самого фреймворка, вместо реализации оплачиваемой работы
сколько у тебя времени уходит на создания модуля а-ля новости с:
1. в пользовательской части вывод списка записей с пэйджингом, фильтрами и сортировкой.
2. просмотр одной записи. (название, текст, дата, изображения к ней с превьёшкой)
3. вывод в админке такого же списка с фильтрами, сортировками, пэйджингом, возможностью удалить, скрыть, поднять запись выше-ниже
4. редактирование в админке этой записи.

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

neuromachine

Новичок
сколько у тебя времени уходит на создания модуля а-ля новости с
Никогда не засекал. Думаю с нуля, около дня, включая несколько часов - отвлечься,отдохнуть. В код лезу иск. для добавления функционала, поэтому и хочу на данном этапе расширить функционал всех модулей и админ панели.
Вот допустим я искренне не люблю сайты со страницами (особенно там где это без ajax), поэтому не писал этого, однако приходится считаться.

На определенном этапе возникла мысль, что желание писать код рационально надо, однако читать форумы и статьи по каждому случаю не имею возможности. В связи с этим и бросил взгляд в сторону фв.
 
Сверху