Search

Demystifying Project Calypso and WordPress.com’s New Architecture

    Arunesh
Listen to this article

random-code

“The only thing that is constant is change”

With the launch of Calypso, the world’s favorite Content Management and Blogging platform WordPress- has literally taken this thought to heart.

By now, you must have read a dozen articles about Calypso and the changes it’s going to make in the world of WordPress. But, there is still a lot of unsurety about Project Calypso’s exact working and its impact on the larger WordPress domain.

Here’s where I thought I could come in, and a topic I could talk about for the larger developer and technical community.

To begin with, Calypso is currently tied to WordPress.com – the blogging platform owned by Automattic. For the non-technocrats, this comparison table would help you understand the dot com and dot org differences.

If one were to open up the underlying system of WordPress, one would essentially see a client-server architecture having a MySQL database and WordPress code running over a PHP engine installed on a server. The same used to hold true for a site running on WordPress.com. So, if you had multiple sites, for example, two websites on WordPress.com and one self-hosted website running WordPress – you could also go ahead and use Jetpack to manage everything from a WordPress.com dashboard.

wordpress-jetpack

Impact Post Calypso

Post Calypso, the underlying architecture looks something like this:

wordpress-post-calypso

If you look closely at the Infrastructure end, you have an Automattic hosted MySQL database and a PHP engine, completely encapsulated in a black box container that has been provided with endpoints (known as the WordPress.com REST API).

Note: I am only guessing the application engine to be a PHP deployment here – this still needs to be confirmed through official sources.

You then have a front-end interface called Calypso that has been built over Node and React (two powerful JavaScript libraries) that will fetch and send data to this API. Essentially, all website data, and processing of that data will happen via the API endpoints, inside the API black box container. Calypso will take care of the front-end theming and display of this data, thus putting it on par with a web app that consumes the WordPress.com REST API.

What about WordPress.org?

On WordPress.org however, the story is different. Calypso still does not come into effect.

However, as it becomes more evident the web is evolving. Over the past twelve months WordPress.org has started moving to a web applications frameworks of sorts. And with the slated release of 4.4 on 9th Dec 2015, the WordPress REST API version 2, will be introduced into the core which would essentially consolidate existing APIs into one single API system.

Think of this as a module in WordPress core that allows you to use WordPress as a ready-to-deploy web framework and integrate external third-party systems including mobile with lesser development time-frames.

wordpress-rest-api

Chances are that in the given future, we might get to see Calypso and the WP REST API consolidated again into one single entity. This should not take place before early next year though.

Given that the project is open-sourced, Calypso can actually be downloaded and installed on your own server, and then interfaced with the WordPress.com API to have a semi-hosted platform of sorts.

Right now, as Calypso is already installed on the WordPress.com server cluster, you see the dot com blog backend through this new interface. This also possibly, gives a very big signal for the developer community.

Will there be a Paradigm Shift?

So, will there be a paradigm shift from PHP to Javascript for server side programming too? Would PHP be eliminated from WordPress wholly in the foreseeable future? Should WP programmers modify their technology stack?

From my perspective, Node is much more scalable and performance oriented than the older HHVM based PHP execution that WordPress is used to. It also beautifully delinks the server particulars and the client side experience and also opens up the big possibility of other languages linking into WordPress through React.

The way I look at it, the future could see a complete revamp of WordPress core where it is bundled and released as a complete API driven interface where the eco-system of WordPress is completely API driven (i.e. all themes and plugins would need to interface with WordPress via. API calls only).

Since currently many web hosting servers do not have Node installed by default, over time the PHP and MySQL that powers the framework could also be replaced by databases like MongoDB and Node.js based processing with React acting as the client; and themes and plugins directly interfacing the WordPress core API.

wordpress-react-node

So when, Matt said “Thousands more PHP developers will need to become fluent with JavaScript to recreate their admin interfaces in this fashion”; there could be a lot more to it; than what meets the eye.

However you look at it, WordPress becomes much more competitive to leverage as a framework and come out of the blogging platform cocoon it was always known for.

[su_note note_color=”#ffffba”]Arunesh is the Head of Technology at WisdmLabs and brings with him a vast experience in architecture and delivery of technology products. He is adept in developing technology solutions and products to drive business growth by leading various technology forays for the organisation.[/su_note]

Arunesh

Arunesh

5 Responses

  1. Great Article Arunesh and nice Illustrations!
    I have a question about running calypso on localhost. The Docu says it is just possible to use calypso on localhost with http: //calypso.localhost:3000. “Any other url will not work.”
    Where is this configured? How is a calypso-Installation started “in production”?
    Any hints? anybody?

      1. Hello, thanks for your suggestion.But I can’t make it worked on production.Can you please guide me?

  2. Arunesh, great article,, but I do not see this to come very soon, mysql to be replaced with mongo or similar nosql db, and php to be replaced with node. Sure I would very much like that also,, but.. the fact that all wp core api’s are based on sql in the lower layer and to switch to something else is no go that fast 🙁

Leave a Reply

Your email address will not be published. Required fields are marked *

Get The Latest Updates

Subscribe to our Newsletter

A key to unlock the world of open-source. We promise not to spam your inbox.

Suggested Reads

Join our 55,000+ Subscribers

    The Wisdm Digest delivers all the latest news, and resources from the world of open-source businesses to your inbox.

    Suggested Reads