CMS in JavaScript on the server
Replace PHP with JavaScript, Part 2: Reviving Wordpress in JavaScript using CMS Ghost.
I finished the first part, JavaScript on the server instead of PHP, with the conclusion that the LAMP model is not suitable for modern applications, especially the default offline mode, is not possible with PHP. Wordpress is the best example. Even if this CMS has many qualities and advantages over competitors, including ease of use and personalization, it is less and less suitable for modern platforms because of its LAMP base .
As I suggest in this article, new CMSs based on JavaScript and Node.js are beginning to appear. Ghost example. This CMS has had a significant effect from KickStarter with the support of several companies, including Microsoft, which has invested (we are talking about $50,000) to promote its development.
And the conditions for presenting the software are quite consistent with my own conclusions:
At Ghost, we believe that using JavaScript not only gives us access to rapidly growing communities of brilliant minds, but also makes the project accessible to other communities that are not involved in PHP projects, the old guard. JavaScript has passed the duration test, and Ghost, in accordance with its mission, can work closely with communities that promote innovation on the Web.
Apparently, a significant part of the comments on the first part, in particular on Hacker News, came from the old guard ;)
It remains to be demonstrated more precisely how the use of JavaScript allows for a more modern CMS.
Personal control panel
Wordpress uses widgets so that the webmaster can implement the site interface, and the same with CMS JavaScript. But Ghost goes further: you can build your own dashboard by adding and moving widgets...
The control panel is built like a web application or for mobile devices: it keeps on one page, while Wordpress uses the inherited principle of desktop applications with a large number of tabs, each of which is dedicated to one of the site management functions.
Unlimited editing
The article is created in two panels: on the left - "source code," which is no longer in HTML, but in markdown. And on the right is the content as the reader sees it.
This choice is justified by the desire to build a simple CMS limited to a blog than Wordpress was originally. This reduces formatting problems. It is often difficult to get what you want with the Wordpress editor (TinyMCE), as it has its own rules and removes insertable tags when it does not suit it. This is what is inherent in these online editors, who do not only have DreamWeaver's ability to synchronize between the original and the displayed. Markdown has limitations, but its simplicity allows you to get such synchronization and make the ticket more convenient.
Access to previous articles and editing them is also facilitated in Ghost through a double window. Expand the list in the window and edit the selected article. Going from one to the other is easy. Wordpress, by virtue of its old design, requires switching from page to page for the same operations, which makes editing quite laborious.
Themes and plugins without templates
Implementing a JavaScript and HTML theme seems easier than with HTML and PHP, and even more plugins. The theme here is HTML and a CSS page with fields dedicated to various content of the site. A plugin is a JavaScript script that is loaded into a page or added as a module in Node.js.
There is no reason to encounter these plugin compatibility issues with both new software versions and other plugins that fill Wordpress forums with add-ons. Because the software has a modern WebSocket-based design, like Advanced Explorer on this site, different modules can transmit messages and the same commands receiving the same responses, different modules can evolve independently of each other.
Works on mobile devices
The advantage of JavaScript and Node.js is the ability to run Ghost on all devices as an application, as it is faster and lighter than Wordpress. The author has access to the dashboard on a tablet or mobile phone.
Obviously, by removing at least 1300 KB of TinyMCE editor and 500 KB of jQuery, we significantly speed up the loading of the dashboard! In fact, the JavaScript base directory in Wordpress 2.9 contains more than 3 megs of code.
To access the dashboard on a mobile phone, you will need at least offline mode and saving all the necessary code locally. But this is not possible with software written in PHP.
Not all mutual hosting services support Node.js. But there are such, in particular, Gandhi. And there is a cloud.
See also: