Блог

Программируем 1с битрикс

Ru, Яндекс и иже с. И там к тебе приходят, извиняются или пытаются рассказать, что ты всё не так понял. Войдитепожалуйста. Хабр Geektimes Тостер Мой круг Фрилансим. Войти Регистрация. Раз уж пошла такая пьянка, то и я добавлю свои 5 копеек. В комментариях к статьям писали, что не хватает конкретики, примеров, более глубокого обзора. Данная статья — попытка этот обзор написать. Хотя нет, это скорее пост ненависти и боли может даже немного нытья. Это такой расширенный вариант поста про минусы от pistol.

Я постараюсь описать большинство тех вещей, которые раздражают именно меня и моих коллег в Битриксе. Постараюсь собрать в одном посте все те минусы, которые доставляют ежедневно очень много боли. Под конец я постараюсь сделать выводы. Кто я такой? Да в общем-то, обычный разработчик.

Работаю с битриксом с ноября года 5. Работаю только с битриксом, не сделал ни одного коммерческого проекта на других CMS, не использовал фреймворки в создании сайтов. По роду деятельности я занимаюсь в основном интернет-магазинами, их созданием, поддержкой и развитием.

Вместо вступления Для начала я предлагаю вам провести мысленный эксперимент. Давайте попробуем взять двух backend-разработчиков примерно одного возраста и примерно с одинаковым стажем работы допустим, 1 — 1. Можно легко сравнить, с каким набором технологий работал все это время один, а с каким — другой, и какой в итоге набор знаний они получили за это время. В случае с Symfony разработчиком это будет: Я понимаю, что это все очень индивидуально и очень большую роль может сыграть окружение человека.

Но тут я говорю о том, к чему двигают разработчика системы из коробки. А все потому, что Битрикс изначально дает слишком много свободы при отсутствии внятной архитектуры, документации, и правильных решений, тогда как Symfony предлагает все необходимое.

Лишь однажды к нам в компанию пришел опытный человек не из мира 1С-Битрикс в регионе и он был на голову сильнее своих коллег с тем же стажем просто за счет того, что ранее ему поставили мозги на правильные рельсы. Я и сам. Мне, к сожалению, с самого начала пустили пыль в глаза той же маркетинговой чепухой, да и попал я в не очень хорошее окружение. Я сам понимаю и чувствую, что мои коллеги с аналогичным стажем работы, но в том же Symfony, имеют больший кругозор, и это очень сильный побочный эффект от битрикса.

Это все наводит на мысли о том, что если ты хочешь развиваться в мире веб-разработки, то в качестве основы нужно выбирать уж точно не битрикс. Сравнивая двух разработчиков, я хочу обратить внимание на те рамки, в которые загоняет система, и на ту свободу, которую она предоставляет.

Что Битрикс, что Symfony — они оба дают почти безграничную гибкость, и в принципе на каждой из них можно создать продукт абсолютно любой сложности. Однако система должна помогать разработчику в решении проблем, вместо того, чтобы вставлять палки в колеса. И тут Битрикс очень сильно проигрывает. Маркетинг Сразу хочу сказать немного слов об этом, так как это основная составляющая успеха Битрикса. Можно сказать, что духом маркетинга пропитан весь Битрикс, даже документация для разработчиков.

В битриксе работают хорошие маркетологи, которые грамотно умеют преподнести свой продукт. Раз в полгода они устраивают конференции для партнеров, где рассказывают о том, что было сделано и о том, какие у них планы. Как показывает практика, никогда эти планы не сбываются в срок и очень часто релизы либо неполные, либо с кучей ошибок. В качестве примера — нашумевший рефакторинг модуля sale, релиз которого откладывали больше года, и даже самую последнюю дату релиза 23 декабря года провалили на 3 месяца, и выпустили новый магазин и БУС Битрикс ред.

Но в результате после обновления пользователи не только не получили новых фич. Пользователи получили в большинстве случаев неработоспособный магазин, и горку нового недокументированного кода в придачу.

Новым инструментам дают такие громкие названия, которые у всех на слуху: Композитный сайт — ускорение x; Highload-блоки; Bitrix BigData. На самом деле за этими словами скрываются вполне обыденные вещи, которые не соответствуют своему имени. И такой подход прослеживается везде, к сожалению. Снаружи продукт выглядит как конфетка, которую купил, поставил и пользуешься.

Но если с битриксом сделать шаг в сторону от стандартной поставки — все, поддержание функциональности при обновлениях превращается в ад.

