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

Автор оригинала: 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 в своих проектах?

RUVDS.com
821,62
RUVDS – хостинг VDS/VPS серверов
Поделиться публикацией

Комментарии 18

    0

    Документация весьма подробная)

      +1
      Начал изучать Vue в марте 2017 с написанием собственного приложения на кордове под андроид.
      Квазар понравился компонентами и тем, что был изначально расчитан под кроссплатформенность + готовые шаблоны под кордову и электрон.
      Миграции с версии 13 и 14 напрягали, также с внедрением собственной конфигурации сборки стало удобнее.
      Хорошо что проект не загнулся и вырос из поддерживаемого одним человеком репозитория в широко используемый фреймворк.
        +1

        Не холивара ради, чем он лучше того же ionic?

          0
          Потому что ионик на ангуляре, с Vue его можно использовать только в виде вебкомпонентов.
            0

            Ionic поддерживает angular, vue, react

              0
              Да, это я пропустил, не слежу за ним после миграции на 2й ангуляр.
              Квазар можно считать как Ионик, только под Vue.
            0
            Набором компонентов… Tree, Timeline, Knob, LinearProgress например. А сейчас еще пилится полноценная замена fullcalendar + resourceplanner — тогда вообще будет замечательно
            0
            Хм, достойная конкуренция vuetify. Либо автор вдохновлялся vuetify либо vuetify вдохновлялся Quasar.

            Порадовало работа плагина Notify (всплывашек может быть сколько угодно)
            Порадовал компонент Knob. Под мобильные девайсы заходит отлично…

            Не нашел как использовать Chip's в input, как тут

              0
              q-select: multiple use-chips :)
              0
              Давно слежу за развитием этого проекта, ребята реально молодцы, видно что вкладывают душу, качество компонентов отличное. Планирую попробовать для небольшой админки
                0
                Начал использовать его с версии 0.17 и он мне сразу очень понравился.
                Перешел на 1.0.0-rc.6 сразу не глядя потому что для меня там все прозрачно, и оказался прав — переход обошелся без потрясений.
                Огромное спасибо ребята!
                  0
                  Я бы почитал за/против в сравнении с Nuxt+Vuetify

                  Лично мне Quasar тоже симпатичен, MD 2.0 и всё такое, но вникать в него времени пока не было.
                    0
                    нода, вебпак, бабель и вью. хороший набор!
                      0
                      Причем здесь Node.js? Потому что он вебпак выполняет? Тогда любой фронт можно сказать основан на ноде?
                      0
                      Используем в приложении где-то с 300 вьюхами… Начали с 0.15… Всё очень складно работает. Единственное на 1.0 переползали 3 недели… Но там много чего перелопатить пришлось, заодно и вёрстку унифицировали.
                        0
                        Если это перевод, то почему название статьи на медиуме:
                        Why every Vue developer should be excited by Quasar 1.0

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


                        Просто Quasar далеко не новый… Но да, наконец-то он дорос до v1.0

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

                        Самое читаемое