There’s a big hole in reusability on the web. An entertaining statistic - not the most accurate but still fascinating - was generated by Simon Wardley from a Twitter poll. He calculated that basic user registration had been written over a million times. The average developer had written user registration about 5 times. I’m sure you’ve built it a few times yourself.

The solution to this would be to create a reusable ‘package’ for user registration. So why isn’t there such a thing? It’s a really interesting question, because if you could fix it, you could make web development so much faster.

Three kinds of application

The first problem is that user registration has both front end and back end elements. So you would need a package that included both of these. I think the closest to that would be a Wordpress plugin.

PHP (on which Wordpress is built) mixes markup and processing on the back end. Although PHP doesn’t have a neat way of packaging a group of pages and back end, you can do this in Wordpress.

The problem though is that then you have to do everything else on your site using Wordpress. Empirically, people are still building registration over and over again, so the numbers tell us that’s still quite a problem. But even so, this is key to the huge success of Wordpress on the web.

Prebuilt application, plugin components

The limitation Wordpress has is that it’s a container that contains plugins. Whatever you build with Wordpress, it will still be a Wordpress site containing plugins, bits of your code, and your content.

It won’t be a mobile app (although it could get close these days). It won’t be a data-backed web application. With Wordpress or with other conventional Content Management Systems, or with systems like Salesforce or Sharepoint, what you have is basically an application which you are able to extend and vary with plugins.

You’re limited in what functionality you can reuse with plugins, and because the application around them is fixed, you’re limited in what the final application can do.

This is the least flexible kind of environment I would identify for reuse. There are two other more flexible types.

#distributed-systems #low-code #software-architecture #modules #cms #reuse #webdevelopment #internet

Did you know you could write scripts with webservices? You do now.
1.05 GEEK