Bootstrap в готовом решении зло? Да ладно!

Давно хотел написать этот пост, но все руки не доходили.

Уже неоднократно к нам обращались клиенты со следующим диагнозом
"У вас используется Bootstrap, а вот там сказали, что это тормозит сайт и плохо и громоздко, и предлагают верстку, оптимизированную на уровне handmade"
Но самое страшное, когда такие вопросы задают веб-мастера и со стажем :(

Итак,
я могу лишь предполагать, почему и откуда "растут ноги", но не буду никого критиковать, сам тоже когда-то таким был.

И все же Bootstrap придется хоть как-то "обелить" расставив точки над i и осветив один из самых его интересных моментов.

Начнем

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

И одна из них - сетки.

framework.jpg

Не стоит их отвергать или хаять, так как дизайн на основе сеток является стандартом де-факто уже далеко не один год, еще до популяризации адаптивности, и по сути уже баян, о котором никто не пишет.
[spoiler]
Для чего нужны сетки?

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

Отказаться от стандартов и создать верстку, прописав поведение всех (или только ключевых) блоков, ручками тоже можно, Но вы получите handmade проект, к которому кроме "создателя" остальные будут относиться с опаской, так как кто знает, что произойдет, если поправить этот стиль, заменить пимпочку на что-то другое.

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

Но главный выигрыш от использования стандартов - скорость, универсальность.

Если речь не идет о простеньких страничках или сайтах.

Теперь отметим второй момент, когда популярность сеток резко выросла:

Адаптивность

И тут преуспел Bootstrap, хотя есть и другие сеточные фреймворки (например 960.gs)

Ах да.
Забыл сказать следующее:
Bootstrap - достаточно широкий фреймворк,в котором сетки просто один из "пунктиков", не считая адаптивности.
Я редко встречал проекты, которые используют все 100% возможностей фреймворка.
Но самое интересное, что многие сходу воспринимают Bootstrap именно как набор кнопочек, формочек и прочей всячности. Тем не менее, можно брать от него лишь то, что вам требуется.

Именно поэтому говорить о том, какой он тяжеловесный, нельзя.

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

Есть и интересные моменты.
Если использовать готовые промышленные сетки вместо handmade верстки, то вес CSS, к примеру, наоборот может уменьшиться, а CSS могут стать проще, также как и "архитектура" верстки.
Но самое главное - верстка на основе сеток читается верстальщиками гораздо легче чем хендмейд. Это преимущества любой стандартизации, когда освоив стандарт, можно легко работать с любым проектом, его поддерживающим

Ну и живой пример на нашем опыте.
Для решения TopShop мы создавали свои сетки, но... на базе промышленных стандартов.

Но, начиная с решения Корп сайт, уже работаем строго с сетками Bootstrap (в первую очередь, чтобы встать на рельсы стандартизации, во вторую, он нам нравится, в третью - теперь это тоже "частичка" Битрикса, хотя на момент принятия нашего решения этого еще не было)

А в решении Bxready: Маркет у нас даже есть свои хуки и патчи, корректирующие поведение родного Битриксовского Bootstrap.

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

Пока мы использовали только:
Сетки и часть типографики (вес очень мизерный и даже меньше чем хендмейдовская адаптивная верстка с CSS)
Если понадобится что-то еще готовое, добавим.
Но... делаем мы это осмысленно.

Еще раз отметим почему это выгодно

1. Простота сборки макетов

Попробуйте провести модернизацию или перепланировку handmade верстки и правильно собранного сайта на сетках bootstrap.

Это покажет вам выгоду от использования стандартов.
Сравнить это можно с модульными гарнитурами, когда вы можете формировать модули в соответствии с дизайном интерьера или как уже писал ранее - свободной планировкой.

2. Простота модернизации и адаптации

Попробуйте поуправлять поведением блоков при адаптивности и поэкспериментировать при этом с АБ тестированием.
И представьте handmade адаптив, когда боишься, что банальная перестановка стены обрушит все здание.
Сравните скорости и затраты.

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

Т.е. они как нельзя кстати подходят к современным реалиями

Нейтральный итог:
В приницпе.... на многие моменты в Bootstrap существуют более крутые аналоги, но сетки...
Мне вот просто нравятся и все тут :)
.
Вы еще верите, что Bootstrap это зло?

Если у вас новый Битрикс, попробуйте сдать его на анализы.
А вдруг где-то в его клеточках притаился этот злобный и ужасный Bootstrap? ;)

Я же обычно интересуюсь, каким образом реализован дизайн и как работает адаптивность?

