"Hello world", 2018 edition

how to set up your own blog backendless-ly in 2018

So here I am again, trying to start starting a blog from scratch. More than 10 years(!) have passed since my first blog. It was a WordPress blog, and I was proud of it. Fast forward to today, I have no intentions of getting into WP again (or PHP, eeww). Medium is where the cool kids are, but I wanted to own my data + keep my frontend open for experimentation.

I quite recently started messing around with Vue.js (specifically Nuxt.js) for generating static sites while still being able to use contemporary tools like node.js, webpack, and pre-processors. Another benefit would be hosting the site virtually anywhere: Netlify, Now.sh, Heroku… or in this case, Vapid.

Vapid is a newcomer to the static-hosting-platform arena. A while ago I signed up for their private beta and yesterday I got an invitation. So I took this as an opportunity to try and experiment with something new.

The good:

  • Dead simple CLI: easy to start, fast to build, simple to deploy.
  • Static sites, good for SEO, speed, and hosting anywhere.
  • No backend needed. Vapid provides you with their own built-in CMS for managing dynamic content (I'm using it right now to type this blog post).
  • Built-in template engine, so you can do things like {{#section blog}} {{content type=html}} {{/section}} in an .html file and get the CMS to rebuild itself around your fields (at a surprisingly fast speed, I should say).
  • No need to deploy a full-fledged blogging solution or tie our data to a 3rd party platform.
  • Free!

The (kind of, not really) bad:

  • Being "backendless" also means that we can't implement any custom logic on the server-side. In the case of Vapid this is of course by design.
  • We have to build our own frontend. No "theme picker" here. But you can always use an HTML/CSS framework, it even has Sass pre-processing baked in.
  • URLs generated for dynamic content seemed on the "soft" side, allowing too much freedom in the URIs without proper redirecting.
  • It's still in beta, so expect some rough edges. Although, they claim it's stable enough for production.

My current setup, the one running this website/blog, end up being:

  1. Start the development with vapid start
  2. Code the relevant .html / .scss using Vapid's template conventions. I'm using Bulma, a pretty simple CSS framework.
  3. Write content using Vapid's CMS.
  4. Deploy using vapid deploy

There are several options out there for a static backendless blog, but in the spirit of experimenting with new things, I'm giving Vapid a try and see how far it'll let me go. So far, I'd say it's doing the job.