Разработка сайтов на 1С-Битрикс для начинающих — руководства на Skillbox

Впрочем, обо всем по порядку, тема маркетинга еще будет всплывать в этом посте, скорее всего, не. Архитектура На протяжении десятка лет Битрикс отчаянно загонял сам себя в тупик.

Каждая новая фича в продукте выходила в соответствии с интересами бизнеса, без должной проработки с технической точки зрения. И, естественно, все это росло как снежный ком. Если вдуматься, то в Битриксе нет архитектуры, как таковой. Нет даже общепринятых сформулированных правил, которые позволили бы следовать этой архитектуре. В курсе разработчиков, в разделе Архитектура продуктасказано, что битрикс следует архитектуре MVC и приводит схему: Сразу хочу сказать, что это MVC очень сильно отличается от классического варианта.

Тут очень сильная подмена понятий, никакого MVC тут на самом деле нет, просто есть некое абстрактное разделение на модули, компоненты, и шаблоны компонентов.

А уже из этих кирпичиков строится весь сайт. Но каждый из этих кирпичиков может брать на себя разные задачи, и поэтому они тесно взаимосвязаны между. Попробую рассмотреть каждый из этих аспектов архитектуры более подробно. Да, API предоставляет интерфейс доступа к данным и позволяет ими манипулировать. Но API битрикса позволяет работать не только с данными, но и с шаблонами, да и с пользовательскими запросами.

Ну да ладно… это лишь мое мнение. На данный момент в Битриксе есть 2 варианта API. Условно можно разделить их на старое и новое.

Новое API называется D7 честно — не помню почему, но Rizhikov рассказывал об этом на одной из партнерских конференций.

Старое API — это собрание антипаттернов, ужасных примеров плохого кода. В Битриксе всегда считалось нормальным вызывать нестатические методы статически, и наоборот, требовать состояния тогда, когда это неуместно. Например, всем известный CIBlockElement:: GetList — пожалуй, один из самых часто-используемых методов при разработке. Его реализация содержит более строк кода, использует глобалки, строит ужасающие, колоссальные запросы, и содержит нереальный, просто нечитабельный недокументированный код.

DD", "BE. ID AND ". А у нас тут можно получить грант на тестовый период Яндекс. Читают. Поддержать автора Отправить деньги.

Онлайн обучение

Платежная система. Деньги PayPal. Поделиться публикацией. Похожие публикации. Веб-разработчик 1С-Битрикс. Mywebstor Новосибирск. Студия Валерия Комягина Москва.

Веб-разработчик 1С-Битрикс удаленно. Максиплэйс Москва Возможна удаленная работа. Все вакансии. Loner 26 апреля в VladimirAndreev 26 апреля в Так ведь народный продукт! MattLe 26 апреля в Статья в целом все верно описывает, хоть и замечаются нотки страдания автора. Но как верно было замечено, маркетологи в битриксе знают свою работу и это позволяет быть продукту востребованным на рынке.

Тут есть определенная доля несправедливости. Ведь ничего же не мешает авторам Битрикса следовать тем же стандартам, что и фреймворки. Однако они упорно игнорируются. И это одна из самых больших проблем. Авторы CMS просто не прислушиваются к сообществу, и игнорируют его потребности. Возьмите тот же Drupal. Они прислушались к сообществу и положили в основу 8й версии Symfony.

Да, там тоже есть свои тонкости и шероховатости, но в целом оно стало на много. Если разработчики Битрикса прислушаются к таким постам, то возможно в будущем мы сможем получить годный коммерческий продукт. Согласен с вами, но согласитесь тогда им придется переработать огромное количества кода, а это думаю будет им в убыток.

Дык это элементарно продаётся. Вот пример: Теперь найти разработчиков станет проще, с скорость генерации страниц увеличилась в 10 раз, теперь гугл сильнее полюбит ваши сайты и вы будете в топе поисковых систем!

перенос сайта на денвер

Или так: Вы можете сделать свой новый проект на битрикс управление сайтом старой версии, или же использовать Битрикс 2. С точки разработчика станет непонятно, зачем изучать Битрикс 2. Да ведь по тексту куча ссылок на решения, которые уже сильно улучшают ситуацию. Могли бы интегрировать это, использовать в своих решениях, пойти на диалог с сообществом. Но работа с коммьюнити ограничивается проведением конкурсов на лучшего чат-бота.

