Would you use Vue + Quasar to build a Marketing site?



  • The answer is “yes”. You can use Quasar to build any website application. The question is, how much time do you have to invest in building it? Quasar helps a lot, when it comes to building any kind of application. However, it is just (and I mean just lovingly as that “just” is a huge amount of savings in effort for you) the building blocks for the frontend for a number of application types and platforms, i.e. web, mobile, desktop, browser extension, etc. If you are building a static site, like Quasar’s docs page, then you can run with just Quasar and be very happy. However, if you wish to run with something even slightly more advanced, like you want user interaction, or better management of your content, then you need a backend. Now your effort has just doubled. There are pre-built backends like Firebase. They can and should save you a lot of time and effort. Once you’ve made those technical decisions, then it’s off to work to build your app.

    Or, you can use something “ready built”. Like Wix or Wordpress… (yuckola 🤢 🤮 , if you ask me)

    So, it’s not a matter of “should I use Quasar for a marketing site”, but rather, do I want to build it from what Quasar has to offer to that of what I need (and you need to be clear on what it is you need)? Or, do I want to go with something that is more inline (as in already built for me to save time) with offering content management and a built in site design tool, etc.? Quasar doesn’t offer content management or a site design tools directly. A CMS is an application. So, if you do want something more advanced, your question would be more like, should I build something to manage my content with Quasar or should I take something already finished? This in turn means, I’ll go back to my first question made. How much time do you have to invest in building your application? Do you want to build the application? Do you have the knowledge to build the application? Or do you want to save time and just get something done and out there?

    About initial loading time mentioned above and making that a decision criteria. The Quasar site loads fast, doesn’t it? It’s a PWA, meaning you can use it like a web app on mobile too and go offline and still be able to use it (aint that cool?), yet it is searchable via Google and co. Quasar is built to perform. I highly doubt the UMD will get you better (initial) loading time, because it is Quasar’s kitchen sink UI package (i.e. all the components). Also, if you go the UMD route, you are tying your hands a lot and if your app gets to any decent size, you’ll end up not happy. UMD is mainly meant to offer a softer implementation path to adding Quasar to an existing frontend code base. It’s NOT meant for building out full apps with a future. If you go the CLI route, which I highly recommend, then you get tree shaking of the components and a smaller app package in the end (i.e. optimized load times) and you’ll still have the true power of Quasar at your finger tips. With UMD, you lose that option. In other words, if you are starting off from scratch and want to build an application, DO NOT go with UMD. It shouldn’t even be considered. 🙂

    Scott



  • @s-molinari
    Scott, I can’t agree more. I’m now struggling with all those decisions. Website is just a part of a bigger picture.

    The full solution:
    1) Web API REST service (or I might go wth GraphQL server) developed .Net Core. This is my backend data service.

    2) A backend Cron server that connects to the same DB server to run all background processes and jobs.

    3) The actual Application is a multi tenancy app (Consumers & Vendors). The front end will be written in Vue + Quasar. For data it’s either using REST or GraphQL.

    4) I need a System Admin app to manage tenants, subscriptions, payments and basically managing a full SaaS solution. For this I’m debating in ASP.Net core razor or Blazor (similar to Vue) or in Vue. ASP is the fastest to get there.

    5) Then comes last and that is the Marketing site that has lots of static content, but needs to show live and real data from the SaaS solution as part of daily content. I can write it as a server-side app in ASP.Net or Blazor. Vue was a consideration that I opened this discussion.

    Hope this gives you a better picture.
    And thank you for engaging and helping.



  • Sounds like a lot of work. 🙂 Is ASP in the picture because of you or your teams’ current knowledge? Just wondering.

    Scott



  • @s-molinari

    The world of ASP, offers a lot. For front end, for backend, for building REST servers, for building background services. ASP is based on .Net
    I have a lot of experience in .Net and ASP world. This experience will help me doing all the backend much faster than if I start with something new.
    ASP is basically is a big investment I’ve made in. But ASP can’t match the frontend power of Vue. So I’m trying to integrate the two.



  • Ok. Got it. Thanks for the explanation. 🙂

    Scott



  • @s-molinari said in Would you use Vue + Quasar to build a Marketing site?:

    PWA

    You said that the Quasar website is a PWA and yet it is searchable via Google and co.

    Why is that? Is the Quasar website a combination of PWA and SSR?



  • Is the Quasar website a combination of PWA and SSR?

    Correct. @dobbel

    Scott



  • Update;

    AS I spent more time to see what tools I can use that gives total flexibility without spending too much time, I found a special Editor in Wix that gives you total flexibility to do design & code. It is called Corvid by Wix
    https://www.wix.com/corvid

    They’re also coming out with a newer editor called Editor X. This one is going to be more advance.
    https://www.wix.com/editorx

    This will allow to build the marketing site without using bloated templates and design it my way visually and code it with JS.

    Here is a series of Videos showcasing Editor X if you want.
    https://www.youtube.com/watch?v=1khQPRQVCbM&list=PL0y_aclKYoYg8L9xRbIoD0qhr7GfqEP2y

    I thought I share these with people in the same boat as I am.
    Enjoy!



  • I think the flexibility and the lack of a ‘ready-built’ system is a problem with OSS in general. All those ready-built systems are great if you use them exactly like prescribed. Something like Wordpress works great for a simple blog. If you want it to look different you will have to add a theme. If you want functionality X, you add a plugin. What you end up with is a big ball of plugin spaghetti and the corresponding security concerns (https://www.cvedetails.com/vulnerability-list/vendor_id-2337/product_id-4096/).

    The ‘best’ solution is to built your own system starting from scratch and thinking everything through. But who has the time or money for that? People just want something that works, and thus they resort to Wordpress. I have no experience with Wix, but personally I would like to be in control of my own website and know what web technologies it uses. And of course it is a commercial business, so after you assembled your free website and lack feature Y, it is probably available for some extra costs.

    Personally, Quasar is the best I’ve come across yet. It provides the building blocks with clear instructions on how to use them (and maybe more importantly, how NOT to use them). And I am probably biased, but I am pretty sure that the quality of Quasar and Vue is higher than that what Wix offers, but there is no way to know because Wix seems to be closed source.

    Anyways, there will always be the dilemma of full flexibility vs simplicity. The average person wants something that just works, the experienced developer want to be able to use things his way. In any case, you should use the tool that fits you best, but in current times you have to think about security. With the new regulations you have to take responsibility for any data leaks caused by using a ‘simple’ option.



  • @stefanvh

    Well my friend, everything you said, is what has been going on in my head. Discussing it here has certainly helped to clear my head.

    Here are my recent findings:

    Wix - for developers has a new editor called Editor X (in Beta). Which allows you to build sophisticated UI fully visually, than coding HTML & CSS.
    For developers, they also allow you to write JS code and access outside REST APIs, build collections and use it in your UI. You can even do full CRUD with backend. So they give you “some” components for that.
    Unfortunately, since Wix backend system servers millions of users on virtual machines, Wix overall experience IS VERY SLOW, especially on Mobile. This is a huge turn off to consumers going to your Marketing app where the marketing app also provide live data from REST service.
    Their tooling and Dev framework is nice, but they’re over utilized.

    WebFlow - A much more advanced platform to build UI, CMS and eCommerce. You get a great editor, API access, Live CMS from DB or your REST service.
    The issue is, it has a steep learning curve. It’s great for those who want to become “WebFlow” masters and freelancer. Webflow is perfect for those group.
    In my case, I’m a software engineer who builds backend & frontend systems as a full solution. And sometimes the marketing CMS that is not fully static. For example my new project, the marketing site needs to fetch live data to show to prospects who visit the marketing site. IT IS THE DATA that attracts the prospects, not static content.
    This post was mainly to address this case, where marketing site is like half marketing and half app.

    And that brings us to your last point, which was my original question. How about building a hybrid marketing/application system using Vue and Quasar. Vue & Quasar, provide all the components we need to build such system. Logically makes sense. But is there something out there that is faster to build? To me Wix & Webflow would derail my main path of building LoB solutions. I’m not a freelancer to website designer.

    A very good example of such Hybrid system is amazon.com. If you study it carefully, you see how they blend marking info with live data from their Ecom. where you learn about products and shop at the same time.
    My projects needs consumers to go to the site, to experience a “Marketing site” and if they’re logged in, they get a lot of “Application” features.

    My latest thought is merge my App with Marketing all built with Quasar, using Lazy loading to differ loading when needed. This is my ultimate desire.

    Thanks for reading…



  • @qyloxe
    I’m interested in why you rate this:

    4- live data - option 2 - the data are refreshed after user action (filter, select, click on chart)
    UMD - 3
    SSR - 2
    SPA - 5
    

    For an SSR site, doesn’t Vue take over after the initial load of the page from the server side?
    Eg. after the initial load an SSR page becomes the exact same thing as the SPA.

    Therefore I would rate this category the same for SPA and SSR…

    Or do you disagree?



  • @mesqueeb

    I agree with your point. I was thinking of the same. The initial load of static content would take longer, but if I underestand it correctly, for live data should be the same as SPA.



  • @mesqueeb said in Would you use Vue + Quasar to build a Marketing site?:

    @qyloxe
    I’m interested in why you rate this:

    4- live data - option 2 - the data are refreshed after user action (filter, select, click on chart)
    UMD - 3
    SSR - 2
    SPA - 5
    

    For an SSR site, doesn’t Vue take over after the initial load of the page from the server side?
    Eg. after the initial load an SSR page becomes the exact same thing as the SPA.

    Therefore I would rate this category the same for SPA and SSR…

    Or do you disagree?

    option 2 - with SSR you have to reload pages because there is seldom a need to just watch on one q-table 🙂 so with every page you will need to download whole dataset, there is non trivial reverse proxy confguration in terms of cache etc., in result your backend/API will be much more complicated and tied to your production solution.

    With SPA you can have many data categories kept locally (In memory), you can denormalize them with vuex-orm, you can refresh, reload only single records or data changes or new data after user action, you have access to more client oriented data libraries - even GraphQl or pouchDB or anythin, you have very trivial reverse proxy configuration and production server, you have simpler rules for access control because basically you just need to authorize simple endpoints of API calls and there are also more technologies to choose - oauth, jwt, own tokens etc.

    Please remember - this is my observation in the specific context of OP question - I can easily think of different situations where I’m totally wrong ha ha
    Anyway, Quasar is great because you just have those options. It is amazing, that even if you choose one option, changing your business in the future to the other will not be a total nightmare (ok, should not).



  • I think @mesqueeb is right. You shouldn’t have to reload a SSR page. Any data could be changed reactively and you won’t need to rerender or reload the page.

    @Ben-Hayat
    I think using Quasar with a proper backend is definitely a good option, but probably a lot of work for a single developer. The ‘best’ way would be to collaborate with other developers needing the same functionalities and create an OS project.
    For example, I’d guess that a CMS built with Quasar is something a lot of people could use, but someone has to do the heavy lifting to set something up.



  • @stefanvh said in Would you use Vue + Quasar to build a Marketing site?:

    I think using Quasar with a proper backend is definitely a good option, but probably a lot of work for a single developer. The ‘best’ way would be to collaborate with other developers needing the same functionalities and create an OS project.
    For example, I’d guess that a CMS built with Quasar is something a lot of people could use, but someone has to do the heavy lifting to set something up.

    The CMS, is only a byproduct of the main app and is not my main app or I should say bread & butter. So it would distract me to spend more time that I need.



  • I get that, it was just an example of functionality which I had been looking for but could not find for Quasar. In your case, I cannot imagine that you are the only person on this planet that needs the marketing functionality. So the challenge is finding the right people to set something up. If you intend to learn a new skill or language in order to create this new marketing app, using an open source framework (Vue) seems better to me personally than a vendor locked solution (Webflow). I’m also sceptical about visual editors as things might look great once rendered, but the actual code can be a mess. Personally I like the simplicity of Vue and knowing exactly what it does.

    For your application I think the main concern is how you would implement the backend logic. Quasar and Vue will pretty much work out of the box if used correctly. A database, multi-tenancy, ACL, backups, API etc is much more complicated to implement. The ‘easy’ solution would be to use a framework (e.g. Laravel), but my experience is that you always run into something that you need to do a bit different than is supported. And ‘hacking’ the functionality into the framework usually causes more problems than it solves.

    As qyloxe said, ideally you should know exactly what you want to implement and how you want to implement it before choosing a tool to use. This in my opinion is the main challenge.



  • @stefanvh

    You’re right and that’s why I’m looking at all the parts that would make up the solution.

    So the past two days, I created a comparison sheet doing my project in .Net + Vue, vs. Firebase (as a full service) + Vue.
    This has helped a lot to see what’s in-front of me, what I have to do on my own and what the platform offers out of the box to get the solution up and running.

    I saw a fairly large and advanced commercial app written in Vue (they wrote all their own UI components) and when I asked them how they get the app to load so fast and everything snappy, they said they use lazy loading to break down the app to modules that users need.
    And that has been my direction too. A small module that just loads the core of the app first, to see if user is logged in or not. If not, then the marketing module gets loaded. If yes, the basic consumer module gets loaded. From there, if user needs Admin features, Admin module will get loaded.
    So, doing so, I can incorporate a mini CMS feature set right into this app, and not using Webflow or Wix or anything else. Just Vue + Quasar.
    I can’t load PDF file, but here is a screen shot of some of the items from comparison sheet.

    comparison sheet.png



  • Seems to look good to me. I have no experience with Firebase myself but I think it’s a common solution with Vue so it looks like you are on the right track. Perhaps you should resort to Discord if you have any specific questions regarding backend, Firebase etc.
    Good luck with your project :).



  • @stefanvh
    Thanks;

    I did some monthly pricing estimations last night and wasn’t so bad.

    Firebase from ground up was designed to be a complete backend APP solution for development & deployment. So Vue style or Flutter style apps fits perfectly into package.



  • @Ben-Hayat said in Would you use Vue + Quasar to build a Marketing site?:

    I did some monthly pricing estimations last night and wasn’t so bad.
    Firebase from ground up was designed to be a complete backend APP solution for development & deployment. So Vue style or Flutter style apps fits perfectly into package.

    i wonder how much of your excellent work is similar to problems of other developers, who didn’t even heard about Quasar? Maybe it is another “marketing” haha oportunity, to tell people, who are attracted to Firebase, that there is some ingenious solution called “Quasar”? Maybe even a bigger support for Firebase in Quasar could bring those people here?
    I do not work with Firebase, I’m rather “dedicated server farm” guy, but such solutions where much of development is already opinionated as in Firebase are quite alluring.
    So, my (open) question is - if there are more people who need to decide similar as you, how can we bring them to Quasar (in the context of Firebase)?


Log in to reply