Как стать автором
Обновить
3195.26
RUVDS.com
VDS/VPS-хостинг. Скидка 15% по коду HABR15

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

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


Предыстория


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

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

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

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

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

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

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

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

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

В чём суть Quasar?


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

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

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

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

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

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

$ quasar build

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Итоги


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

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


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

Теги:
Хабы:
Всего голосов 31: ↑30 и ↓1+29
Комментарии18

Публикации

Информация

Сайт
ruvds.com
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия
Представитель
ruvds