CHAPTER 3 The Vanilla Web Diet
Things on the Web change a lot. And in many cases it means replacing
the whole code base but duplicating the functionality. Many of the apps
and websites we produce are there, first and foremost, to get people to put
content into them and make that content available to others. The code of
the app itself should play a secondary role to that.
Every time a Web company was bought by a larger one and needed to
scale to millions of users, its whole code base was replaced or altered to
fit an existing framework that had already proved itself. You don’t need
to build Google Mail or Facebook. You should think about creating what
you need to at the time, and prepare yourself to replace the lot in the near
future.
This seems to counterpoint our dictum of old: that separation of con-
cerns into HTML, JavaScript and CSS means you can redo a whole project
by just changing the CSS. The Web has become much more of a commodi-
ty than it was in the past, so we need to be agile. If you build to burn down
using Bootstrap and do everything with it, that’s fine. But don’t use lots of
libraries, frameworks and server-side back-ends that generate whole apps
while claiming that they’ll scale. They won’t just magically do that: you still
need to know them really well to play them to their strengths, rather than
just add a lot of code to be used later — a later that never comes.
Summary
Nothing here should really be new, but it seems that we keep forgetting the
tricks and practices that first made the Web a success. Flexibility defines
the Web and we keep carving out niches for all the things the Web can do
and promote this quality to be the main goal for every developer out there.
It’s not about building thick clients or native apps on the Web, it’s about
using the Web and its technologies to deliver content and media, allowing
people to simply add new things to this wonderful series of tubes.