I didn’t expect that.
The Extracted API Fallacy
We now have a client side app for rich interactions, and we have an API that can feed anything; iOS, Web, Android, etc… What’s not to like?
This is great in theory, but in practice it starts to fall apart a bit. The first sign is that you still need a front end web server. Well, if you have any sort of progressive modern app you’ll need a web server. At a minimum, you will need a way to compile and serve all of your assets.
You’ll also need a lot of libraries and packages. And of course, if you use cool stuff like requiring modules as needed, you need a build process. That’s more dependencies.
All of this before you get to the server side.
The additional complexity is not worth it. This is why so many companies go heavy client side and then go back to the server side. I think if they would have went all in, they would have had a different experience. But that is hard for larger code bases. They definitely felt the pain.
We should be moving to easier, not more difficult.
Decreasing Complexity with an Isomorphic Approach
I’ve been researching and playing around with isomorphic application development. I really think this is the next logical step for the web.
I’d like to report back with more data once I have a few of these under my belt, but I really encourage you to take a look at isomorphic development. Especially if you’ve felt the extracted API pain.