Ну и еще интересный момент про bootstrap:
Есть у него еще набор шрифтовых иконок GlyphIcon
glyphicon.jpg
Прикольная штука, но одно "но". Набор состоит только из бесплатных иконок.
Тем не менее есть альтернатива, которую знают многие: fontawesome (и радует, что этот набор теперь тоже в ядре битрикс и не надо его тащить извне)
fontawesome.jpg

А еще я искренне поддерживаю разработчиков Битрикс в их решении в отношении сеток Bootstrap.

С уважением, Алексей Коваленко

P.S.
  • На самом деле не всем проектам или сайтам нужны промышленные технологии (сетки, адаптивность и прочее)
  • Сеточные технологии, в том числе и сетки Bootstrap, начинаются именно с дизайна. Поэтому сначала надо знать, как они работают и самое важное - это должен знать и соблюдать веб-дизайнер, иначе верстка превратится в "как бы эту картинку впихнуть в невпихуемое, или ну его нафиг, мне платят за точность, а не за пропаганду стандартов".
  • Настало время, когда до заказчика уже надо доводить, что есть моменты, в которых верстка должна быть строго по дизайну, а какие моменты варьируемые (резиновые, масштабируемые и т.д.), а это тоже труд.
  • Для меня до сих пор является непоняткой, если веб-мастер не знаком с сетками. При подготовке программистов я ранее использовал задания такого плана: сверстать простенький адаптивный макет, изучить Bootstrap, сделать тоже с помощью Bootstrap - и сделать соотв. выводы по простоте и скорости и когда это выгодно.
  • Реально встречал случаи некорректного использования bootstrap в модулях, отрицать не буду,, хотя также как и бездумное использование любого другого фреймворка, в том числе и Битрикс.
2
Пользователь 45579
23.08.2016 11:07:41
К сожалению, на маркетплейсе с каждым днем становиться все больше решений на бутстрапе, внешний вид которых мало отличается друг от друга.
1
Пользователь 10337
24.08.2016 18:52:40
Похожесть решений и сетки — это абсолютно разные вопросы.
Типовой магазин от битрикс — на бутстрап.
Многие компоенты битрикс переводятся на сетки бутстрап.

Имхо
Сетки и дизайн не особо друг с другом не связаны. Сетки накладывают только ряд ограничений по стандартам.
Сетки существуют уже давно и пришли в веб из типографии
Ок. Ну можно выбросить бутстрап. А что взамен — другие сетки? Ок.

хендмейд для любителей ковыряться в чужой верстке — на люьителя. К примеру мы вообще не беремся сопровождать адаптивность без промышленных технологий.
1
Пользователь
25.08.2016 12:48:57
очень рад что битрикс наконец переходит на типовую бутстрап верстку. надоело каждый раз переписывать древние шаблоны на таблицах).надеюсь скоро доберетесь до младших редакций. не слушайте самодельщиков пишущих свои велосипеды
0
Пользователь 683781
27.08.2016 01:32:26
Здравствуйте, к сожалению не могу с вами согласиться по поводу использования bootstrap в профессиональной разработке сайтов.
Такой подход мне напоминает как жили в СССР одинаковая мебель, одинаковая одежда, одинковые машины, вообщем всё как у соседа, но сейчас тренд в другом, быть впереди своих конкурентов!

1) Использование bootstrap делает из ваших проектов клонов, посмотрите на стандартный интернет магазин bitrix,  "электросилу", "аспро маркет", "аспро оптимус" и ваше решение, они в принципе клоны друг друга и внешне отличаются графической информацией.
А настройки вашего решения это чистый маркетинг, что-то серьёзное ими настроить нельзя, только поменять местами телефон и меню, а так ничего особенного!
2) Вес css вашего решения на главной странице 299кб это очень много для такого простого интернет магазина. Тем более поисковики ставят выше сайты у кого вес и скорость загрузки меньше, поэтому это очень плохо!
3) У вас нет свободы дизайна, как вам заранее говорят что и как верстать и накладывают огромные ограничения, либо придется очень много переопределять css стиилей.
4) Вы пишите что легко можно менять всё на сайте? Для ваших клиентов без знания верстки будет очень и очень сложно что-либо поменять, а кто умеет верстать и так разберется, тем более никому в голову не придет менять что-то глобальное, ведь это готовое решение и оно уже готово к продаже, а не чтобы в нем все меняли до бесконечности.
5) Вопрос в собственной гордости за свой продукт? Вы сможете гордиться кусками чужой верстки чужих функций и частью вашего кода? Думаю нет!
6) Гугл пейдж спид показывает 50/100 на вашем решении, это очень очень мало!!!
7) bootstrap использует часто используемые имена классов такие как .table, .dropdown, .row, .left, и т. д. что сильно мешает при кастомизации.

Итог: Использование готовых фреймворков в ваших проектах это прежде всего экономия на квалифицированных разработчиках которые умеют писать качественные продукты с нуля!
А ваша статья попытка это оправдать!

Что косается понимания верстки специалистами других компаний на это есть методологии верстки и программной части, которые позволяют стандартизировать код, например БЭМ.

Лично я никогда не куплю решение на готовой верстке которую юзают миллионы людей!

Вот ещё полезно будет почитать статью и комменты к ней!
https://gist.github.com/iAdramelk/d328b73c72cab92ef95f
1
Пользователь 10337
27.08.2016 05:01:23
Николай, я очень рад, что данная статья  так популярна и вы ради этого комментария даже вступили в сообщество битрикс (судя по дате и времени регистрации). А такое идеальное знание линейки продуктов Маркетплейс и время регистрации вообще не настораживают.

Но Не вводите людей в заблуждение, тем более, что по некоторым пунктам у вас недостоверные или субьективные данные. Я очень надеюсь не специально собранная текстовая солянка.

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

Что касается  указанным вами решений, мы знаем сотни слабых и проблемных мест, но придерживаемся принципов добросовестной конкуренции. Именно поэтому мы пишем только статьи преимуществах и фишках. А в работе над решением учитыаем все, в том числе и слабые места других, это и есть правильный принцип развития продуктов.

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

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

Почему мы выбираем стандарты? Потому что стоимость сопровождения решений снижается в разы, а мы привыкли экономить каждый рубль нашего клиента. Особенно в век адаптивности.


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

Однако, вы ввели в заблуждение людей даже тем, что н а исали про шаблрнную верстку.
А терь факт. Сетки невидимы! Ой а дизайн под сетки, даже под сетки бутстрап можно нарисоваь практически любой :)
Что мы и сделали. А не взяли готовое шаблонное решение, как вы написали.

Но есть еще классный момент, который вы не упомянули, о нем я напишу позже... в понедельник или вторник.
1
Пользователь 10337
27.08.2016 14:32:29
Прошу извинить за запятые и ошибки. Пришлось отвечать на планшете в дороге. Это не очень удобно:(
0
Пользователь 282948
30.08.2016 01:24:10
Алексей, я тут немного вчитался в текст Николая и увидел, что человек вообще далек от Вэба. Он сравнивает верстку/сетку/бутстрап и предлагает вместо этого использовать БЭМ - методологию именования классов и файлов, ее разработали, чтобы просто не запутаться во всем этом зоопарке файлов и классов.

Николай, если вы не тупой БОТ/школоло/копипастер, хочется услышать от вас как же вы применяя только лишь один БЭМ сверстаете адаптивную сетку, да и как вам это вообще поможет разработать свою сетку? А еще я вообще может придерживаюсь OOCSS или MCSS(это тоже методологии как и БЭМ), я тоже под вашу религию не подхожу, или кроме Яндекса вы вообще больше ничего не слышали и не видели?

В общем приговор на Хабр и Гиктайм насиловать мозг и получать знания, через годик другой вернетесь тогда и по тролите.
1
Пользователь 10337
30.08.2016 07:06:40
Дмитрий, тут даже в текст вчитываться не надо
Банальный "информационный вброс"

Некий Николай регистрируется в сообществе в 27.08.2016 01:31:32
в 27.08.2016 01:32:26 уже опубликована целая портянка-заготовка
и в это же время 27 августа 2016 01:32 опубликован копипаст данной портянки в комментариях к данному решению.

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

Но автор, или те, кто за ним стоит, не подумав, вынуждают нас подготовить еще ряд статей, которые расставят точки над i.
Придется этим заниматься :)

Ведь нам есть о чем написать. И до сих пор руки не доходят о самого интересного.

А сетки.... сетки это такая же технология и стандарт, как клеточки и линейки в школьных тетрадях, это то, что изобрели наши предки, это то, что активно юзалось даже в СССР ;), о котором скорее всего автор также "просто наслышан".

P.S. Мы предложили данному автору свою консультационную помощь, но на контакт он, сами понимаете, не пошел ;), и думаю, мы еще не раз увидим такие тексты, опубликованные под вымышленными аккаунтами и именами.
1
Пользователь 10337
31.08.2016 10:56:24
Мне вот коллеги подбросили хорошую ссылку
http://deadsign.ru/design/grids_in_web_design/
0
Пользователь 227946
16.11.2016 10:27:08
Это как писать программы на ассемблере, вместо Java для написания банковскихклиентов - это тупо и не оправданно. Не использовать сетку и или аналоги - это идиотизм) Алексей всё правильно расписал