Статьи

Front-end Frameworks: пользовательские и готовые решения

Дилемма «пользовательский или готовый к использованию» довольно распространена в мире Интернета. Говорим ли мы о CSS, JavaScript, PHP или о фреймворке на каком-либо другом языке программирования, часто возникает вопрос о том, следует ли использовать готовую кодовую базу вместо собственного кода. Это особенно важно для интерфейсных сред, потому что они напрямую отвечают за внешний вид веб-сайта.

Фронтальные структуры, такие как Bootstrap и Foundation , изменили способ создания веб-сайтов. Эти инструменты значительно упрощают создание полнофункциональных веб-сайтов, даже для непрограммистов, с минимальными усилиями и временными затратами. Но такое «автоматизированное» создание сайтов может иметь серьезные недостатки.

Таким образом, остается вопрос: чем проще решение, тем лучше?

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

Преимущества готовых к использованию интерфейсных рам

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

  • Вам не нужно быть программистом . Достаточного знания HTML и CSS в большинстве случаев достаточно, чтобы создать красивый и функционирующий веб-сайт. Все предшествующее программирование уже было сделано опытными разработчиками.
  • Как уже упоминалось, рамочное решение серьезно минимизирует время и усилия, связанные с процессом создания веб-сайта.
  • Подключи и играй функциональность . Нам нужно всего лишь набрать некоторую разметку, чтобы получить полностью функциональный фрагмент кода (хорошо приготовленный суп HTML, CSS и JavaScript), не беспокоясь о стилях, динамическом поведении и так далее.
  • Когда мы загружаем пакет фреймворка, мы можем быть уверены, что у нас есть стабильный и хорошо протестированный код . Это означает, что ваш сайт будет выглядеть и вести себя должным образом во всех браузерах, которые поддерживает фреймворк.
  • Мы регулярно получаем обновления с исправлениями ошибок и новыми функциями для фреймворка.
  • Из-за популярности готовых интерфейсных сред вы можете рассчитывать на помощь сообщества в виде статей, учебных пособий (для процесса обучения разработке рамок) и дополнений и расширений инфраструктуры (для веб-сайта). процесс строительства).

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

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

Итак, легко это хорошо, но …

Недостатки готовых к использованию интерфейсных рам

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

  • Хотя функциональность plug-and-play звучит великолепно, прежде чем использовать ее, вам нужно потратить время, чтобы научиться ее использовать.
  • Поскольку «готовый к использованию» часто означает «один для всех», такая среда пытается решить каждую проблему для каждой отдельной ситуации, с которой может столкнуться внешний разработчик, что приводит к большому количеству ненужного кода .
  • Поскольку он предназначен для массового потребления, вы можете быть почти уверены, что вам понадобится настроить готовую к использованию инфраструктуру для удовлетворения ваших требований , что потребует дополнительного времени .
  • Если вы не сделаете никаких настроек, ваш сайт будет выглядеть как все остальное , что может повредить имидж вашего продукта или, по крайней мере, ничего не сделать для его улучшения.
  • Во многих случаях выбранный вами фреймворк не будет иметь всех необходимых вам компонентов, что может привести к дополнительному шагу сторонней интеграции (возможно, в виде раздутых плагинов jQuery или аналогичных).
  • Вы не можете контролировать код . Если команда разработчиков решит удалить какой-либо компонент из каркаса, вы будете вынуждены принять это изменение. Если вы не хотите этого, вы должны использовать модифицированную или более старую версию своего продукта.

По указанным выше причинам вы не можете достичь некоторых из наиболее важных целей в создании веб-сайтов, таких как уникальность, высокая производительность, высокая совместимость и удобство использования, а также компактная и унифицированная кодовая база и внешний вид. Это очень важно, потому что в веб-разработке, особенно для мобильных устройств, любое небольшое улучшение может оказать большое влияние. Таким образом, «быть средним» не является разумным решением.

Преимущества нестандартных решений

Если вы ищете наилучшие результаты, то пользовательский фреймворк может дать некоторые сильные преимущества.

  • После создания индивидуальное решение сэкономит ваше время и усилия в будущем, поскольку оно было разработано именно для ваших долгосрочных потребностей.
  • Вам или вашей команде не нужно будет изучать, как использовать или настраивать ее, потому что вы будете знать свою структуру наизнанку (хотя новым членам команды нужно будет ее изучить).
  • Он оптимизирован для удовлетворения только ваших потребностей, а не всех . Таким образом, гораздо проще достичь высокой производительности.
  • Вы включаете только то, что вам нужно и так, как вам это нужно . Нет ненужных вещей, нет раздутого кода.
  • Вы имеете полный контроль над кодом и его реализацией . Вы можете быть уверены, что некоторая действительно замечательная функция не будет удалена или устарела в будущих выпусках, если она не соответствует вашей повестке дня.
  • Полная модульность . Гибкость вашей структуры зависит только от вас. Вы можете использовать только те части вашей платформы, которые вам нужны для конкретного проекта.
  • Единая кодовая база . Вы можете свести к минимуму потребность в сторонних компонентах, что означает меньшую совместную работу.
  • Уникальность вашего сайта гарантирована на 100% . Темы по умолчанию в большинстве интерфейсных сред почти одинаковы, поэтому вам все равно нужно создавать свои собственные. Но для вашего фреймворка вы можете создавать уникальные темы с самого начала.
  • Несмотря на начальную дополнительную работу и обслуживание, этот процесс многому вас научит и, таким образом, улучшит ваши навыки разработчика.

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

Недостатки пользовательских решений

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

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

Третье решение

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

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

Является ли «переизобретение колеса» реальной проблемой?

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

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

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

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

Давайте теперь рассмотрим слово « развиваться ». Это слово означает «привести к более продвинутому или эффективному состоянию», «заставить расти или расширяться», «детально разрабатывать или расширять». Другими словами, мы не создаем что-то из ничего; мы улучшаем то, что у нас уже есть. Таким образом, для веб-разработчика это означает написание лучшего и более эффективного кода и его подробное расширение, то есть добавление дополнительных функций поверх существующего.

Как видите, изобретать велосипед — это не то, чего вам следует избегать. Это естественный процесс, и это происходит очень часто. Так что не бойтесь изобретать велосипед.

Еще одна вещь, на которую я хочу обратить внимание, заключается в том, что создание собственной пользовательской инфраструктуры не имеет ничего общего с еще одним рамочным синдромом (YAFS) . Создание пользовательского фреймворка не может «привести к путанице и разочарованию», и вам не нужно «вручную оценивать 300 различных вариантов, чтобы выбрать что-то обслуживаемое». Вы сами создаете фреймворк, а не для массы. Вы точно знаете, что вам нужно, и реализуете именно так, как вы хотите, и учитываете лучшие практики. Таким образом, нет путаницы, разочарования и паралича выбора переднего плана .

И наконец, вот канан для медитации: почему люди «изобретают велосипед», имея своих детей, когда вместо этого они могут усыновить детей других ?! 🙂

Как вы можете сделать правильный выбор?

Чтобы принять правильное решение, вам нужно задать правильный вопрос. Правильный вопрос не «Какое правильное решение?» Правильный вопрос: «Какое правильное решение для меня

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

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

  • Могу ли я создать это?
  • Достаточно ли у меня свободного / дополнительного времени для этого?
  • Разумно ли это сделать?

(Примечание: вы можете быть полностью способны сделать это, и у вас может быть много свободного времени, но если это не имеет смысла, вы не должны. Усилия по созданию совершенно нового продукта могут быть неоправданными.)

Если все ответы на вышеуказанные вопросы положительные, то индивидуальное решение, безусловно, является для вас правильным решением.

Я надеюсь, что эта статья разрешила дилемму «пользовательские и готовые к использованию», и теперь вы сможете принимать правильные решения проще и с большей уверенностью.

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