In the times of monolithic systems, it was crucial to pick the right system at the beginning. That decision inevitably locked you with a single vendor for years. Nowadays, in the microservices era, vendors claim itʼs easy to switch between their systems. Letʼs take a look at what “easy” means when switching your headless CMS and whether that decision could cost you your job.

In this article, Iʼll first explain what migration actually means and what are the general steps youʼll need to take. …


In this article, I’ll compare two leading JS frameworks-React and Vue.js-from many perspectives, including learning curve, performance, the size of communities, and interest from employers.

I’ll also explain the differences between building a static site using their respective static site generators, Gatsby and Gridsome.

Is Jamstack always JavaScript?

If you’re new to the Jamstack, just know that it’s not a product or a framework, but a way of building websites. Jamstack stands for JavaScript, API, and Markup. The key aspect of a Jamstack site is that it does not depend on a web server. Static sites built with JavaScript frameworks are Jamstack, but so…


I have spoken on multiple conferences, user groups, tech days, and similar events. I know how to make a good presentation and how to emphasize the key points I want my audience to take away.

So what’s the problem with my anxiety?

  • The more experience with a specific topic I have, the more I see how many things there are yet to explore (Dunning-Kruger effect?). I fear of getting questions I can’t answer. I fear people finding out I don’t know everything.
  • I expect people to have the same level of knowledge about a specific topic as I do. I…

Last time we built a client-side Blazor site with an interactive map from the ground up. But for the website to help drivers, it needs more functionality. It should check where visitors are parking their cars and tell them how much and where they can pay. Otherwise, they would get a fine or their car may be towed. Can Blazor handle it?

In the previous article, I started building a website with an interactive map of Brno, my hometown. The site should automatically check a visitor’s position and explain the rules for parking in the area. …


Are you a .NET developer? Are you also a little bit jealous of the beautiful, responsive SPAs that JS folks create nowadays? Envy no more, Blazor is here to help you.

I used to do a lot of .NET coding in the past, so when JavaScript became the rising star a few years ago, I was sad that Microsoft did not really have an answer to that. Over time, I found my way to Vue.js, but things like npm, webpack, bundling, deploying and others were quite a big bite for me from the start. Earlier this year, I stumbled upon…


Written by Jan Sedo — May 22, 2019

Whenever I was faced with a task of quickly creating a page in the past, I went with WordPress. I already had a PHP-enabled server and a database installed on my machine, so I just needed to create a new database user, do some configuration work, and then it just worked. After a few hours to a few days, I had a working website ready for deployment.

This process was fine for me as I have a developer background and used to work with MySQL a lot in the past. For some…


When modeling content, you frequently stumble upon the need of storing data in specific structures that go beyond conventional types like string, number or list of options. Typical examples are countries and states. You can not use a free text field for this unless you fancy giving editors free rein. So how can you extend the Content-as-a-Service system and store such data?

Why should you not use a free text field? Apart from the fact that editors would have to write country names every time, you would end up with a pile of unstructured data, many duplicates, and typos. Because…


In my previous article, I explained why it makes sense to decouple the front-end part of a website from its back-end services. I introduced GraphQL, Apollo and other tools that enable such abstraction and make maintenance of production websites a nice experience.

In this article, I will show you a boilerplate that already has all these tools set up and saves you a lot of time when starting the development.

Check out the live demo of the boilerplate

Boilerplate to Speed Up the Start

Let’s start with the tools I used:

  • Node.js — runtime
  • Express — web application framework
  • Apollo server — middleware service with GraphQL…


REST API services, SQL databases, markdown files, text files, SOAP services… can you think of yet another way to store and exchange data and content? Production websites usually work with several different services and ways to store data, so how can you keep the implementation clean and maintainable?

Every Node.js website, regardless if it is a single page application or a regular site, needs to connect to a third-party service or system. At the very least it needs to get content from markdown files or a headless CMS. But the need for other services quickly surfaces. First, it’s a contact…


You have a static site all implemented and ready for the world to see, but where should you host it? How do you select the right platform and plan for a set of static files? How can you ensure that the website will automatically regenerate whenever you change its content?

In this article, I will show you how to generate a static site, set up an automatic build process that is triggered by content changes and deploy the site to a public facing server.

Introduction

In previous articles, I explained how to build a dynamic JavaScript website with content from a…

Ondřej Polesný

Full-stack developer, speaker and trainer with passion for anything new and intriguing. Dev evangelist at Kentico Kontent. Tell me what are your struggles.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store