VVizard 26 апреля в Проблема в том, что тогда придется отказаться от обратной совместимости. И все те, кто уже, например, лет 5 поддерживают и развивают свой сайт встанут перед выбором того, что они больше не получат обновлений и нового функционала, а если они хотят новинки, то им нужно сделать свой сайт с нуля на новом битриксе. Видюшку даже могу найти, где Рыжиков об этом рассказывает. Однако нет, в итоге они решили пойти по пути обратной совместимости и слить старое и новое ядро, делая постепенный переход.

Только вот совместимость от этого только страдает, регулярно что-то отваливается при обновлениях. А новый модуль интернет-магазина таки не имеет полной обратной совместимости совершенно официально. Ну так как заявлялось, так и делает. Ядра между собой не совместимы. Но есть большое НО! Битрикс никогда не заявлял, что выйдет новая версия продукта, где не будет старого кода и только новый код и что откажутся вообще от принципа обратной совместимости.

Методы заменяются заглушками, которые под собой содержат вызовы нового ядра. Весь новый код пишется только на D7. А все это требует массу усилий. Например инфоблоки: Проще было бы с нуля реализовать все это по новому, убрав сразу все исторические недостатки, возможно даже частично реализовав функционал по новому.

VVizard 29 апреля в Для 1С это вообще не проблема: Затем 8. Переход с 8. Все таки 1С: Цикл жизни 1С бухгалтерии иной, нежели сайта. Да и если битрикс уже поддерживает обратную совместимость 10 лет, то нельзя вдруг все поменять.

Да и в любом случае нужно будет поддерживать две версии ведь старую нельзя совсем бросить. Давеча делал анализ-разбор топа крупнейших интернет-магазинов в кое-какой сфере. Магазины на битриксе есть, да, в конце хвоста списка. Что интересно, каждый еще раз, каждый из них в течении 4-х дней, пока я с ними ковырялся или падал или тормозил. Тормозил — это я называю от 7 секунд на генерацию страницы. Please try later. Если говорить просто о топе интернет-магазинов в целом — то в нём в самом конце — только один битрикс — это эльдорадо.

1С-Битрикс. Практика создания веб-проектов | WebForMyself

Прямо сейчас он генерирует свою страничку 1. И это не скорость загрузки картинок, не время загрузки страницы, это генерация страницы. Причем видно, что люди изгаляются, от стандартных компонентов отходят господа хейтеры, прошу хотя бы в этом посте перестать мне доказывать, что я ничего не знаю, и разработчики магазинов используют стандартные изкоробочные модули.

Не, эльдорадо это из ТОП 10 магазинов вообще: Кстати, какие CMS я не смотрел. А битриксы определялись сами по себе — если уродливые субъективное узнаваемые урлы в фильтрах, или же внезапные тормоза — лезу смотрю, да, битрикс. Я посмотрю, если получится, отпишусь. Первые топ 5 — не CMS. Остальные либо не определить, либо не знаком. На Java. NET 4. Ребят, вы бы ещё youtube на джумле делали.

Тогда какой смысл их сравнивать с Битриксом который расчитан на широкую публику? Потому что выше в комментариях Вы попросили. Я первоначально на это и не смотрел. XaocCPS 26 апреля в Второй — скорее всего дотнет они на ultima erp, которая написана на дотнете. Не, ulima им только erp предоставляет, как сейчас, так и до того, как у них sap. А сайт делают не они, а ребята из DZ.

Их профиль — Java, недавно года.

лучшие хостинги для серверов в россии

NET перешли. Однозначно Java, вот пруф первый https: Эльдорадо на битриксе, может тупо глянуть код страницы. Главная всегда кешируется, ясное. Извиняюсь, у них главная похоже не на Битриксе: Bitrix Site Manager, а вот на странице с товаром уже. Либо главная кешируется целиком чем-то сторонним. У меня сайт с открытками http: На локалке при разработке показывает вообще 6 мс. Кстати не вижу у них 60 мс, вижу мс.

Композитный кеш наверное единственное, за что можно поставить плюс Битриксу. С другой стороны порог вхождения очень низкий, и можно наломать больше дров если делать не зная толком технологию. Если за тормозитный композитный кеш ставить плюс битриксу, то люди способные скопипастить microcache в конфиг nginx очень огорчатся.

Почему он тормозной? Окей, почему мне не нравится: Не хочу платить к за снятие кнопочки 2. Революции не вижу, аякс подгрузка блоков или ESI — вполне известная гражданская штука 3. Насчёт персональных данных, корзины и прочих данных аккаунта не могу ничего сказать, так как один из сайтов статьёй которого хотел заручиться, работает на битриксе и лежит прям.

