Ответы пользователя по тегу 1С-Битрикс
  • Стоит ли углубляться в изучение 1с Битрикс?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    Каждый инструмент хорош для своей задачи.

    Сейчас рынок таков:
    1. Битрикс не нужен в продуктах и сервисах.
    Если вы продуктовая компания (inhome разработка) и делаете проект на вырост для себя который поддерживать и развивать будете долго, а также у вас в компании есть опытный разработчик который знает толк в паттернах - берите Symphony/Laravel. Это окупится гибкостью.
    Хотя если у вас интернет магазин - можно подумать о гибриде, на начальной стадии это окупится.

    2. Хороший старт для небольших студий
    Если вы небольшая студия то это отличный способ держаться на рынке, заказов много. Откаты от битрикса - копейки по сравнению с теми суммами которые вы будете получать за сами заказы. Рынок очень большой, глупо идти против шерсти. Вы сможете легче их находить и соответственно проще получать более крупные заказы.
    Клиентов которым на самом деле нужен framework, а не готовый функционал - очень мало. И вы им либо будете впаривать то что им не нужно, или будут некоторые проблемы с стабильным притоком заказов.

    3. Выход на крупных клиентов
    Если вы крупная компания, то битрикс даст выход на крупные многомиллионные тендеры, которые очень многие идут по документации как требование. Создание высоконагруженных сайтов для крупнейших компаний РФ - это гораздо интереснее чем клепать мелкие сервисы на laravel/symphony.

    Знание битрикса не отменяет потребности изучения хотя бы одного MVC фреймверка. Быть хорошим беком без этого сложно.

    С точки зрения разработчика понимание современного PHP и использование composer отвязывает вас от конкретной платформы, и позволяет использовать лучшее из любой фреймверков в любой платформе.
    Не нравится роутер в битриксе? Берите из laravel. Хотите более функциональных контроллеров чем те которые появились в 18 ядре? Возьмите из symphony/laravel. Не нравится ORM? Возьмите Doctrine.
    Все из вышеперечисленного не сложно прикручивается к битриксу, и позволяет вам использовать все сильные стороны системы и фреймверков. В битриксе сильная сторона в данном контексте: хорошая админка которая позволит затащить крупный проект в короткие сроки (требования рынка). Для ИМ - много готовых интеграций со всеми сервисами которые ставятся быстро и просто.

    Для PHP разработчика если работать планируете только в продуктовых компаниях можно обойтись только знанием фреймверков. Если хотите более уверенно и широко смотреть на рынок: то битрикс+FW.

    Очень согласен с коллегой, обозначившего что хорошо готовить проекты на битрикс умеют очень немногие, т.к. бест-практикс нигде не обозначен. Возьмите за основу вот эту заготовку, и хорошо ее изучите, она даст вам понимание что такое более менее современный проект на битриксе
    https://github.com/regiomedia/bitrix-project .
    Ответ написан
    Комментировать
  • Качество кода в компонентах битрикса?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    Вот пример простейшего компонента
    <?
    class SaleRecomendedProducts extend \Bitrix\iblock\Component\ElementList {
    
    }


    Плюс берете шаблон из любого подходящего наследника. Методы которые нужно - переопределяете. Если работаете через ORM со своими таблицами/сущностями то пишите свой с нуля.

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

    С комплексными компонентами чуть сложнее, в доках мутно описано, я разобрался копая комплексный код компонента catalog + доки.
    Вообще с доками грустновато. API D7 выпустили месяц назад, но оно на данный момент почти пустое.
    https://dev.1c-bitrix.ru/api_d7/
    Ответ написан
    Комментировать
  • Как реализовать Rest api для сайта на Битрикс?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    1. Нужно писать свой компонент с роутингом.
    2. В зависимости от тяжести логики, всю тяжелую лучше выносить в классы в модули и подключать через namespace.

    Перед написанием, пройдитесь по документации как писать компоненты/модули + обязательно обратите внимание на новое ядро D7, если знаете ООП вам будет гораздо легче и приятнее писать как компонент, так и классы модуля.

    По новому ядру документации не так много, но есть неплохие короткие бесплатные видокурсы (нужна регистрация)
    academy.1c-bitrix.ru/education/index.php?COURSE_ID...
    Ответ написан
    1 комментарий
  • Обязательно ли знать Bitrix чтобы быть web-разработчиком?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    Есть две стороны медали.
    1. Разработка на самой востребованной на рынке пока что в СНГ системе (Bitrix). Востребованной в 1 очередь заказчиками, а не разработчиками.
    Вы всегда найдете себе работу.
    Но вам придется мириться с текущими недостатками, которые исправляются не так быстро, т.к. поддерживается обратная совместимость (они не могут себе позволить ее не поддерживать т.к. имеют слишком большую долю на рынке). Но все же исправляются, и на новое ядро уже переписана немалая часть функционала.
    2. Разработка на фреймверках. В России к примеру распространены YII, Symphony и активно набирающий обороты Laravel. Yii - больше для мелочи, Symphony/Laravel потенциально для более крупных проектов.
    Работа с ними приятнее с точки зрения программирования, но вам потенциально придется писать очень много того что в CMS уже написано. Хотя порой написать новое быстрее чем кастомизировать уже написанное под бизнес задачу.
    Рынок/вакансий на FW меньше, + есть не стабильность, сегодня популярен один FW, завтра другой. Доминирующей позиции ни у кого нет. Если выберете эту ветку - я бы посоветовал Laravel, мне кажется наиболее перспективный, в топовых студиях по крайней мере спрос растет.
    Плюсы данного пути - вы начинаете изучать программирование "снизу", с ООП, ядра, без вариантов. Это сложнее чем изучать CMS, должна быть неплохая теоритическая база чтобы не гавнокодить (имхо).

    Bitrix можно же изучать с курсов - это проще, вы сначала учитесь понимаю огромный функционал с позиции пользователя (учитесь водить машину), а потом понемногу погружаетесь в написание компонентов, модулей, начинаете изучать ядро (лезете под капот и начинаете понимать как машина вообще работает и устройство двигателя внутреннего сгорания).

    Ваша лучшая документация код, который под капотом, за красивыми (или не очень) интерфейсами. Хорошо документированных CMS почти нет, bitrix в этом направлении один из лидеров.
    Если скил пока не позволяет читать исходный код и понимать, то начинайте мануалов).

    Вообще для обучения мониторьте HH.ru на тему: junior разработчик. Вам повезет если вы попадете в крупную студию с хорошими ведущими специалистами и хорошей программой обучения. При таком раскладе вас научат программировать вне зависимости от использования платформы и научат базовым практикам корпоративной совместной разработки + быстро отучат говнокодить.
    Если попадете в мелкую - тут придется самому грызть гранит, читать много литературы, вы достигнете всего того же, но за больший период. Для начала кстати посоветовал бы почитать:
    • "PHP. Объекты, шаблоны и методики программирования" Мэт Зандстра
    • "Совершенный код" Стив Макконнелл


    И посоветую не слушать популистов и ненавистников Битрикса. Многие из них просто работали или со старой версией, или работают сейчас, но не изучают новое ядро, не следуют новым практикам, или о новом ядре знают очень мало. А многие попросту плюются на все чем не пользуются сейчас, в духе "все дураки, я один умный", доля конструктивной критики весьма мала, хотя критиковать есть за что. Если бы битрикс был таким полным говном как многие описывают - он бы не занял доминирующую позицию на рынке.
    Ответ написан
    5 комментариев
  • Часто ли падает Битрикс24?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    Переносите bitrix24 в коробку на свой сервер - никаких падений)
    Ответ написан
    Комментировать
  • Как правильно настроить "Ускорение сайта CDN" в Битрикс?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    1. CDN не панацея и не таблетка скорости. Включать и тестить надо грамотно, в некоторых случаях он может даже замедлять работу.
    Чтобы проверить его работу посмотрите в исходный код страницы, все выводимые изображения у вас должны начинаться с CDN bitrix
    Пример
    c09327c71f184ed4881d2de2446f65d8.png
    2. CDN должен включаться практически сразу.
    3. Я думаю вам нужно решать проблему другим функционалом если вам не помогло:
    • Проверьте настройки кеширования компонентов на сайте, найдите "толстые" страницы из-за которых у вас может проседать общий показатель. Закешируйте все что необходимо, хитов в БД лишних быть не должно.
    • Посмотрите в сторону композитного сайта
    • Проверьте не тормозит ли у вас front-end (возможно back-end у вас уже летает, а загвоздка в толстом фронте). Сделать lazyload.
    • Напишите индексы в БД по самым нагруженым запросам.
    • и т.д.
    Ответ написан
    1 комментарий
  • Почему Битрикс так популярен?

    north_leshiy
    @north_leshiy
    Руководитель направления разработки
    Поставьте себя на место заказчика:
    1. CMS с богатым опытом (уже более 10 лет на рынке)
    2. Имеет самую большую в России долю по eccommerce
    3. Имеет бесплатную качественную поддержку
    4. Имеет широкую документацию
    5. Во всех регионах от малых до самых топовых студий можно найти специалистов без труда.
    6. Обратная совместимость. Полная и безоговорочная. Вы всегда получите доступ к новым фичам и вам не придется доплачивать дохрена программистам чтобы перейти на новую версию движка т.к. старый уже не поддерживают и он кишмя кишит дырами.
    7. Уже готова большая часть функционала которая вам нужна, и оттестирована годами. Только шаблон по сути натяни + немного кастомизируй логику под свои БП.
    8. Есть штатная интеграция с 1с, у нас весь бизнес в России почти на ней.

    Ключевое: "бизнес не любит риски", и потому в большинстве случаев bitrix самая удобная и выгодная система для заказчика как минимум в России.

    За 6 летний опыт работы в направлении веб-студий, столько компаний повидал которые писались на каких нибудь:
    а) Самописных движках
    б) Бесплатных движках к которым прибили гвоздями функционал который в них не заложен
    в) Или вовсе на питоне/руби
    ... которых не хотели брать ни одна из топ 10-20 региональных студий (РнД) на поддержку, и они потом переписывали заново проекты... на bitrix.

    Bitrix это стандарт отрасли по ecommerce в России. Сейчас глобальный тренд на рынке - работы по поддержке и развитию проектов становится все больше чем работы по созданию новых.

    И когда вы пишите на bitrix framework, у вас будет всегда много работы, т.к. bitrix не только популярен, но становится все популярнее, следите за вектором. Сейчас он входит в топ 8 CMS в мире, за последние годы прибавил 5 позиций и продолжает увеличивать свою долю.

    А на счет качества... Мне порой приходит на ум ассоциация с PHP. PHP издавна отвоевала огромную долю рынка, но потом у нее появился некоторый период застоя. А тут сбоку питоны, руби. И все ругали PHP, говорили что у него не самая лучшая поддержка ООП (немного улучшившаяся с первыми 5х релизами), но в сети были модны статьи в духе PHP не круто, "PHP все", сейчас его долю на рынке веба по откусывают.
    Но вот нифига, за счет большого сообщества и богатой инерции просто PHP стал улучшаться, преодолели кризис PHP6 и разногласий, и вуаля, уже php7 который уже "более-менее", и php пошел в гору.

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

    Ну и что немаловажно это те люди которые пишут этот код. Если вы в топовой веб-студии с хорошими архитекторами и ведущими программистами - код на bitrix Framework будет написан качественно, и грамотно на новом ядре в традициях ООП, использования паттернов, грамотно собраны в модули и компоненты. Если же вы фрилансер или в мелкой студии, скорей всего ваши проекты будут "дурно" пахнуть, вся логика будет в шаблонах, или вообще в 1 шаблоне который будет напрочь состоять из сплошного роутинга.
    Ответ написан
    7 комментариев