Хабрахабр

[Перевод] Quasar 1.0: новый полезный инструмент для Vue-разработчиков и не только для них

Автор материала, перевод которого мы публикуем сегодня, занимается работой над фреймворком Quasar. Это — полнофункциональный расширяемый опенсорсный инструмент для разработки современных приложений различного назначения. Он построен на базе популярного фронтенд-фреймворка Vue.js и использует возможности Node.js, Webpack и Babel. Совсем недавно, в начале июля сего года, вышел первый стабильный релиз Quasar.

Предыстория

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

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

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

Это были приложения для iOS и для Android. В 2015 году я использовал массу инструментов для создания проектов различных типов. Это были веб-приложения, веб-сайты и PWA, настольные приложения для Windows и для macOS.

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

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

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

После того, как я исследовал структуру этого фреймворка, узнал о том, как создавать на его основе приложения, как расширять его возможности, я решил, что он станет отличной основой для того нового фреймворка, который я планировал создать. В это время получил известность Vue.js. Это, кроме прочего, означало и серьёзную экономию времени на разработку.

Именно тогда и родился фреймворк Quasar.

В чём суть Quasar?

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

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

Это число постоянно растёт благодаря имеющимся в нём стандартным инструментам для создания пользовательских компонентов. В только что вышедшей первой версии Quasar имеется 123 компонента.

Работает это всё из командной строки. Quasar, кроме того, имеет встроенную систему создания продакшн-версий приложений.

При этом приложения для iOS, Android, Windows, macOS, Linux, а также веб-приложения, создаются на основе единой кодовой базы. После установки одной глобальной зависимости и создания проекта, для сборки приложений, нацеленных на поддерживаемые Quasar платформы, нужна буквально одна строчка кода.

Собственно говоря — вот команда, о которой идёт речь:

$ quasar build

При работе с Quasar можно забыть о сложностях, связанных с Webpack и Babel, об алгоритме tree-shaking и о других способах оптимизации бандлов. Все эти вопросы автоматически решаются внутренними средствами фреймворка. При этом у того, кто использует Quasar, есть возможность вмешаться в работу его механизмов и настроить всё именно так, как ему нужно.

Доступ ко всем этим мощным возможностям оформлен с прицелом на упрощение и ускорение процесса разработки приложений с использованием Quasar.

Путь к первой версии Quasar

В ранние версии Quasar, после их выпуска, приходилось вносить много изменений. Часто это были изменения, ломающие совместимость. Это, уверен, не нравилось многим из первых пользователей фреймворка. Но это — необходимое зло, «болезнь роста», возникающая из-за итеративной природы разработки Quasar.

13 и вплоть до 0. Версии с 0. Начиная с версии 0. 17 использовались для улучшения фреймворка. Она помогла сформировать стабильную основу, способствующую росту и расширению фреймворка. 17 Quasar наконец обзавёлся подходящей структурой. При этом данная структура позволяла обходиться в будущем без глубоких изменений, влияющих на совместимость.

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

Сделал я так из-за того, что к тому моменту я уже вполне осознал масштабность проекта и понял, что создать его в одиночку не смогу. Обратите внимание на то, что выше я сказал «мы». В результате я приступил к формированию команды программистов для того, чтобы заниматься разработкой Quasar вместе с ними.

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

Кроме того, вокруг Quasar сложилось активное сообщество разработчиков. Основную команду поддерживают добровольцы, которые занимаются поддержкой пользователей, документацией, работой со СМИ и прочими подобными делами. Всё это видится мне чем-то вроде «большой семьи» — группы людей, собранных вокруг общей цели и помогающих друг другу достигать новых горизонтов. Члены этого сообщества обмениваются опытом, который помогает им всем профессионально расти.

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

0 представляет собой проект, потребовавший от членов основной команды и добровольцев огромных затрат времени. Quasar 1. С того момента, как мы решили заморозить ветку разработки одной из ранних версий, на работу над Quasar было затрачено более 4000 человеко-часов.

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

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

Но у нас уже есть большая схема развития проекта, на которой видно направление будущего движения Quasar. Этот релиз был создан с учётом гибкости и расширяемости решения. Например — это Browser Extensions, Webview и Capacitor. В частности, в будущих версиях фреймворка появится несколько новых целевых платформ, под которые можно будет собирать проекты.

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

При этом вы хотите следующего: Итак, предположим, вы — Vue-разработчик (или разработчик, который пользуется чем-то другим).

  • Упорядочить работу с компонентами.
  • Упростить процесс сборки приложений.
  • Создавать приложения для всех основных платформ.

Если это так — то вы просто не можете пройти мимо свежего релиза Quasar.

Итоги

Этот материал лишь очень кратко описывает возможности фреймворка Quasar. Его автор говорит, что планирует написать ещё несколько статей, посвящённых техническим особенностям фреймворка.

Если этот фреймворк вас заинтересовал — вот несколько полезных ресурсов.

Уважаемые читатели! Планируете ли вы пользоваться Quasar в своих проектах?

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть