Создание интернет магазинов на bitrix. Опытные разработчики, какие верные пути глубокого изучения bitix Вы можеет предложить?
Сложность вопроса установил средняя, поскольку предполагается наличие разнопланового опыта разработки на bitrix.
Прошу не ограничивать ответы исключительно темой в заголовке, любые замечания или предложения которые Вы считаете будут полезны так же пишите.
В заголовке указал, что именно интернет магазинов, поскольку это достаточно частая необходимость в разработке сайтов. При этом что Вы считаете нужно почитать про Hi-Load блоки, кеш и оптимизацию под высокие нагрузки, прочих порталов(например каких либо личных кабинетов с кучей данных), так же напишите.
Предыстория вопроса. Год назад пришёл работать в студию в качестве бэк-end разработчика bitrix, мне дали ссылку на курсы, подсказать было особо не кому. Почему то у меня эти курсы изначально не зашли и начал разбираться по видео урокам. (То есть искал информацию по текущим задачам, например как сделать отзывы, блог и так далее, часто это были уроки Михаила Базарова). Далее частично читал документацию, искал информацию на сайтах в интернете, задавал вопросы на форуме битрикс, писал им в поддержку. Сейчас понимаю что многие вещи которые от меня просит сделать, я готов решить больше средствами API, при этом понимаю что функционал возможно есть в коробке, и правильная адекватная настройка компонентов, способна ускорить процесс, но для этого нужно про все эти возможности и рабоуту с ними узнать, чтобы построить в голове путь решения задачи.
Напишу так же что документация не всегда бывает понятна и опять же приходится уточнять что имеется ввиду. По работе битрикс API так же замечал что есть моменты когда функционал работает не корректно, или вот например не так давно столкнулся что CSaleBasket::Update работает с глюком а его аналог в D7 нормально.
По текущему вопросу хотел бы получить в частности ответы такие как:
- считаете ли Вы документацию по bitrix достаточной и вменяемой в плане корректности и доступности изложения(прошу ответить для новичка и для опытного);
- какие книги, форумы, статьи ресурсы Вы считаете опытный разработчик должен обязательно прочитать;
- есть ли какие то ресурсы с информацией для продвинутого разработчика;
- откуда ещё черпать информацию;
- считаете ли Вы что есть какой то стандарт разработки на bitrix, если да опишите что Вы под ним понимаете, что считаете с точки зрения bitrix стандартным, а что нет, и что вообще недопустимым и не правильным(лично я замечаю что разные разработчики реализуют однотипные задачи разными способами);
- как в моём случаи, когда есть понимание как решать задачи на API добавить к этому понимание как решить их используя стандартные компоненты и их настройку, в частности задачи по интернет магазинам, может быть есть какая то книга которая описывает как сделать любой интернет магазин исключительно методами из коробки?
остарайтесь что бы вам "зашли" курсы и уроки. Почитайте блоги разработчиков на самом битриксе.
Использовать стандартные компоненты не всегда хорошо, даже если задача решаема ими, часто видно заранее, что в случае расширения функционала, стандарт не потянет.
Если делаете многое через АПИ, но при этом не делая своих модулей и компонентов, то начните их делать, сразу много насчет что "стандартное", а что нет.
Недопустимо в битриксе трогать ядро, и то если обновления нужны. А так, вам дали продукт с набором модулей и компонетов, которые в большинстве случав пытаются натягивать сову на глобус, нужно быстро - натягивайте, нужно качественно и узко - пишите свой модуль, или делайте копию стандартного и пилите его. Остальное все допустимо, только чем дальше от стандартов тем ближе God-программист)
И ещё разрешите вопрос. Сколько времени прошло с начала как Вы стали разрабатывать на bitrix до момента когда сами себе смогли сказать, что являетесь разработчиком bitrix. В частности взять например Интернет-магазины, через какое время смогли делать абсолютно любой функционал который нужен заказчику, так чтобы вопросов за ранее не предполагалось о пути, которым будет решаться задача? То-есть понимание как быть с кешем и прочее в том числе.
Пару лет успешно натягивала компонент order.ajax на нужную верстку, в этом году терпения уже не хватает, теперь заказы делаем чисто на api. корзину тоже уже часто делаю на api.
компонент типа новости - пока не делаем свой, только потому что не решили, как кешировать данные. А так вообще ничего плохого, что не пользуетесь компонентами, не всегда они являются более лучшим решением. С умным фильтром бы еще чего придумать...
Вообще более серьезные проекты используют битрикс только для админки, публичная часть делается какими-нибудь фреймворками и апи битрикса. Так что могу только порекомендовать стремиться к этому.
Про нагрузки - у битрикс есть курсик про это. Рекомендации по настройкам nginx и mysql причем не плохие (хотя тесты в админке что вычисляют - не совсем согласны).
И ещё разрешите вопрос. Сколько времени прошло с начала как Вы стали разрабатывать на bitrix до момента когда сами себе смогли сказать, что являетесь разработчиком bitrix. В частности взять например Интернет-магазины, через какое время смогли делать абсолютно любой функционал который нужен заказчику, так чтобы вопросов за ранее не предполагалось о пути, которым будет решаться задача? То-есть понимание как быть с кешем и прочее в том числе.
Сколько времени прошло с начала как Вы стали разрабатывать на bitrix до момента когда сами себе смогли сказать, что являетесь разработчиком bitrix.
по интернет-магазинам - наверное через год-полтора уже стала совсем уверена в себе, и точно могу оценить и время, и какие еще нужны мне данные от заказчика, и заранее уже могу знать, в каких местах у нас будут трудности, поэтому обращаю внимание на это сразу и часто напоминаю. Но даже при 4-5-летнем опыте - проблемы всегда появляются, на каждом проекте свои особенности, все клиенты разные и потребности разные.
Евгений Николаев, у меня не было задачи изучить битрикс, быть разработчиком на битриксе.
Являюсь свободным фрилансом, кидали заказы на Битриксе, всегда конечно разные, и простые и сложные. И вот по мере решения задач опыта по Битриксу набирается все больше. Я не считаю себя специалистом в Битриксе. Так, середнячок. Хоть и знаю уже практически все изнутри, как что устроено и где-что править, но назвать себя специалистом смогу только когда все исходники буду в голове держать)
А так, если прикинуть, сколько рабочих часов потребовалось, что бы перейти от мысли "ой-ой, что это, а как это, надо свой класс для БД подключить", к мысле "ага, требуется заколдовать заказы, нужно повесить обработчик на такое то событие, и хранить то что надо в таком-то HL-блоке", то часов 100-150. Тут главное не тупо делать, а стараться понять как оно устроено, какую линию гнут разработчики самого Битрикса, что пытаются донести. Как Нео, напрягся, и почувствовал кальмаров прямо в реале. Вот стремитесь к тому, что бы взглянув на модуль sale, прищурить глаза, и сказать "я его чувствую")
Ниже Ирина правильно советует - изучайте новое ядро. Уже сейчас оно во многих местах дает более полный доступ к функциональности ядра. А некоторые модули так вообще только на d7 нормально работают, типа Email-маркета.