Pull to refresh

Comments 68

В любом случае идеального решения нет. Невозможно сделать что-то универсальное, подходящее для любого проекта.
Искусственный интеллект такого пока не умеет.
Судя по большому количеству различных CMS, идеал пока не достигнут. Да и понятно, что каждому проекту идеальна будет своя система... Поэтому делать что-то универсальное - почти наверняка гиблая затея. Если система будет много уметь, то будет сложной (новые люди не начнут ей пользоваться). В этом и основная проблема, как я понимаю.
Иногда даже со списком целых чисел долго приходится возиться, чтобы подобрать реализацию, оптимальную по скорости и памяти для текущей задачи. А CMS - гораздо больше и сложнее...
Ну то что идеал не достигнут, это ж не значит, что к нему и не надо стремиться, ведь так?
Конечно, стремиться надо. Особенно, если есть желание :) Но это напоминает выбор автомобиля со следующими характеристиками: чтобы был самый вместительный, самый проходимый, самый быстрый и самый экономичный. Ясно, что условия несколько несовместны. Ощущение такое, что с CMS эта же беда - надо выделять подмножества CMS (как минимум, лёгние-быстрые-простые и мощные-медленные-сложные), а в них уже искать идеалы (автомобили пошли по этому пути).
Я тоже согласен, что не может быть идеальной cms, если есть возможность, то своя cms - идеальная, но только для себя в первую очередь.
Хорошо бы конечно знать другие разработки Drupal, Joomla - это поможет с идеями для своей cms.
Я пытался освоить Drupal "побыстрому", но обламался :) - не зря говорят, что порог входа высокий.
Применительно к универсальной cms наверно также подходит принцип использования любой абстракции - выигрываем в скорости, зато проигрываем в гибкости.
Согласен, на самом деле я так и поступил.

Я тоже уже сто раз переписывал свою CMS, но потом понял, что много делаю лишнего. И сейчас перевожу на фреймворк и понял что много времени потерял на постоянные переделки, когда например в фреймворке то, что занимало 20 строк можно реализовать пятью-десятью, соответственно и размеры файлов уменьшаются
> Может, стоит выбрать фреймворк, который строго диктует архитектуру и остановиться на нем?

очень разумное решение

со своей колокольни, могу порекомендовать вот такой фреймворк
http://www.symfony-project.org

+ на хабре есть небольшое сообщество поклонников http://habrahabr.ru/blog/symfony/
я перепробовал многие популярные фреймворки, symfony в том числе. когда в него включат Doctrine, присмотрюсь более тщательно.

вообще, из всех фреймворков больше всего понравился adept, но смущает его прожорливость (смотрел тестовый проект - блог)
не включат. Пропел выключили, теперь он идет плагином. Доктрину тоже плагином можно ключить
UFO just landed and posted this here
Как он кстате работает с sfPropelFinderPlugin??? Он ведь до недавнего времени тока с 1.2 пахал?!
UFO just landed and posted this here
мдеее аргумент не фиговый!!!
меня и Propel 1.0 устраивает
не говори такие вещи в слух больше :D
UFO just landed and posted this here
UFO just landed and posted this here
Написание своего кода развивает мозг, использование фрейворков ускоряет производительность.
Не надо бросаться в крайности, для любой проблемы, есть свои пути решения. Для себя лучше свою цмску использовать, а для клиентов на фрейморке.
Поэтому вначале имеет смысл писать велосипеды, пусть даже их ломают - главное не бросать, продолжать развиваться.
Ведь как говорят: пока с велосипеда много раз не упадешь, ездить не научишься.
А когда уже научился ездить, лучше брать фреймворк. Потому что фреймворк - это квинтэессенция опыта многих разработчиков в самых разных проектах. Оттуда можно много что почерпнуть. Если хорошо научился, чувствуешь силы - включайся в его разработку.
более красиво выразил мысль)
Замечательно правильно сказал. Особенно фраза "квинтэессенция опыта многих разработчиков".
OFFTOP: отличный title :)
когда руки доберуться до питона, обязательно гляну)
Питон учить не обязательно ;) Но с его знанием джанга это сказка.

