Stabilní PHP-GTK2, PHP 5.3.x zatím nebude
5.3.2008 | | php
Jen taková krátká poznámka, no vlastně dvě. Že je PHP zejména v kombinaci s Apache a MySQL jednou z dominantních platforem pro web aplikace o tom dnes snad už nikdo nepochybuje. Že se PHP dá velmi dobře použít na command line aplikace to by také šlo. Ale že je v něm možné vytvářet i aplikace s grafickým uživatelským rozhraním - GUI, to už se tak moc neví.
A je to možná chyba, protože poslední únorový den roku 2008 byla vydaná první stabilní verze PHP-GTK2, jediného použitelného PHP GUI toolkitu. Jak už z názvu plyne, k vykreslování GUI se používá grafického toolkitu GTK+, který zaručuje širokou podporu platforem - od Linuxu, přes Windows až po Mac OSX, Solaris a další. V základu se tedy nejedná o nic jiného, než o obrovské céčkové PHP moduly se souborem tříd, které obalují a přizpůsobují originální céčkové GTK+ API. Verze 2 znamená kompletní přepsání celého API tak, že využívá objektových vlastností PHP5. Binárky pro Windows jsou distribuovány s verzí 5.2.5.
Odhlédneme-li od problémů s deploymentem PHP5 GUI aplikací, který se dá ještě nějak přežít, největším problémem GUI aplikací jsou memory leaky a threading. PHP je obecně úniky paměti docela proslulé, zejména protože se používá právě na webu, kde to až tak moc nevadí, po requestu, který skončí většinou do pár sekund je už zase všechno v pohodě, ale u GUI aplikace, která může běže i několik hodin, to pak sakra vadí. Vývojáři slibují, že by to mělo být mnohem lepší než u první verze PHP-GTK založené na PHP4. S threadingem problém zůstává a zůstane, protože PHP asi nikdy threading podporovat nebude, což může být pro určité aplikace dost limitující, proto se ani PHP-GTK2 určitě nijak masově používat nebude. Nicméně na nějaké menší administrační utility a nástroje doplňující web aplikace je klidně možné je použít.
Další zprávou je vydání prvního release candidate verze 5.2.6. Jak je vidět, PHP je ještě pořád plné bugů, na PHP 5.3 s podporou late static binding a namespaces si budeme ještě muset chvíli počkat. Před nedávnem se také do PHP komunity nahodil projekt vývoje PDO2, které by mělo pozměnit způsob vývoje tohoto rozšíření a umožnit databázovým vendorům lepší podmínky pro psaní rozšíření pro jejich databáze. Vývojář, který bude chtít pracovat na PDO2 musí souhlasit se speciálním ujednáním (CLA), což se některým core vývojářům nelíbí a považují to za krok stranou od open source pojetí vývoje, je možné, že tím PHP o nějaké své vývojáře i přijde, uvidíme.
2954x