Open main menu

Wikipedia β

Headless software (e.g. "headless java"[1] or "headless Linux",[2]) is software capable of working on a device without a graphical user interface. Such software receives inputs and provides output through other interfaces like network or serial port and is common on servers and embedded devices.

The term "headless" is most often used when the ordinary version of the program requires that a graphics card or similar graphical interface device be present. For instance, the absence of a graphic card, mouse or keyboard may cause an initialization process that assumes their presence to fail, or the graphics card may be relied upon to build some offline image that is later served through network.

A headless computer (e.g. and most commonly server) may be missing many of the system libraries that support the display of graphical interfaces. Software that expects these libraries may fail to start or even compile if such libraries are not present. Software built on a headless machine must be built within command line tools only, without the aid of an IDE.[3][4]

Contents

Headless websites and webhopsEdit

Next to headless computers and headless software, the newest form of headless technology can be found in webshops and websites. Traditional webshops and websites (build with f.e. Magento or Wordpress) have their own back-end and front-end (graphical user interface). All the pieces work with the same code base and communicate directly with each other, making the website as a whole. However in a headless installation the front-end is a stand-alone piece of software, which through API communicates with a back-end based on for example Magento. Both parts operate separately from each other, and can even be placed on separate servers, creating a minimum version of a multi-server architecture. The bridge between both parts is the API client. The endpoints of the API are connected to each other.

The biggest advantages of this technology can be found in performance optimisation and flexibility of the software stack.

Magento 2Edit

Since the launch of Magento 2 in November 2015, with an extensive and strongly improved REST API, there is a lot of speculation about what could be the future of e-commerce: Headless Magento 2 shops. Although the idea is still viewed as conceptual, many big players in the e-commerce market like PayPal, Ebay and Groupon, see the possibilities of this technology and are preparing their software by switching to NodeJS and extending their APIs. In February 2017, Michal Wujas and his team from Hatimeria launched the first Headless Magento 2 webshop in history: TheRake.com. The webshop was build with a NodeJS server and a ReactJS front-end.

PerformanceEdit

Oppose to the traditional MageFront (read: Magento front-end) TheRake.com is built with a ReactJS front-end, running on a NodeJS server. A technology which makes sure that the full website is rendered on the server side. Next to all of this, the webshop is fully build as a Single Page Application. With a SPA all code is retrieved by your browser with a single page load. All the changing and dynamic parts are added to the page as necessary. The page does not reload at any point in the process, it just changes what is shown to the visitor, making the user experience faster then ever.

FlexibilityEdit

Next to the big advantages for performance, the most unique about the Headless Magento 2 Architecture is the way the shop becomes fully modular. This flexibility is unique and never before seen in any other e-commerce solutions.

When the front-end and the back-end are not interwoven with each other but communicate through an API, the whole webshop becomes modular. Instead of an extension becoming part of the code, it can operate as a separate part. The "extension" becomes an application, separately bought and working on its own, contributing to the webshop by connecting the endpoints of its API to that of the front-end.

Future of e-commerceEdit

If Headless Magento 2 Webshops are the future of e-commerce, is still wildly debatable. Fact is, the concept of building such structures is much alive in the community, even with Magento itself. Alan Kent, VP of Architecture at Magento Commerce, in his personal blog, expressed the interest and support of Magento on this subject. He advises extension developers "to consider, where appropriate, providing REST APIs to functionality of their extensions. This will make the extension potentially valuable in headless scenarios, unlike extensions that only hook into the Magento layout engine."

See alsoEdit

ReferencesEdit

External linksEdit