Ответ 1
Это немного субъективный вопрос, но я задавался вопросом, поэтому я попытаюсь ответить.
Предполагая, что вы можете интегрировать его в свой продукт (отдельное обсуждение), Bootstrap быстро доставит вас в приличное место. Я говорю "приличный", потому что я не считаю это окончательным.
Pros
- работает во всех современных браузерах.
- "мобильный первый" подход в версия 3
- нормализует многие небольшие неудобства CSS
- легкий
- настраиваемый
- поощряет использование LESS CSS (http://lesscss.org)
- дает согласованность
- помогает разработчикам с эстетической точки зрения (хотя я считаю, что каждый разработчик должен обладать рабочими знаниями UX)
- доступно много красивых шаблонов стартера (https://wrapbootstrap.com/, http://bootswatch.com/ и т.д.)
- интегрирован с jQuery (некоторые могут считать это отрицательным)
- поставляется с некоторыми плагинами jQuery
- некоторые плагины jQuery теперь предлагают тематику Bootstrap
Против
-
Слабый, когда речь идет о сложных экранах ввода данных. Конечно, экраны должны быть простыми для пользователей, но это не означает, что форма может быть не сложной техникой. Иногда пользователи хорошо обучены и нуждаются в сложных формах, чтобы они могли быстро работать.
-
Плагины jQuery ограничены. Конечно, вы можете интегрировать свои собственные, находить другие сторонние элементы управления и т.д. Но из коробки вам не хватает тяжелых нападающих, таких как сетки, древовидные представления, перетаскивание и т.д.
-
Соглашения об именах и семантики являются посредственными. Пример: использование тега
<i>
для значков. Названия классов, такие как "pull-right". -
Это очень настраиваемый, но неизбежно, что многие сайты начинают выглядеть одинаково (как Wordpress — рассмотрите, сколько сайтов блога выглядят одинаково).
И, наконец, отличный про и con: это кто-то еще код. Вы этого не писали; если вы хотите, чтобы он работал по-другому, вы должны узнать, как это сделать, и как отклоняться от установленного потока кода.
Примеры из практики
Вот как я подошел к нему по нескольким недавним проектам. Все они написаны с использованием С#, ASP.Net MVC, HTML5, CSS 2/3 и jQuery (аналогично стеку разработки в вопросе).
Для справки, я довольно солидный в JavaScript и CSS. Если никто из вашей команды разработчиков не будет сильным в CSS или JavaScript, начать с нуля будет непростой задачей (и, вероятно, пустой тратой времени).
Продукт безопасности/соответствия
Этот продукт отличается сложной моделью безопасности и сильно зависит от ввода/обработки данных. Бизнес-процессы, управляемые приложением, сложны, поэтому главной целью пользовательского интерфейса является простота. Я начал с Bootstrap, но разорвал его в течение дня, потому что знал, что мне нужен полный контроль, и у меня уже были базовые шаблоны CSS и несколько компонентов JavaScript, которые я мог бы использовать.
Однако я сохранил LESS CSS. Мне также понравились цветные кнопки. Иногда (и это все еще так), я использовал Bootstrap в качестве ссылки, чтобы увидеть, как широко используемая структура подходит к конкретной проблеме.
Я знал, что мне хватило роскоши в том, что я могу потратить много времени на этот продукт, и я приложил все усилия, чтобы улучшить свои собственные рамки и собственную документацию. Чем глубже я попал в продукт, тем больше свободы/расширяемости мне нужно для достижения пользовательского интерфейса, который я хотел.
Этот продукт был коммерчески продемонстрирован и продан, и пользовательский интерфейс был очень хорошо принят. Я сделал правильный выбор, потратив время на свой собственный код.
Мастер онлайн
Это был простой, публичный сайт, который собирает информацию пользователя. Я разработал большую часть решения, но я не работал над ним на полный рабочий день.
Первоначально использование Bootstrap прошло довольно хорошо. Фактически, этот ответ превзошел Bootstrap как успех до завершения проекта.
Команда любила Bootstrap и знала об этом. Они быстро построили несколько макетов, используя настраиваемый шаблон Bootstrap. В результате пользовательский опыт был намного выше среднего, а время загрузки - Bootstrap. У команды не было проблем с поиском документации по мере необходимости.
Копание в "чужой код" в шаблоне Bootstrap оказалось сложным для команды, но им удалось выделить ненужные вещи и сделать их приемлемыми.
Bootstrap взял проект на этапе прототипа. Как только мы начали тонко настраиваться, это стало намного менее полезным. Мы никогда не принимали решение "прекратить использование Bootstrap", но к тому моменту, когда проект поступил вживую, мы нашли превосходные компоненты JavaScript и настроили CSS до неузнаваемости.
Простой публичный сайт
Этот сайт предназначен исключительно для маркетинга и должен быть быстро построен. Мой клиент купил шаблон, который им понравился, и мы настроили его в течение нескольких часов.
Код шаблона достаточно прост в навигации. Единственная трудность заключалась в том, что она была написана для предыдущей версии Bootstrap.
Это прекрасно? Нет. Но он сделал работу в спешке и хорошо работает на большинстве устройств с очень небольшими усилиями с моей стороны.
Сайты документации
Я использовал Bootstrap — 100% unustomized — сократить время, затрачиваемое на создание профессионально выглядящей документации для онлайн-систем (например, API-документов). Для этого мне это нравится. Это позволяет мне предоставлять профессионально выглядящий контент с нулевой энергией, потраченной впустую на стиль.
Заключение
Если у вас мало времени и/или опыта, подумайте о Bootstrap. Если вы планируете крупный продукт, будьте готовы к тому, что вам может понадобиться "копаться глубоко" в коде.
Конечно, можно использовать Bootstrap для создания великолепного сайта. И в равной степени это возможно сделать без. Использовать правильный инструмент для задания. Расследование Bootstrap в качестве инструмента кандидата хотя бы один раз, вероятно, стоит того времени. Даже если вы опытны, вы можете подобрать несколько методов.
Недавно я слышал от своих друзей-друзей, как велика бутстрап есть, и как не использовать это - вершина глупости.
Очень немногие технические вещи (или их отсутствие) являются "вершиной глупости". Возьмите выходные и попробуйте интегрироваться в часть вашего продукта. Вы очень быстро увидите его сильные/слабые стороны и начнете определять его ценность.