Решается одним html тегом и стилями. Понятно что это не революционная технология, просто удобная вещь из коробки. Мне кажется это очень удобно. Я не уверен, что ESI удобнее и практичнее композитного кеша, быстрее да, но мы же уже говорим про 6 мс.

Ну тогда закончим сей спор. Ой вей, как нехорошо нарушать лицензионное соглашение. Вы еще скажите, что фильмы с торрента не скачивали: Не силен в юридических моментах, но там вроде ничего не сказано про визуальное оформление кнопки.

Они для этого даже предусмотрели проверку на пользовательский контейнер. Понятно, что мы не говорим про уровень Эльдорадо, там никто не будет хитрить и зажимать К. Собственно, не качаю, либо смотрю в кинотеатре, либо вообще не смотрю. Но в этом году согрешил, Catch Me If You Can качнул, и чтоб совсем котолампово было, я его минут за 20 до вашего вопроса удалил. Эльдорадо вроде собирается мигрировать с битрикса на что-то java подобное. Буквально полгода назад набирали java-программистов для разработки магазина.

В статье вы рекоммендуете изучать Symfony, Laravel, Yii. А что вы думаете про magento? Как я писал выше, кроме битрикса мне пока не удалось плотно поработать с другими CMS. Могу точно сказать о Magento на основании того, что я читал о ней в интернетахчто это достойная альтернатива битриксу, если вы хотите сделать интернет-магазин.

Он в своем движке тоже использует компоненты Symfony. Один из минусов, который не дает развиваться этой платформе в России, это тот факт, что там пока не хватает готовых модулей интеграции с различными партнерскими, платежными, логистическими системами, CRM.

Некоторые идеи в битриксе, насколько я знаю, перекачали как раз из Magento. Например конструктор скидок. Magento — это пример того, как нужно делать современное коробочное решение для интернет-коммерции. ALexhha 26 апреля в Symfony, Laravel, Yii это фреймворки, в то время как magento это система управления интернет-магазинами.

Будет корректно сравнивать Magento и Bitrix. Я же рекомендовал изучать Symfony не столько, как альтернативу Битриксу, а как средство для получения более правильных навыков для веб-разработки. Да, на Symfony можно развернуть любое приложение, но это не всегда будет оправдано.

Magento требует не малый порог вхождения так как работает на ядре Zend а и имеет на первый взгляд сложную архитектуру. Еще весомый минус — документация. Если бы не stackoverflow, все было бы очень плохо.

Я бы рекомендовал для начала начать именно с ZendFramework. OnYourLips 26 апреля в Узкоспециализированное решение, качество кода удовлетворительное, но хорошим его назвать. Так продукт и позиционирует себя как e-commerce, а качества кода там на очень высоком уровне, в полном мере использует все преимущества ООП, и архитектура продумана для своих целей на строгую пятерку.

OnYourLips 28 апреля в В любом случае если сравнивать этот код с кодом Битрикса, то это 5 из 5. Можно ли лучше сделать? Безусловно, но это можно отнести к любому продукту. Особенности, конечно, есть, но это не те особенности, которые делают из "программистов на Битрикс" какую-то особую касту. Всё в пределах досягаемости для неленивого ума. Забыли свой пароль?

Как научиться программировать на основе 1С-Bitrix?

Войти как пользователь. Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:. Мой Мир. Используйте вашу учетную запись на Битрикс24 для входа на сайт.

PHP программирование на 1С-Битрикс с нуля. Работа с главной страницей. Перенос верстки

Используйте вашу учетную запись Google для входа на сайт. Используйте вашу учетную запись VKontakte для входа на сайт. Алексей Емельянов babarun Безумный план моих идей в руках больных людей. Не нужно сразу читать курс по разработке, как минимум сначала изучите "Контент-менеджер" и "Администратор. Анатолий Ромадов FanaticAzov web программист, Битрикс.

Правильно писали уже - нужно сначала, пробежаться по курсам самого Битрикса dev. НА Ютубе есть несколько курсов, можешь выбирать что тебе легче пойдет. На сайте самого Битрикс можно скачать с 30 дневным триалом, этого обычно хватает. При необходимости потом можешь скопировать свои наработки, развернуть рядом новую и вставить свою. Бери Бизнес - там основные модули с которыми идет работа.

Руслан Сайфуллин Shapito27 php, laravel. Войдите, чтобы написать ответ Войти через центр авторизации.