Мой Вам совет — если хотите стать программистом, то читайте для начала абстрактные книги о программировании (паттерны, архитектура, тестирование) и по PHP вообщем.
А то с текущим подходом вы станете лишь верстальщиком, умеющим клепать блоги на drupal…
А вот подскажите хороший набор абстрактных книг, пожалуйста. Желательно, на русском языке, чтобы меньше сил уходило на чтение и больше — на усваивание.
Классика жанра:
— «Рефакторинг» Мартина Фаулера
— «Паттерны объектно-ориентированного проектирования» от Gang of Four
— «Совершенный код» Стива Макконнелла
Еще можете посмотреть «От рефакторинга к паттернам» Джошуа Кириевски и «Экстремальное программирование» Кента Бека.
Программирование мне нужно не само по себе, а для решения конкретных задач.
Поэтому с одной стороны «академические» знания, а с другой — потребность решить прикладные задачи. Как программисту, мне приходится искать компромисс в этом вопросе между «писать с нуля» и «использовать джумлу».
На данный момент поиск компромисса привел к друпалу, как к средству создания быстрого прототипа, который к тому-же еще и работает как настоящий сайт. Потом этот прототип можно переписать:
1. на каком-нибудь фреймворке (склоняюсь к CodeIgniter);
2. или серьезно изучив архитектуру друпала (планирую так и будет), доведя сайт до ума «правильными методами», учитывая нагрузку, производительность, правильность кода, масштабируемость, безопасность.
У меня эта CMS медленно работает даже на локалке. Количество mysql запросов на главной при установке просто потрясает. Разбираться в коде этой CMS, где нет ни одного класса, у меня нет почему-то даже никакого желания. Во общем работать с этой CMS как и с Bitrix тоже нет никакого желания.
Самописной CMS! на Zend Framework. Под каждый проект пишется своя CMS в зависимости от проекта. CMS Joomla в крайнем случае! По крайней мере мне кажется Joomla получше Drupal-а.
Ну так Drupal тот же самый костяк и точно так же затачивается под конкретные нужды проекта. Не вижу разницы.
Но все же одно дело использовать развитую структуру Drupal и совсем другой писать с нуля или почти с нуля.
Ну, Joomla 1.0 (да, именно 1.0) вполне неплохо сочетается с ZF. Проверено и применено на практике :)
Правда, получается, что от Джумлы в такой комбинации используется в основном панель администратора.
У вас на Битриксе был опыт создания 1 сайта — так почему статья так называется?
По поводу Битрикс + крупные компании — смотрите ADV, например.
Битрикс тормозной и громоздкий, многие вещи в нем сделаны нелогично и глупо, но тем не менее, как framework он весьма и весьма неплох, и многие сайты на нем делаются в разы быстрее, чем на других CMS, если особенности работы с ядром и API усвоены. Это я говорю, как человек, сделавший более 40 сайтов на Битриксе.
Более того, на PHP у меня из предпочтений осталось всего два фреймворка — Битрикс и Zend Framework, которые хоть как-то обещают «быструю» разработку, а не недели попыток завершить проект, они позволяют больше думать об интерфейсах, а не о том, что нужно сделать, чтобы хоть что-то заработало, и документация у них самая приличная из всех.
Что касается, веб-разработки в целом — если проект не загнан в рамки PHP как единственной системы поддерживаемой хостингом — я предпочитаю Django (Python) или Spring Framework (Java).
Я думаю, что сейчас то лучшее, что можно пожелать — это только, чтобы админка (допиливание которой, или сборка из готовых модулей и неделями проверка их стабильности в готовых бесплатненьких CMS) легко и (желательно) самостоятельно масштабировалась под нужды проекта — чтобы тратить на нее минимум времени, а на клиентский интерфейс и творчество — больше.
Мне нравится простота расширения framework'а, сохраняя его стиль и не применяя никаких костылей. Создание автогенерируемого grid'а для таблиц БД в админке (за что я так полюбил Django) для многих из framework'ов (я пробовал Yii, CodeIgniter, Kohana) порождало какое-то отдельное приложение, которое вообще не оставляло конкретных преимуществ framework'а — то есть, если пойти дальше — можно было бы вообще оставить эти grid'ы и не использовать framework вообще.
Я пробовал также и Symfony и CakePHP, близкие по философии к Django и Rails — но мне не понравился уровень документации — чтение занимало очень много времени, а специализированных IDE не существует.
Zend Framework в каком-то смысле лишен всего «лишнего» и позволяет легко создать на базе себя самого другой, собственный framework, который будет легко и приятно использовать во всех своих разработках.
У меня сейчас для ZF написаны как раз grid'ы, модули платежных систем, Интернет-магазин, шаблонизатор построен на любимом XSLT. Создание простеньких проектов занимает около 4 часов с версткой и небольшими изменениями админки для удобства клиента (визуальный редактор, вариант дизайна, брендинг, права доступа для разных сотрудников)
Когда видишь несколько концепций и лучшее в них — собрать по крупицам свою самую лучшую — просто
Мне нравится Ruby on Rails и я долгое время разрабатывал проекты на нем, но я ушел, когда обнаружил, что с каждым релизом вместе с тем, что что-то новое начинало работать, другое просто отваливалось и не работало :(
Сейчас, насколько я знаю, ситуация изменилась в лучшую сторону, но у меня уже накопилось столько наработок для других систем, что переход обратно для меня теперь более чем болезненным будет
Поностью соглашусь.
Как по мне, то делать корпоративные сайты с несколькими страницами, каталогом товаров и формой контактов на платных CMS вообще не имеет смысла, та же Joomla с этим справляеться на ура, даже если нужно прикрутить многоязычность — все очень просто…
Я бы на месте разработчиков те деньги, которые клиент платит за платную CMS просто оставлял бы себе :)…
У Битрикса и Drupal с Joomla! совершенно разные подходы к разработке сайта. Битрикс основан на компонентном подходе построения сайтов (что, зачастую, удобнее, если необходимо повторно использовать код внутри сайта в нескольких разделах в неограниченном количестве), а Drupal и Joomla! — на модульном.
Но, извините меня, чтобы написать какое-то дополнение для Drupal или Joomla! нужно потратить гораздо больше сил, чем изучить Битрикс.
Я работаю в студии и клиенты на ура покупают и Битрикс и платят за разработку, предпочитая полагаться на надежного партнера в лице Битрикса.
> Я уже молчу про то, что проприетарное ПО тяжелее отладить и протестировать, нежели открытое…
Битрикс поставляется в открытых исходных текстах, и без проблем отлаживается Zend Debugger'ом и XDebug'ом.
Плюс Вы берете среднюю зарплату в городе, а нужно брать среднюю прибыль компаний, так как мне трудно представить физическое лицо, заказывающее сайт-визитку.
Просто в большинстве случаев для написания сайта компании (я не говорю о топ компаниях со своими запросами и тд, а о среднестатистической компании, которой нужен просто каталог, пару страниц и форма контактов) хватает функционала бесплатной CMS и лично я, если бы мог клиента раскрутить на больший бьюджет, то лучше его использовать подругому…
А для решения уникальных задач нужен другой подход:
— сначала ставим задачу, а потом уже смотрим инструмент для ее решения, а привязыватся к одной технологии или одному подходу — неправильно.
А какой php framework больше приближен к быстрой разработке приложений как в 1С?
Речь идет о том, что 1С предлагает объекты типа документ, регистр и т.п. Документы хранят данные для выполнеия действия, хранятся в журналах, действия выполняются и учитываются в регистрах, функционал которых предполагает получать данные рассчетов в разрезах.
Есть задача построения Intranet-сайта с возможностями учетной сиитемы, с какой php framework проще начать?
1С-Битрикс, что как бы очевидно. Модель хранения данных в инфоблоках — практически копия справочников 1С. Есть механизм документооборота, прямых аналогов регистров и, например, характеристик, нет. Но возможна их реализация на механизмах тех же ИБ и событий.
«Есть задача построения Intranet-сайта с возможностями учетной сиитемы» — посмотрите Корпортал от битрикса. А учетную систему ваять на сайте смысла нет, лучше развернуть 1С и наладить обмен с сайтом.
Книга по Drupal (для начинающих)