2 min read

Complexity and Concerns Grow for Web Development

We make it both easier and harder to build or the web every year. It is a moving target. But at-least we are starting to focus on the right things.
Complexity and Concerns Grow for Web Development
Photo by John Barkiple / Unsplash

A few years ago, we use to have a pretty strong definition of web apps, and web pages. People tried to explain that React should be used for an App, and Wordpress for a web page. I don't think these things were really ever true. Though we got better at making React more efficient with Next.js for web pages, and Wordpress has grown and can be a great fit for some types of apps.

As we move forward in time, we see the list of concerns and capabilities grow. Some of these things are just syntactical sugar on what we were already doing. For example the loading="lazy" attribute added for images.

But other things have been added to give us more ability to mirror native experiences. As these become more commonplace, so does the expectation from users that it just works. To a user, they don't care about the context of "Native App" vs "Website". They care that they can do the thing they wanted to do.

Recently we got scroll-snap-type and scroll-snap-align which lets you build a neat slide workflow.

https://twitter.com/stackblitz/status/1343542443531247617

But we also see browser makers making changes to allow for more natural behavior. In iOS 13.4 you can now make horizontal scrollers that don't send the user to the previous history state when swiped from the left. This isn't that many lines of code, but it's not as easy as an html attribute or a few lines of CSS.

And as the complexity grows, so does the concerns with performance. Next.js / Vercel recently had a massive flex where they shipped Next.js Analytics.

Next.js Analytics

All this does is show the scores for real user data against the Web Vitals as defined by Google.

Web Vitals

All of these are example that really how we will continue to change over time.

  1. Common items will become easier, with simple CSS and HTML setup and little JavaScript as the native logic will be baked into the browser itself.
  2. Browsers will enable richer interaction to rival native experiences, and developers will need to write more code to support it.
  3. Web Development will continue to get more complex, requiring that we pay attention to performance analytics.
  4. Analytics data will spark innovation around how we develop to be inclusive or all users.