Creating a Blog without a backend
shamadeh.com
shamadeh.com
RESTFUL services bring back the focus on URLs and HTTP methods. For a while there was a craze of embedding content in awful Flash and Java applets, but that died out because of convenience, better browsers, and SEO. I wonder if the future of the web is going to look a lot more like its history than we thought.
Flash died because it was private and for Adobe. Java will not remain a strong web language as long as it is for Oracle.
I predict a great future for HTML5 WebSockets, as well as other open-source API's and protocols.
What? There's never been any really good reason for blogs to be database-backed in the first place. Blogs are just static websites with new pages added frequently.
I guess what I'm saying is that (except for the comments) blogs are static pages that contain (mostly) unchanging content, not dynamic data that needs to be updated.
If you're curious about the history, you might look into MovableType, which predates WordPress by a couple years, and has always supported static page generation: https://en.wikipedia.org/wiki/Movable_Type
http://dennisbareis.com/ppwizard.htm
Nowadays I am using Hakyll, it's a natural progression from Jekyll and is much easier to customize (it's basically a Haskell DSL for static site generation).
Readers visit the blog and consume the content. The application needs to serve pages that, as you correctly observed, are added occasionally, but don't change much. For a simple blog, there isn't much need for anything other than a static page.
From the other end, is the author. Think of the blogging engine as an authoring tool. Just like any application, you can choose to use a tool that runs on your computer (e.g., Jekyll), or you can choose to use a tool that runs as a web app (like WordPress).
The lines are blurred here, because it's entirely possible to just run Jekyll on a web server, using ssh to shell in and edit your blog files. If you keep your blog files in a Git repository on Github, as many people do, you can even do fancy stuff like auto-build on commit hooks. Then you can use Github as your authoring environment, and just commit as usual.
I think your argument really stems from an architecture shortcoming in the way WordPress works by default. There is certainly never any good reason for a web page that changes infrequently to lack any form of caching. The real question is where you do that caching. Using something like CloudFare in front of your WordPress blog is just as valid a decision as is using something like Jekyll, or adding caching to WordPress through something like WP Super Cache.
But then I wanted to do simple stuff like editing a post from another computer that didn't have access to my server because one of my post had a typo.
Then I wanted to list all my blogs by published date and have a different place where I could list post by [type|tag].
Some of those features are available through jekyll, but seriously, what's the difference between parsing a database for post of type X and having jekyll build a list of post on XYZ requirements?
I hope you don't think that database backed blog are slow because on 128mb RAM I had over 20k unique per day on my site. Running Wordpress, without any caching.
Honestly, I chose not to go with Wordpress for 2 reasons. First is that it needs a server. Using Jekyll, I am able to leverage Github pages to serve my website for free. The second reason is that Wordpress is not easy customize (from a programmer's perspective). I tried to learn Wordpress themes but stopped after sensing how much time this would take me. Jekyll's themes were self-explanatory code, allowing me to plug my website's same CSS files and HTML template into the blogging platform. For Wordpress, I had to use PHP and learn theme functions and learn how to package the theme beforehand.
I know Wordpress has wide collection of plugins, but coders like me always prefer to write their own stuff.