Comments 14
my $self = shift;
my $hi = shift;
:)
Если честно, больше всего мне хотелось бы знать, почему Catalyst стоит внимания. Есть ощущение, что это довольно сложный фреймворк (из-за аттрибутов функций, из-за stash, который усложняет чтение кода).
Я для простых проектов использую Dancer (это сплошное удовольствие), а что-то сложное писал бы, простие, на Django.
Почему Catalyst стоит внимания?! Потенциальный опасный вопрос о предпочтениях, да существует много хороших фреймворков, но данный почему-то обошли стороной на хабре, вот я и решил написать о нем. Ибо чем больше нам доступно, тем больше у нас выбор. Каждый выбирает по себе, как вы правильно заметили для простых проектов один фреймоврк для других другой и т.д., но опять же все это дело вкуса.
Сложный фреймворк?! ну как говорят, тяжело в учении легко в бою, это дело привычки.
Да и слова «это легко» говорят в двух случаях, 1й когда еще не взялся за дело, 2й когда дело уже выполнено.
Сложный фреймворк?! ну как говорят, тяжело в учении легко в бою, это дело привычки.
Да и слова «это легко» говорят в двух случаях, 1й когда еще не взялся за дело, 2й когда дело уже выполнено.
Есть подозрение, что Catalyst обошли стороной на хабре из-за того, что это фреймворк-ветеран, который в свое время был отличным выбором, потому что был одним из первых толковых MVC-фреймворков для Perl. Но сейчас альтернатив много, среди них есть куда более красивые и стройные решения, которые были сделаны с учетом опыта программирования на Catalyst (среди них Mojolicious, который создал автор Catalyst'а).
Наверное, кто-то ценит в Catalyst его устоявшийся API и инфраструктуру, но об этом в статье ни слова.
Наверное, кто-то ценит в Catalyst его устоявшийся API и инфраструктуру, но об этом в статье ни слова.
Не хочу быть голословным, просто приведу некоторые факты:
1. статьи с хабра не удаляются и хабр основан в 2006;
2. catalyst создан в 2005;
3. за шесть лет получается никто не смог уделить ему должного внимание, пока он еще не был «ветераном»;
4. с Mojolicious я лично не работал, о плюсах и минусах в сравнении описать не могу;
поэтому просто проверил по востребованности знаний этих двух фреймворков на рынке труда, для данной цели использовал два сайта hh.ru и hantim.ru
5. hantim.ru по запросу «Mojolicious» выдал ноль результатов; по запросу «Catalyst» выдал 2 результата;
6. hh.ru по запросу «Mojolicious» выдал 2 результа; по запросу «Catalyst» выдал 8 результата, дальше было лень проверять валидность вакансий, выдано было 3 страницы результата;
вывод: вот мое мнение, Catalyst на хабре обошли стороной не из за того, что он ветеран, а из за высокого порога вхождения, а программисты сами по себе народ ленивый, зачем изучать что-то сложное если есть аналогия с более легким управлением; но это как изучения управления самолета и автомобиля, если последний можно выучить за пару минут, то с самолетом такие фишки не прокатят (эта метафора не означает, что Catalyst лучше Mojolicious, или наоборот, просто все дело в удобстве освоения)
А насчет того, что Catalyst ветеран, это скорее даже идет ему в плюс, а не в минус. Ибо за эти годы создано тонны документаций по нему, правда их единственный минус, в том что все они написаны на английском.
Вот я решил познакомить хабравчан с этим незаслуженно забытым(а как показывает спрос на него, то слово «незаслуженно» здесь как раз кстати) замечательным фреймворков.
p.s. mahoro по слова «Есть подозрение, что Catalyst обошли стороной ...» и «Наверное, кто-то ценит», что вы не много общались с людьми которые пишут на Catalyst?! чтобы делать такие предположения. Суть ваших сообщений мне ясна, зачем нужен Catalyst, если есть Dancer, Mojo и т.д. Но статья ведь не о них, не об их сравнении, а именно о фреймворке о котором никто не писал целых шесть лет существования хабра. Да в статье много косяков, мне на них уже указал Pilat, я это учту в будущем, но для ознакомления с Catalyst (при условии если ее не будут читать по диагонали, а лучше еще в паре с практикой) думаю этого для начала достаточно.
1. статьи с хабра не удаляются и хабр основан в 2006;
2. catalyst создан в 2005;
3. за шесть лет получается никто не смог уделить ему должного внимание, пока он еще не был «ветераном»;
4. с Mojolicious я лично не работал, о плюсах и минусах в сравнении описать не могу;
поэтому просто проверил по востребованности знаний этих двух фреймворков на рынке труда, для данной цели использовал два сайта hh.ru и hantim.ru
5. hantim.ru по запросу «Mojolicious» выдал ноль результатов; по запросу «Catalyst» выдал 2 результата;
6. hh.ru по запросу «Mojolicious» выдал 2 результа; по запросу «Catalyst» выдал 8 результата, дальше было лень проверять валидность вакансий, выдано было 3 страницы результата;
вывод: вот мое мнение, Catalyst на хабре обошли стороной не из за того, что он ветеран, а из за высокого порога вхождения, а программисты сами по себе народ ленивый, зачем изучать что-то сложное если есть аналогия с более легким управлением; но это как изучения управления самолета и автомобиля, если последний можно выучить за пару минут, то с самолетом такие фишки не прокатят (эта метафора не означает, что Catalyst лучше Mojolicious, или наоборот, просто все дело в удобстве освоения)
А насчет того, что Catalyst ветеран, это скорее даже идет ему в плюс, а не в минус. Ибо за эти годы создано тонны документаций по нему, правда их единственный минус, в том что все они написаны на английском.
Вот я решил познакомить хабравчан с этим незаслуженно забытым(а как показывает спрос на него, то слово «незаслуженно» здесь как раз кстати) замечательным фреймворков.
p.s. mahoro по слова «Есть подозрение, что Catalyst обошли стороной ...» и «Наверное, кто-то ценит», что вы не много общались с людьми которые пишут на Catalyst?! чтобы делать такие предположения. Суть ваших сообщений мне ясна, зачем нужен Catalyst, если есть Dancer, Mojo и т.д. Но статья ведь не о них, не об их сравнении, а именно о фреймворке о котором никто не писал целых шесть лет существования хабра. Да в статье много косяков, мне на них уже указал Pilat, я это учту в будущем, но для ознакомления с Catalyst (при условии если ее не будут читать по диагонали, а лучше еще в паре с практикой) думаю этого для начала достаточно.
Довелось как-то делать большой проект на Каталисте — тяжело. И не только писать — поддерживать вагон молудей, от которых зависит Каталист, в актуальном состоянии — тоже проблема.
Для новой мелочёвки, если пишу её на перле, предпочитаю Mojolicious::Lite.
Для новой мелочёвки, если пишу её на перле, предпочитаю Mojolicious::Lite.
Это, кстати, потенциальный источник труднообнаружимых граблей. Например, пишут вот так:
Не только ради экономии пары символов.
Инода пишут примерно вот так:
Для того, чтобы дальше сделать нечто вида:
И вот в этом случае записи вроде как делают одно и то же, но при этом ни разу не эквивалентны.
my ($self, %params) = @_;
Не только ради экономии пары символов.
Инода пишут примерно вот так:
my $self = shift;
my %params = @_;
Для того, чтобы дальше сделать нечто вида:
$self->SUPER::subname(@_);
И вот в этом случае записи вроде как делают одно и то же, но при этом ни разу не эквивалентны.
Спасибо. Хотелось бы тоже самое но для Mojolicious, не Lite.
Вопрос: статья озаглавлена «Основные принципы». Где они? Вижу только невнятный куцый пример.
Pilat статья немного не так озаглавлена, она имеет название «Основные принципы работы С „тем то“ и в ней я хотел показать краткое описание структура проекта на Catalyst, основные способы работы с ним (такие как создание mvc компонентов, и их взаимодействие, пример: вид с моделью) и привести „куцый пример“ для быстрого старта, именно это было моей основной целью при написании данной статьи. Именно возможность быстрого ознакомления с данным фреймворком стояла на первом месте, для первых шагов думаю этого было достаточно. Когда я знакомился с этим фреймворком, по книге „Kieren Diment, Matt Trout:The Definitive Guide to Catalyst“ меня, как новичка, не устраивало то, что в ней, при описании примеров, уделялось много внимания не собственно работе Catalyst приложения, а методам программирования ооп на перл, что на начальном этапе знакомства, я думаю было излешне.
Но все равно, спасибо за коменнтарий, в следующий раз постараюсь писать заголовки статей более информативными и лучше отражающие суть описываемой задачи в ней, что-то в виде „Быстрый старт с Catalyst“ или „Catalyst для новичков“ и т.д
Но все равно, спасибо за коменнтарий, в следующий раз постараюсь писать заголовки статей более информативными и лучше отражающие суть описываемой задачи в ней, что-то в виде „Быстрый старт с Catalyst“ или „Catalyst для новичков“ и т.д
Ну так где эти основные принципы? То что Вы написали — это описание процесса запуска тестового примера, без (БЕЗ!!!) объяснения что же делается. Принципы — это роутинг, процесс обработки запросов, работа с базами данных, особенности рендеринга. Я хорошо знаю перл, пристойно Mojo, но понять что такое Catalist из Вашего описания не смог.
Не то чтобы я против Вашей статьи… но она в нынешнем виде только как пугало может использоваться, типа «дети перл это не для вас идите в песочницу»
Не то чтобы я против Вашей статьи… но она в нынешнем виде только как пугало может использоваться, типа «дети перл это не для вас идите в песочницу»
Вы видимо не прочитали мой комментарий насчет «принципов» и заголовка, я уже понял этот косяк в названии, это раз. Для знакомства, с новой технологией, лично для меня(да и наверное для любого новичка, изучающего новое) важно сначала испытать, посмотреть ее в действии, а уж потом разбираться как там все происходит, да и названия методов и комментарии в коде, боле менее проясняют картину, это два.
Pilat вы пробывали запускать этот пример, внимательно читали комментарий к коду? Вы ставите слишком большую цель для статьи, понять суть технологии в одном вводном ознакомительном описании. Я несколько лет программирую на перл и до сих пор не могу с уверенностью сказать, что я понимаю его, ибо каждый раз узнаю что-то новое при работе с ним.
«она в нынешнем виде только как пугало может использоваться, типа «дети перл это не для вас идите в песочницу» » пугливых детей возможно и испугает, а любопытных врядли.
p.s. не забывайте это первая статья на хабре, посвященная Catalyst, и впихивать в нее подробноее описание всей его поднаготной было бы не разумно, в рамках одной статьи.
p.p.s. Pilat — никнейм у вас говорящий, у всякого кто решался вступать в спор с одноименным историческим героем, была одна участь — «быть распятым». Иногда конечно по праздникам спорщика могли и отпустить с миром…
Pilat вы пробывали запускать этот пример, внимательно читали комментарий к коду? Вы ставите слишком большую цель для статьи, понять суть технологии в одном вводном ознакомительном описании. Я несколько лет программирую на перл и до сих пор не могу с уверенностью сказать, что я понимаю его, ибо каждый раз узнаю что-то новое при работе с ним.
«она в нынешнем виде только как пугало может использоваться, типа «дети перл это не для вас идите в песочницу» » пугливых детей возможно и испугает, а любопытных врядли.
p.s. не забывайте это первая статья на хабре, посвященная Catalyst, и впихивать в нее подробноее описание всей его поднаготной было бы не разумно, в рамках одной статьи.
p.p.s. Pilat — никнейм у вас говорящий, у всякого кто решался вступать в спор с одноименным историческим героем, была одна участь — «быть распятым». Иногда конечно по праздникам спорщика могли и отпустить с миром…
Sign up to leave a comment.
Основные принципы работы с MVC Framework Catalyst