Jump to content

ProcessWire & Vue.js — a Lovestory


Noel Boss
 Share

Recommended Posts

ProcessWire & Vue.js — a Lovestory

Introducing the all new ICF Conference Website

 
1*djImM7EcqwatIB3qajgdsQ.gif

The new ICF Conference Page — Fearless

» What would happen if we were equipped to fearlessly face the daily challenges and live a life without fear? «

This question is at the core of our next ICF Conference in 2019 in Zurich. Its also the question we set out to answer in terms of developing the new website; the all new ICF Conference website is our most advanced website in terms of technology, designed to take advantage of the latest web-technologies.

Its a brand new design powered by a lean setup, using ProcessWire for easy content management and a slick frontend based on Vue.js, Quasar and a heavily customized Uikit theme.

 
1*plq5P41aaXsPpKQpfehzIQ.png
Technology-stack — From backend to frontend, technologies that are fun, easy and fast to develop with

We built on the ICF Ladieslounge website as a solid foundation and took our learnings from building our last Conference Booklet PWA (Progressive Web App) and applied it to the new website.

Some highlights of the new ICF Conference website:

  • Completely decoupled backend and frontend
  • Custom design based on Uikit frontend framework
  • Changing of languages happens instantly, no page-reload required
  • Easy content updates thanks to ProcessWire
  • All data is transferred using a single request returning custom JSON

1*XCkzveKuuTXVMseFagAJNg.thumb.png.1281a6fc015b23c8f0dbd0ccf696c33c.png

1*scCtiQn8RXDlYQxQo-8cvg.thumb.png.11a72fde5fc30902d7d456dac9cf4600.png

1*S8JmWkkgQMRXxvKxzLCguw.thumb.png.45d3673ffcdafa5bd7f6a3dd87f75ad3.png

1*XIiAKhMJOxmlYTXrKWEgeA.thumb.png.360c140119033d9b71b0578455a90faf.png

» Continue reading on Medium

And please don't forget to clap and share: 

519389360_ScreenShot2018-06-28at22_14_15.png.02f31a216015d01939b18d579f56f601.png

 

  • Like 22
Link to comment
Share on other sites

This looks really interesting, thanks for taking the time to write it up, and provide that module!

Can anyone give a pointer where someone... you know... lets say a friend... who has maybe fallen way behind in terms of front-end technologies and has never touched vue.js or any of its kin, where they might start learning how to implement this PageQueryBoss module and turn it into a complete front-end?

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
On 7/6/2018 at 4:24 PM, cjx2240 said:

Can anyone give a pointer where someone... you know... lets say a friend... who has maybe fallen way behind in terms of front-end technologies and has never touched vue.js or any of its kin, where they might start learning how to implement this PageQueryBoss module and turn it into a complete front-end?

It has not much to do with vue.js specifically and PageQueryBoss. You can make an AJAX request with any librrary, you build your JSON like the the link in medium above: https://gitlab.com/snippets/1729012

In vue.js, the JSON you get you add to the data of your component. I have not the time at the moment to explain in detail how we did it (apart from using Qusar as a starting point with vuex to store and retrieve data) but maybe this will help you:

https://www.digitalocean.com/community/tutorials/how-to-use-vue-js-and-axios-to-display-data-from-an-api

 

 

Link to comment
Share on other sites

All nice and I know there's ways to get around it, but the Site has no content to crawl, just empty html. And if JS is not enabled you see this: "This is your fallback content in case JavaScript fails to load."

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

@Soma 

Yeah this is my issue with Vue.JS - I use Vue.JS often for two way data-binding which is amazing to be able to easily update content and do visual changes to the site based on those updates. For example adding something to a basket. It's much easier with Vue than jQuery or JavaScript. 

My issue with Vue is exactly that. You can use it just on a component basis or you can use it to render your entire UI. To me it just doesn't make sense to use it to render an entire UI with a website. A web app sure, but a website it's often overkill and introduces that exact problem. You can introduce server side rendering of Vue with Nuxt but then it just seems like another layer of 'over complication'.

I personally stopped using Vue for websites unless I absolutely needed two way binding. It just didn't make sense and the extra complication of implementing it such as having to convert everything from ProcessWire into a JSON feed.

 

EDIT:

Noticed this post still gets likes, so what's changed since then? AlpineJS. AlpineJS is a solution to this exact problem, worth a look for anyone wanting to do some cool UI stuff without including all of Vue features and overhead.

  • Like 11
  • Thanks 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...