Plone 4 bol spustený do testovacej fáze. Technologicky došlo k posunu z pôvodného Python 2.4 na efektívnejší a výkonnejší Python 2.6.
Veľmi dôležitou zmenou je pridanie podpory pre ZODB BLOB, teda ukladanie binárnych objektov priamo na filesystém. Toto bolo veľmi dlho úzke miesto Zope/Plone. Binárne objekty ako fotky, boli udržiavané priamo v ZODB, čo nebolo príliš efektívne. Uloženie objektov mimo ZODB znižuje pamäťovú stopu Plone.
Grafické rozhranie bolo vizuálne zjednodušené a rozšírené o Ajaxové prvky.
Kedysi ma napadlo také drobné prirovnanie, ktoré výborne charakterizuje vzťah WordPressu a napríklad Drupalu. WordPress vs. Drupal je asi to isté ako Windows 95 vs. Linux.
Prečo? Pretože WordPress nie je tak technicky premakaný, nemá za sebou takú hlbokú filozofiu a rozsiahly všetkovediaci framework. Preložím to pre laika a trochu to preformulujem.
Windows 95 dokázal po chvíľke používať skoro každý. Naproti tomu Linux so svojou čiernou konzolou na tom nebol až tak ružovo. Napriek tomu, že WordPress nie je dokonalý, tak má za sebou veľkú komunitu bežných používateľov. Tak ako Windows používala majorita PC civilistov.
Pre profesionála z Unixu, bol Windows synonymom pekla. Tak ako pre Drupalistov je WordPress škaredý a nie je taký ladný a dokonalý.
Ja mám WordPress rád. Práve preto, že je aký je. Drupal a Plone mám tiež rád práve preto, že sú aké sú.
Nezmienil som sa o vašom obľúbenom CMS? Ako sa hovorí: 5 právnikov, 6 správnych názorov. Tak v prípade CMS to platí tiež. Čo programátor, to CMS. Tu je jeden odkaz, kam by sa mali pozrieť všetci, čo chcú písať vlastné CMS: cmsmatrix.org
CMS systémov je na svete veľa. CRM systémov je veľa. Je problémom nejaký vybrať. Jeden vie to, zas nevie tamto. Ďalší vie niečo ďalšie a tak ďalej.
Plone CMS rozhodne nie je vhodný na blog. Skúšal som to . Ako sa hovorí: “Netreba ísť s tankom na vrabce.” Plone je vhodnejší na väčšie projekty, kde predpokladáte vysokú produkciu obsahu.
Plone CMS je postavený nad aplikačným serverom Zope, čo mu umožňuje využívať rozsiahlu sadu oprávnení s vysokou granularitou. Jeho protiváhou vo svete PHP by mohol byť Drupal.
Pre lepšiu predstavu si môžeme zobrať bežný blog vo WordPresse. Bude mať pár megabajtov. Bežný portál používajúci Plone CMS sa vyšplhá na niekoľko gigabajtov.
V dobách, keď sa rozdeľovali sféry vplyvu medzi web technológiami, prišlo PHP s niečím, čo ostatným technológia zobralo vietor z plachiet. Viete, čo to bolo? Nie, nebol to dobrý návrh jazyka a dátových štruktúr. Nebola to ani obsesia v dolároch. A nebolo to ani množstvo modulov, ktoré umožňovali všetko od generovania obrázkov, až po generovanie zisku. To s čím PHP prerazilo, bola jednoduchosť nasadenia a rýchlosť. Tu dostali CGI aplikácie postavené na Perle, Pythone, Bashi a Haskelli poriadne na frak. Stačí si porovnať energetickú náročnosť Zope/Plone portálov, ktoré zožerú server so zdrojom aj so sieťovým káblom, verzus PHP portály.
Pythonieri sa bez boja nevzdávali a tak začali vymýšľať riešenie. CGI. Nie, nie. To nebola správna cesta. Overhead bol skutočne veľký. FastCGI? Trošku rýchlejšia voľba. Aj Trabant môžete vytuniť. Ale pokiaľ nepoužiteje prístup Pána Tragáčika a nevymeníte motor z Trabantu za dvanásť valec, tak máte stále Trabant. Mod_python bol už krok trošku správnejším smerom. Zrýchlenie bolo zhruba 10 násobné. PHP však rýchlostné limity zvyšovalo ďalej. Tu sa niekto z Pythonierov zhrozil. “Chlapi! Baby! Veď mi sme postavili parnú lokomitívu. Musíme vymeniť paradigmu.” Tak sa po mnohých rokoch objavil nový koncept WSGI.
Tentokrát sa podaril husársky kúsok. Nie len zvýšiť rýchlosť, ale dostať sa tam, kam sa PHP ešte nedostalo. Okrem rýchlosti sa totiž objavila nová požiadavka webových obláčikov: škálovateľnosť.
Je WSGI až taký zázrak. Áno je. A dokonca o trošku väčší.
WSGI je skratka od Web Server Gateway Interface. WSGI definuje rozhranie, pomocou ktorého napojíte vašu aplikáciu na web server. To, čo WSGI prináša je unifikácia pripojenia rôznych web frameworkov. Toto zároveň umožňuje podstatne lepšiu optimalizáciu rýchlosti. A ako bonus dostane vývojár škálovateľnosť. Vynikajúcim príkladom je Google App Engine.
Hurá, zahodím PHP a idem na Python. Hou, hou, zadrž! Škálovateľnosť nie je zadarmo. Python je objektový jazyk a tak sa je k nemu potrebné aj správať. Prechod vyžaduje trochu učenia a skúmania. Niektoré z konceptov sa v PHP vôbec nevyskytujú. Niektoré sú naopak pre PHP vývojárov používajúcich dobrý framework veľmi známe.
Kde Python aplikácie hostovať? Napríklad mi môžete napísať a nejaký ten serverový výkon sa pre vás určite nájde. Alebo si môžete objednať za pár bubáčikov virtuálny server od Web4U. Alebo ísť rovno na Google App Engine a vaša aplikácia bude v obláčkoch cestovať medzi kontinentami a hostingovými centrami.