WordPress a Node.JS

English version: WordPress and Node.JS.

Možná jste zaznamenali vydání WordPress Calypso. Jedná se o kompletně nové adminstrativní rozhraní pro WordPress (wp-admin). Je napsáno v Node.JS a v Reactu a je šířeno formou aplikace ke stažení. Pro její správný provoz budete potřebovat plugin JetPack. Na první pohled může tento krok vypadat trochu podivný. Cože? JavaScript? A formou aplikace?

Tento krok mi přijde logický. Zkusím vám vše vysvětlit.

Internet je stále pomalejší

V minulosti jste přistupovali k serverům umístěným v nejbližším velkém městě (třeba v Praze). Ale dnes přistupujete na servery, které jsou leckdy umístěný na druhém konci kontinentu (třeba Irsko). A to znamená vyšší latenci. A vysoká latence je vždy špatná. Velmi špatná. A navíc je internet stále a stále častěji nespolehlivý. Dnes totiž používáte tablet a mobilní síť místo počítače připojeného kabelem.

K tomuto tématu mohu doporučit dva články – 7 Principles of Rich Web Applications a It’s the Latency, stupid (ten byl napsán v roce 1996).

Vše se přesouvá do prohlížeče

Jako řešení předchozího problému se mění způsob jakým vyvíjíme aplikace. Už nepíšeme aplikace typu klient/server. Píšeme samostatné aplikace, které jsou schopné občas komunikovat po síti.

To znamená, že musíme dělat mnohem více v prohlížeči. A to znamená JavaScript. A to také znamená možnost fungovat po nespolehlivé síti (a někdy dokonce zcela offline). Toto je také jeden z důvodů, proč jsou mobilní aplikace dnes tak úspěšné.

Ale desktopové aplikace jsou složitější

Napsat desktopovou aplikaci je celkem složité. Je to mnohem složitější než programovat serverové aplikace, kde řešíte pouze jednoduchý cyklus request/response. Musíte si hlídat všechny změny stavu v paměti. Pokud jste změnili jeden záznam, má se také změnit seznam na pozadí, který obsahuje změněnou položku? A kdy se to má stát? A co když uživatel změnu nakonec neuložil a zrušil? Dokonce ani Facebook nedokázal úplně odstranit problém s počtem nepřečtených zpráv. Tak složité to je.

React vše zjednodušil

A tak raději vyvinuli React (a celý ekosystém okolo). Řešení, které nám vrátí jednoduchý cyklus request/response. Prostě pokaždé překreslíte celou stránku a díky Reactu bude v prohlížeči nakonec překresleno jen to, co se skutečně změnilo (díky Virtual DOM a immutability). A toto řešení funguje skvěle i v případě, že změny přijdou ze serveru. Nezávisle na úkonech uživatele.

WordPress obsahuje historický kód

WordPress je zpětně kompatibilní skoro 13 let. A to je jedna z jejich hlavních výhod. Prostě to funguje. Vždycky. To také znamená, že musí velmi často preferovat kompatibilitu před inovacemi.

Velká šance pro WordPress

Když už se mění očekávání uživatelů, je skvělé to využít i pro inovace. Rozdělili WordPress a jeho Administraci na dvě části. A díky API to vše funguje dohromady. To jim umožňuje vylepšovat rozhraní Administrace bez ztráty kompatibility. Než přejdou všechny pluginy, můžete přeci používat původní administraci. A věřte, že nové rozhraní budou vývojáři pluginů velmi rádi podporovat. Je totiž mnohem lepší.

A když bude adopce nové Administrace dostatečně velká, mohou vklidu přepsat celý WordPress do Node.JS. A díky API bude vše i nadále pěkně fungovat.

Pěkně vymyšlěné. Už se těším na výsledek.

PS: tento článek byl napsán v Calypso. Je to opravdu pekelně rychlé 🙂

 

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *