Тщательно отобранный, восхитительный фреймворк

Я беру здесь у Дэвида Хайнемайера Ханссона. Шесть лет назад он написал Rails - это омакасе, чтобы выразить свое представление о том, что делает восхитительный программный фреймворк: он тщательно отобран и основан на опыте. Я так же думаю о Vue.js.

Вот выдержка из сообщения DHH:

В этом мире существует множество программных сред à la carte ... Я хочу это для моей ORM, я хочу это для моего языка шаблонов, и давайте закончим с этой библиотекой маршрутизации ... Это очень популярный способ использования программного обеспечения. Rails - это не то. Рельсы - это омакасэ. Команда шеф-поваров выбрала ингредиенты, разработала API-интерфейсы и установила порядок потребления от вашего имени в соответствии со своим представлением о том, что может сделать вкусный фреймворк с полным стеком. Меню может быть как индивидуальным, так и необычным. Он не рассчитан на то, чтобы понравиться всем и везде.

Мне нравится эта метафора, потому что а) Rails, включая все его варианты API и багаж, очень хорошо относился ко мне на протяжении всей моей карьеры в сфере технологий, и б) я люблю немного агэ-тофу.

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

Наслаждайтесь едой из нескольких блюд

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

Предложение включает в себя Vue Router, Vuex для управления состоянием и тестовые утилиты Vue для модульного тестирования. С помощью Vue CLI разработчики также получают разумные настройки по умолчанию в конфигурации Webpack для горячей замены модулей, разделения кода, встряхивания деревьев, эффективного долгосрочного кэширования, имея при этом доступ к предварительно настроенным подпискам для TypeScript, Progressive Web Apps, ESLint. , и несколько участников тестирования.

Очень удобно знать, что за этими проектами стоит команда Vue, и что они соответствующим образом дополняют друг друга в моих приложениях Vue.js.

Замены стоят немного дороже

Так что вы можете не соглашаться со всем в меню. Это нормально! Многие настройки по умолчанию легко изменить с помощью настроек или надстроек. Хотите использовать Redux? Без проблем! Синтаксис в стиле класса? Заказчик всегда прав. Не любите фигурные скобки в виде усов в шаблонах? Вы можете это изменить! Может быть, вы не можете смириться с тем фактом, что во Vue есть шаблоны, и предпочли бы использовать JavaScript. Что ж, это тоже нормально; добавьте еще один плагин Babel, и вы можете писать компоненты Vue с JSX внутри функций рендеринга, как React.

В качестве другого примера давайте поговорим о Webpack. Я считаю, что это фантастическая программа. Я месяцами изучал, как это работает. Я сделал доклад на конференции об этом. Однако обычно большинство из нас, в том числе и я, не хотят поддерживать индивидуальную конфигурацию от проекта к проекту, когда у нас есть сроки, которые нужно соблюсти. Значения по умолчанию Vue CLI в порядке. Все еще нужно настроить? Vue предоставляет API для расширения базовой конфигурации, упрощая обновление, чтобы воспользоваться преимуществами поддерживаемых платформой улучшений. Также ничто не мешает вам отказаться от Webpack для Parcel или Rollup или любого другого транспилятора или сборщика модулей, который вы предпочитаете.

Самоуверенный повар

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

Постоянный опыт для всех клиентов

Скотт Молинари прокомментировал мой предыдущий пост:

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

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

Когда мы с покойной женой жили в Нью-Йорке, нашим любимым рестораном был Зенкичи. Кухня - японская пивная, но впечатлений гораздо больше. Если вы добрались до района Вильямсбург в Бруклине, вам стоит попробовать.

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

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

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

Меню от шеф-повара не нужно зарезервировать для особых случаев в веб-разработке. С Vue.js у нас есть фреймворк, который дает нам все ингредиенты, необходимые для создания выдающихся пользовательских интерфейсов. Это также позволяет относительно легко менять пункты меню в соответствии с вашими предпочтениями. Так что, казалось бы, ты можешь съесть свой торт и съесть его? Это еще одна причина, по которой я считаю Vue.js таким полезным.



Изначально опубликовано на rossta.net.