Вопрос: стоит ли изучать разработку расширений joomla или эффективнее учиться работать с фреймворками?
Все зависит только от ваших целей.
- Если хочется гордиться своим кодом и писать так, чтобы его можно было тиражировать на массы (например писать расширения), а главное долго его поддерживать и развивать. То вердикт только один - изучать фреймворки, и брать суровые из мира оных (Zend, Yii, Simfony итд). Это тяжелый и ухабистый путь бородатого программиста.
- Если вы хотите быстро создавать сайты, но не зависеть от 100-долларовых одноразовых фрилансеров, то изучите ту CMS к которой больше всего лежит душа + желательно вторую, которая будет подстраховывать для не стандартных задач. Например, на JBZoo социальную сеть не сделать, а вот какой-нить livestreet (или что-то в этом духе) лучше подойдет. Думаю тут всем понятно, что каждой задаче - свой инструмент. Хватит знаний основ PHP, чтобы легко искать что подправить по себя.
Стоит заметить, что просто сесть и читать умные статьи - это почти что трата времени в пустую. Нужно просто взять и сделать проект на фреймворке/CMS. Это наиболее эффективный и быстрый способ погружения (и самый-самый больной).
С точки зрения предпринимателя. Фреймворк можно рассматривать только если есть команда программистов (от 2х и более), большой и долгосрочный проект, любимый клиент, и главное не стандартные задачи. Например, написать приложение для социальных сетей или серверную часть мобильному приложению.
Как бы да, но как бы и нет...расширения писать для joomla вроде как бессмысленно
Давным давно, когда я еще был зеленым студентом, эдак 6-8 лет назад я с горем пополам сдавал свои первые проекты клиентам в маленькой веб-студии. Тогда я научился PHP/jQuery/верстать и писать свои первые кривенькие расширения для Joomla 1.0-1.5 (и других CMS).
С тех пор меня на JED тянуло все реже и реже. Сейчас я бы туда пошел только за большими расширениями, которые нужно писать больше чем 1-2 часа (иначе это вызывает спортивный интерес

Писать что-то большое, нет смысла. Времена, когда у каждой веб-студии была своя(!) CMS - к счастью прошли. Конкуренция слишком большая, чтобы сидеть и городить свой велопарк. А вот навык, писать что-то небольшое - всегда пригодится.
Красивый код - это когда его мало, он понятный и главное работает как задумано.красивый, но бесполезный код.
Объясню точнее
- "мало", значит просто разобраться, и, вероятно, он быстрый. Если кода "мало", то значит его очень просто поддерживать.
- "понятный", это когда зашел в собственный код через 6 месяцев и понимаешь, что там происходит и почему. Порой полгода - это огромный срок чтобы сохранить ту самую "понятность" даже для автора. А еще круче, когда сосед по парте понимает его не хуже вас.
- "работает как задумано" - без комментариев. Тот же VM работает, и по всюду восторженные отзывы о нем

Мысленно накладываем эти 3 условия на клиента, который с вами работает на протяжении 1-2х лет. Получаем, что поддерживать его сайт будет легко и менее трудозатратно (дешевле с точки зрения бизнеса). Ну и можно посадить слабого программиста, потому что он легко вникнет в код, чтобы делать правки для клиента.
"Полезный код" - видимо тот, который
1. Работает
2. ? ? ?
3. Profit!
Просто иногда под красотой понимают это http://llfl.ru/rdkgdm(отступы) или комментарии у функций, или красивую архитектуру классов, или именование, или еще что-то еще... Вся прочая "красота" нужна разве если ваш код тиражируется и используется на тысячах проектов (как тот же JBZoo), нуждается в серьезном масштабировании, имеет сотни и даже тысячи опций... ну или получить эстетическое удовлетворение от своей работы, не краснеть на code-review, например.

Так вот, чтобы написать маленький, понятный код, который умеет много - это действительно сложно.
----------
Чтобы снова не быть голословным - напишу "in my humble opinion"

Сообщение отредактировал SmetDenis: 08 May 2015 - 07:31