Практика показала, что простенькую системку на джанге, блондинка с отрывочными школьными знаниями паскаля, может написать за три дня.
Такое описание просто заставляет присмотреться к фреймворку :)
На РоРе за пятнадцать минут.
По-моему, Внутренний Голос хабра должен сказать как-нибудь: "Ты просто ищешь Django, %username%!".
Когда писал на PHP - использовал Zend Framework. Устраивал всем, считал его идеальным. Может стоит к нему присмотрется и автору?
UFO just landed and posted this here
Ну его однажды надо завести... а потом по накатанной минут 5-10, естественно при готовой структуре БД и прочее.
Нет не зря вы все это делали. Это опыт и большой опыт.
Лично я не возьму на работучеловека, который не писал свою CMS.
Человеку не обязательно писать свою CMS, чтобы быть опытным. Иногда хватает 2-3 крупных необычных проектов, чтобы иметь опыт!
А под CMS можно понимать и работу с ModRewrite + модули Новостей и гостейвой книги на файлах. Тоже своего рода CMS =)
UFO just landed and posted this here
Да вы, уважаемый, хардкорный перфекционист! Надо пиво пить почаще!
Знаете поговорку? "Мы можем сделать быстро, дешево и качественно! Выбирайте любые два пункта."
Так и с супер CMS. Чем более она "супер" по одним параметрам - тем более "говно" по другим.

По моему нужно писать код под задачи.
Мы можем сделать быстро, дешево и качественно! Выбирайте любые два пункта

Один! Один пункт на выбор! ;)
UFO just landed and posted this here
была такая мысль. если всетаки не заброшу и приведу код в порядок, выложу
Мне кажется проблема в несоответствии возможностей фреймворка и требований к системе. Нельзя написать универсальный фреймворк для всего. Стоит начать с простого и, возможно, таким его и оставить.
К примеру у нас есть простенький фреймворк для работы с данными, который используется уже несколько лет без изменений.
UFO just landed and posted this here
Правильно. Если это не торговля лицом перед тем, как дать опенсорс-жизнь для своего движка, то иначе пост абсолютно лишен смысла и пользы, и в лучшем случае сойдет на "я пиздат, но как-то в печали"
глупость. человек лишь высказывает свои мысли, и предлагает поделиться соображениями...
изобретение собственного велосипеда, всегда положительно влияет на квалификацию программиста...
Позволю с Вами не согласиться в полной мере. Создание собственного велосипеда безусловно повышает опыт с технической стороны (по-просту, изучение языка). Но сам начинающий программист не сможет создать правильную архитектуру приложений, для этого нужно изучать чужой код. ИМХО
это уже называется опыт, а мое мнение: если программист подсмотрел какой то алгоритм или хитрое решение, а не сам до него допер методом проб и ошибок, то толку от него будет не много. как показывает практика, езда на чужом коде заканчивается там, где появляются нестандартные или крупные проекты.
Истина в первичной инстанции!
Мой опыт именно таков, что как тока что-то не стандартное, всё пишется руками. Максимум что стандартно, это основа загружающая модули, система прав (если есть), и набор каких-то основных модулей типа шаблонизаторов, работы с базой и в таком духе. Всё остальное начинает писаться своими руками.

З.Ы. Я вообще начинал странно - я не сделал не единого простого сайта - все проекты были от среднего размера, сейчас по специфике работы перешел на большие системы автоматизации бизнеса - даже с присутствием фреймворка, специфично заточенного именно под эти задачи (а лет ему уже больше 6-ти, решено оочень много типовых задачь да и не типовых тоже), почти 70% кода мы всёравно пишем руками, потому что специфичная логика. Специфичный функционал или бизнес правила конкретного предприятия. Так что вы правы на все 100%. Программист, всё время сидевший на фреймворке и не вылазящий за пределы его функционала в случае сложного проекта сядет в огромную лужу.
согласен с Вами, однако считаю Ваше утверждение справедливым в случае, если кусок кода или алгоритм по-просту украден, но если программист потратил время на изучение подсмотренного алгоритма или интересного решения, то понимание подсмотренного решения даст почву для разработки своего решения в нестандартной ситуации
и я с Вами абсолютно согласен, но, увы, на деле копипаст программирование превалирует =(
Возможно, Вы не умеете изобретать велосипеды, раз "я уже и не помню, сколько раз ее полностью переписывал"?
Вот я например помню, я уже пятый раз ПОЛНОСТЬЮ переписываю свой велосипед =)
А кол-во мелких переделок не поддается исчислению =)
Выход: нанимаешь программиста, который будет вместо тебя постоянно дописывать и рефакторить код. А ты просто делаешь сайты клиентам и получаешь деньги. Вот :)
Я отлично понимаю Вашу ситуацию. Но не совсем понятно другое: при чём тут выбор фрэймворка для разработки и функционала CMS?
1. Предположим, у вас написан отличный движок без использования стандартных фрэймворков и на собственном шаблонизаторе. Тогда всё, что нужно это добавлять модули или даже рассмотреть возможность адаптации модулей от других известных CMS. Зачем что-то менять?
2. С другой стороны: движок не очень, новые модули идут со скрипом, есть недоделки в движке, которые некогда исправлять. Тогда оставьте как есть и напишите новую версию снуля. К чему усовершенствовать запорожец.

