Details?

In the lead-up to the launch, we will be publishing a weekly series of articles by Scott that go into depth about the new components. The miniseries is called “Have You Seen” (HYS) and you’ll be able to read all about it on our Steem and Medium blogs. The two images above are from two of the first installments in this series.

Behind the Scenes

The first thing that you will notice is that we have switched to our brand new NPM organisation for packaging: @quasar

We have split the old quasar-cli into @quasar/cli && @quasar/app. To be clear you will get:

- an optional global install package @quasar/cli — which is used to create new projects and brings the convenience of having quasar commands globally available

- the local package @quasar/app — which is what will “live” within your project

By splitting these two, we want you to enjoy a faster install of both the global CLI as well as the local package — and fewer dependencies within your project. To be clear: @quasar/cli defers to the locally installed @quasar/app in each project. Finally, @quasar/cli will also support the current “quasar serve” command along with “quasar create” (replacing “quasar init”).

What you should never notice, however, is that in order to make sure that our packages are safe and don’t introduce regressions, they will be run through a CI that includes unit, snapshot and e2e testing. This means that we won’t even be able to publish stuff that breaks.

Speaking of testing…

We have been working really hard to configure testing harnesses that not only cover units deeply within node.js, Vue and Quasar contexts, but also effortlessly run e2e tests for web, cordova and electron.

Test all the things.

The best part about the experience that we have gained in testing is that it will be made available to you as well. To profit (and install your preferred testing framework), you will merely need to add the respective package(s) from the @quasar/testing monorepo, such as:

- @quasar/testing-unit-jest (with sample tests and istanbul coverage)

- @quasar/testing-e2e-cypress (extended with quasar methods)

- @quasar/testing-e2e-webdriver (prerigged for all modes)

- @quasar/testing-quality (with lighthouse)

- @quasar/testing-security (with snyk and XSStrike)

- @quasar/testing-loader (manage <test> templates within your SFC’s)

As time goes on, we will be introducing community-built testing harnesses — so if your favourite is missing, you will be able to fork the monorepo, construct a new package and make a PR. After vetting, it will become available to everyone else — and you will be our newest hero!

Code Quality and Safety

By the way, one of the tools we used to help us generate the test primitives was our new d.ts typescript definitions (which we in turn actually generate from the codebase). The great part about this is that you can use these typedefs yourself and immediately gain all the benefits of strongly typed code in your own project (should you choose to go the **ts** route…) This is one of the first steps in Quasar’s eventual transition to using typescript internally, keeping in-line with the Vue roadmap. (More about typescript below…)

The Docs

Probably sooner than later, you will discover that the docs website has been completely reinvented. For starters, we are using Quasar SSR to serve these pages — which means that it is less complicated to keep the docs up to date. Also, there are embedded code-pens — where you can actually play with the code. We hope that using the docs becomes a great pleasure!

Further, because we have such an enormous global audience, we have partnered up with DaVinci via Utopian.io and are using the crowdin translation service to translate all the docs into a bunch of different languages.

After the launch…

…is before the launch. There are a lot of little (and not so little) things that didn’t absolutely need to be released with 1.0, but that we are really excited about anyway — and are “coming soon”!

Upgrading

One of the first things that we will do after 1.0 launches is to create a guide that will assist you in upgrading your projects. We really want you to be successful with this undertaking, so please join us on the Discord channel and let us know where your pain points are.

Typescript

As hinted at above, we will be refactoring all of the components to use typescript, which will assuredly make many of you happy (and keep Quasar in step with the direction that vue itself is taking.) [EDIT: You will not have to use Typescript to build your own projects, you CAN still use ecma if that’s your thing…]

Snippets

Up until now, you have had to search through the Discord server, wade through questions on the forums or hope that there is an up-to-date solution floating around stackoverflow. Usually people just need a perfect snippet, and we are working on a website specifically for this where you can post your solutions for the benefit of the community (and of course also your convenience of knowing where to look for the answers you personally wrote).

Theming

Making and changing themes has been notoriously tricky in legacy Quasar — often involving countless CSS overrides and using DOM element inspection to figure out what to target to match your pixel-perfect layout. Merely changing colors cannot be called theming, which is why we will be releasing a system for creating, using and sharing themes.

Lots of starter kits

We are already working together with Byteball to create a cryptocurrency focussed starter-kit that will be the very first official “extended starter kit”. This pattern will let you get even faster scaffolding of common things you need to get your project into active development. (This will be perfect for themed hackathons, by the way…)

i18n

Internationalization has always been a real pain to set up and get right, and we have some battle-tested ideas about how to help you rig your project, manage your translation strings and assist with invaluable lazy-loading on massively multilingual projects. For SSR getting your translation hooked on prefetch is a must for your SEO, so stay tuned to find out how much you’ll love what we are bringing to the multi-culti dinner party!

a11y

Remaining accessible is a must for any serious interface — and this concern needs definite attention with hyper-reactive front-ends. To help you (and your users) we will be enhancing all of the components with accessibility properties and empowering you to run **a11y** audits alongside your other quality controls in your production pipeline.

Icons

The icon-factory is a long-awaited addition to the Quasar Framework, with which you will be able to create all the icons you need for your application, whether Cordova, Electron or SPA. It is delivered as a webpack plugin that will create the assets that you specify (or configure) whenever the source image changes.

Media Player

We are also excited to be publishing a new component for media playback by Hawkeye64. This HTML5 component will let you stream audio or video files to all browsers — using local or remote resources. It has tons of configurations — and it comes ready to integrate subtitles and even overlays (like channel icons)!

Legacy Quasar

With absolutely everything being refined and in some cases entirely redesigned, you might be asking yourself the following: Will there be compatibility issues with my pre-1.0 Quasar apps?

If you have been sticking it out with Quasar for a while, you might remember some of the bellyaches around the transition to Babel 7 and Webpack 4 that we undertook with the launch of 0.16. We know that keeping up with Quasar has taken a lot of effort, and that is why we froze development on 0.17 so we could get 1.0 out the door. Those of you who stay up to date will have noticed that we still managed to put out a few updates to 0.17 to fix issues that cropped up.

Migrating will be tricky, but as always we will create and maintain a migration documentation page that will help you navigate your way to 1.0. If, however, you are unable to spend the dev-cycles to port to 1.0, we want to reassure you that we plan to continue this pattern of back-porting bugfixes and keeping all of the dependencies up-to-date.

O ur promise to you: We will maintain legacy Quasar at least until the end of 2019, so that you can take your time to transition to the best edition of the best framework out there.

THANKYOU

I would like to give special thanks to our staff:

- pdandan

- nothingismagick

- smolinari

- PhearZero

- francesco

- Hawkeye64

- AlphaRolo

- KevinMarrec

- murbanowicz

- a46ae

- ross

- Neven

- Ross

- MaxMatteo

- GastroGeek

Also big thanks to the sponsors and donors who have stuck with us over the past several years! You are awesome!!!

And last, but not least, thanks to every single member of our awesome community of open-source afficianados. You are the inspiration behind Quasar!

Razvan Stoenescu