📜 ⬆️ ⬇️

Quasar 1.0: a new useful tool for Vue developers and not only for them.

The author of the material, the translation of which we publish today, is working on the Quasar framework. It is a full-featured, expandable open-source tool for developing modern applications for various purposes. It is built on the basis of the popular front-end framework Vue.js and uses the capabilities of Node.js, Webpack and Babel. Quite recently, in early July of this year, the first stable release of Quasar was released.


Prehistory


Before I begin to talk about the capabilities of Quasar, I would like to briefly tell you about the history of this framework.

A few years ago, I, as I believe, many of those who read it, worked in a corporate environment. At a certain point I am tired of all that accompanies such work.
')
I was not bothered by the troubles caused by conflicting corporate tools. I'm tired of fighting with incompatibilities arising from their interaction. I terribly wanted to lead a simple life in which I could use my programming knowledge and create something meaningful, something that brings inner satisfaction. Something that can make the world better.

In 2015, I used a lot of tools to create projects of various types. These were applications for iOS and for Android. These were web applications, web sites and PWA, desktop applications for Windows and for macOS.

Each type of application requires a unique set of tools. These tools are used to design interfaces, to write code, to prepare projects for publication. I saw this reality, but could not get rid of the dream of one universal tool that can replace all others.

I wanted to find some unique framework that would allow to solve all the complexities of developing applications for different platforms. One that could be used to create different types of applications that would be based on a single code base.
I could not find such a fantastic tool and decided to create it on my own.

It was a colossal task. I started from scratch and understood that I need a foundation in the form of a powerful basic framework, the capabilities of which can be expanded and improved to create the universal system that I painted in my imagination.

At this time, became famous Vue.js. After I explored the structure of this framework, learned how to build applications on its basis, how to expand its capabilities, I decided that it would be an excellent basis for the new framework that I planned to create. This, among other things, meant a significant saving in development time.

It was then that the Quasar framework was born.

What is the essence of Quasar?


The Quasar framework, at a conceptual level, is a universal set of components that are used to create modern applications. Among such components, for example, you can select dialog boxes, buttons, input fields, tabs, panels, tooltips, toolbars, notification icons, tools for selecting dates, colors, icons. These are cards, avatars, banners, loading indicators. At the same time, Quasar uses both simple components, such as the same buttons, and more complex ones. For example, these are fields for displaying chat messages, activity charts, tables, calendars, video players, WYSIWYG editors, pull-out panels, ribbon menu systems, and much more.

All of these components are based on Vue.js. Thanks to this, working with them will seem completely familiar to all Vue developers who, while improving their projects, are looking for a simple and extensible system of components.

In the just released first version of Quasar, there are 123 components. This number is constantly growing thanks to the standard tools in it for creating custom components.

Quasar, in addition, has a built-in system for creating production versions of applications. It all works from the command line.

After installing one global dependency and creating a project, you need literally one line of code to build applications aimed at Quasar supported platforms. At the same time, applications for iOS, Android, Windows, macOS, Linux, and also web applications are created on the basis of a single code base.

As a matter of fact, here is the team in question:

$ quasar build 

When working with Quasar, you can forget about the difficulties associated with Webpack and Babel, the tree-shaking algorithm and other ways to optimize bundles. All these issues are automatically resolved internally by the framework. At the same time, the one who uses Quasar has the opportunity to intervene in the operation of his mechanisms and set up everything exactly as he needs.

Access to all these powerful features is designed to simplify and speed up the application development process using Quasar.

The path to the first version of Quasar


In the early versions of Quasar, after their release, many changes had to be made. Often these were changes breaking compatibility. I am sure that many of the first users of the framework did not like it. But it is a necessary evil, “growing pains,” arising from the iterative nature of Quasar’s development.

Versions from 0.13 and up to 0.17 have been used to improve the framework. Starting from version 0.17, Quasar has finally acquired a suitable structure. She helped form a stable foundation conducive to the growth and expansion of the framework. At the same time, this structure made it possible to dispense with in the future without deep changes affecting compatibility.

At this point we decided to freeze the development and conduct a full refactoring of the project in order to organize and optimize what has already been created.

Notice above that I said "we." I did it because by the time I already fully realized the scale of the project and realized that I could not create it alone. As a result, I started to form a team of programmers in order to develop Quasar with them.

First I was joined by one programmer. Then - the second, the third. This happened until 8 programmers were in the main team. Now there are as many specialists in our team as there were after it was formed. These are experienced developers, they complement each other in terms of their knowledge and skills.

The main team is supported by volunteers who are engaged in user support, documentation, work with the media and other similar matters. In addition, around Quasar has developed an active community of developers. Members of this community share experiences that help them all grow professionally. I see all this as something like a “big family” - a group of people gathered around a common goal and helping each other to reach new horizons.

In particular, our Discord-chat is a lively place, conversations in which, it seems, never stop. They talk about a variety of things. For example, developers willingly share tips on working with the system.

Quasar 1.0 is a project that takes a lot of time from the core team members and volunteers. Since we decided to freeze the development branch of one of the earlier versions, more than 4000 man-hours have been spent working on Quasar.

In addition, the Quasar user community was actively involved in improving the project code. This process went on for 5 months. First came the open beta version of the product, then released the release candidate. All this gave us the opportunity to release the first version of the framework, which is already, so to speak, tested in battle.

The release of Quasar v1 Stable is an important milestone for the project. But this is only the first step, only the basis for those wonderful things that we want to realize in the future.

This release was created with flexibility and scalability. But we already have a large project development scheme, which shows the direction of the future Quasar movement. In particular, in future versions of the framework, several new target platforms will appear for which projects can be collected. For example, these are Browser Extensions, Webview, and Capacitor.

Recycling the framework required streamlining its core internal systems and processes. This is what will give Quasar the opportunity to grow in the coming years and still remain relevant. This means that its code, as it develops, will not have to make changes that violate compatibility.

So suppose you are a Vue developer (or a developer who uses something else). At the same time you want the following:


If this is the case, then you just can't get past the latest release of Quasar.

Results


This material only briefly describes the capabilities of the Quasar framework. Its author says that he plans to write a few more articles on the technical features of the framework.

If you are interested in this framework, here are some useful resources.


Dear readers! Do you plan to use Quasar in your projects?

Source: https://habr.com/ru/post/459300/


All Articles