В любом случае фрэймворк не при чем, по той причине, что и с ним можно наломать дров, которые потом никогда не сложишь. И я сталкивался с этим не раз. В то же время, недавно сдал комерческую CMS на собственном фрэймворке, но при этом моя собственная CMS на зенде. Главное — архитектура и не важно какие средства для этого выбраны.
Дерзайте и удачи Вам!
Проблема не в архитектуре, а в том - что руки чешутся что-нибудь поменять, добавить. Причем далеко не всегда из-за того, что CMS не справляется с задачами сайта, иногда выходит рефакторинг ради рефакторинга) Вот и думаю, может проще юзать мощный фреймворк, где архитектура продиктована авторами.
Эээх... Как я вас понимаю. Велосипеды, велосипеды... Изобретать или не изобретать? А с чего все взяли, что это велосипед? Потому что очень простой?
Почему в одном фреймворке я нахожу педали, в другом двигатель внутреннего сгорания, в третьем белечье колесо? Почему, каждый раз у меня возникает желание взять отсюда это, а отсюда это, не... нет это. О! Уже мотоцикл получается, а вот так вообще танк! Может мопед лучше? Он легкий, если что на себе можно дотащить... Нет! Мне нужен трансформер! Доктор, я болен?
Рельсы. И мысли о написании таких топиков оставят вас навсегда и надолго :)
по моему ты на верном пути.
Я сам давно тоже начинал писать свою cms, писал и бросил
взялся за готовую cms, изучил досконально, дофига чего не хватало, опять с нуля сел за свою кмс, писал писал и надоело опять, все эти глюки, доработки. Решил сесть на cmf, нашел подходящие, изучил, попробовал, написал с десяток сайтов, пришел к выводу что много че опять не хватает для полного счастья. В итоге опять засел за свою кмс(cmf), и если найду че нить поумнее своей и поумнее тех, которыми я пользовался, то обязательно опять подсяду на них... =) (все это познавал в течении 4 лет) Ошибок в собственно писной кмс со временем становится все меньше и меньше и это очень радует, скоро будут просто мелкие исправления и доработки...
Чем приятно писать свою - можно взять у каждого по ягодке с сливками!

Пишу только ядро, мощный фундамент системы, а стены и крышу строю индивидуально по случаю. За счет этого достигается большей универсальности.
Строю только для собственного удобства. ИМХО
Спасибо, интересный опыт. Ситуация такая же, но я пока со своей CMS не переходил. Только заимствовал идеи, а иногда и полностью классы из других фреймворков
так и надо делать для того, чтобы построить идеальное для тебя решение. Можно даже сказать, что без этого никак
Придерживаюсь максималистического взгляда, что будущая cms должна быть полностью ассинхронной тобишь на AJAX.
Очень хотелось бы узнать есть ли такие???
В своё время искал и не нашёл... занялся разработкой такой, можно посмотреть betta архитектуры...
http://itlife-studio.ru/#life/project/weblife_assembly
Ещё думаю можно различать два вида cms:
1) профессиональная. CMS должна требовать минимум новых знаний, касательно её самой... работать всё должно с уже привычными конструкциями языков на которых она написана... Аналогия операционные системы linux собирай как тебе надо.
2) пользовательская. CMS с навороченной админкой.. галочками, кнопочками... натыкал что надо и социальную сеть запустил... ну уж изволь, много ты исправить не сможешь... всё уже вшито. Аналогия MS Windows
имхо, ajax хорош в меру. во фронтенде он должен применяться только по необходимости, иначе поисковики ничего не увидят. также, я с опаской отношусь к множественным ajax запросом. иногда быстрее получается забрать 1 статический файл, чем выполнить 2 ajax запроса
Sign up to leave a comment.

Articles