Part of the way through a project to replace an app with a static site generated by Gatsbyjs, initial tests revealed that we there was a lot we could do to improve the performance. These are the steps we took to cut load times to under 3 seconds.
When Im explaining the idea of Serverless architecture it often takes three conversations before someone understands where I'm coming from, why we put up with the sometimes difficult to understand restrictions it puts on development, and ultimately why it can be extremely useful. In this post, I'm going to document these three conversations that Ive had with many people in the last few months.
Structuring components in a reusable, discoverable way has been a challenge for some recent projects I've worked on. I've seen different approaches used, but now I think I've found a method that's basically intuitive, avoids duplication of effort and facilitates easy discovery of components.
The blogging platform WordPress has done a huge amount to democratise publishing, to make writing and publishing available to everyone. The new Gutenberg content editor is a bold move, one that will really help many of the millions who use it ... but it won't help everyone.
In order for people outside of the development team or community to use your software, care must be given to allow them to write and publish content with the least amount of friction or obstruction as possible. A well crafted interface that allows people to do this isn't easy. I have started to use Strapi as a serverless backend API interface recently and believe it's going to be a very useful solution for a lot of projects.
'Form Follows Function' goes the saying, but with HTML forms, it's the other way round. At least in terms of what happens when you fill out a form, and then click the button to 'send': a function processes the form. What happens during this process? Why is it necessary? What are some of the options for serverless form handling?
Proposing a solution that isn't a good fit for a project can be dangerious. It can be implemented without real thought, which can cause major frustration or even abandonment of a project. Instead I'm trying to think more about the question, instead of jumping to conclusions.