Neobsahuje názory Henryka Laholy

Delphi pro PHP - první dojmy

Dnes přišlo CD s tímhle nástrojem. Jaké jsou moje první dojmy?

Stará ajťácká pravda říká: Počkejte si na druhý servicepack!

Na instalačním CD je 50 MB dat. Jasně, Delphi (4CD+DVD) to nejsou, je to trochu jiná váhová kategorie, ale stejně – těch 50 MB je včetně instalace InterBase.

Po instalaci, která je víceméně bez problémů, zabere Delphi for PHP (dál jen D4PHP) okolo 100MB místa. D4PHP si s sebou nesou i Apache2 server a PHP5.

Po spuštění se prostředí na první pohled nijak výrazně neliší od "klasických" Delphi. Vlevo Object Inspektor, vpravo paleta nástrojů. Zkusil jsem si rovnou napsat a "přeložit" první program – Formulář, na něm tlačítko a label. Po stisknutí tlačítka by se měl nápis změnit.

Formulář jsem vytvořil, tlačítko taky, label rovněž, po poklepání na tlačítko vytvořil editor šablonu pro metodu Button1Click. Do té chvíle šlo všechno dobře. Zkusil jsem napsat, jak jsem byl zvyklý z Delphi, něco jako $Label1->Caption="Hello world". Nic, nezdařilo se. Tedy, abych byl přesný – po spuštění se formulář objevil, ale nic nedělal.

Začal jsem hledat v manuálu. Popis tříd, popis metod, vlastností... vše tam bylo, ale chyběly ukázky syntaxe.

Hledal jsem tedy příklady. Klasická umístění, jako "examples" nebo "samples" v D4PHP neexistují. Nakonec jsem je našel v adresáři VCL a tam jsem se dozvěděl, že idea byla správně, ale něco tomu chybělo. Správně to totiž má vypadat takto: $this->$Label1->Caption="Hello world". Nojo, no...

Po překladu a spuštění to "už" "nějak" funguje. Dokonce se to celé tváří, že by to zvládlo i nějakou inteligentnější práci s AJAXem. Uvidíme...

Chtěl jsem vytvořit jednoduchý příklad a nahrát ho na server, abyste viděli, jak to celé funguje. Bohužel – při prvním kliknutí se objeví hlášení, že v PHP není nainstalován modul "Filter". Díval jsem se, není, opravdu. Dokonce není ani v mojí PHP distribuci. Není ani nainstalován na žádném z mně přístupných serverů. Našel jsem ho jen v té D4PHP distribuci. Takže smůla, ukázka bude až přijdu na to, jestli (a jak) to lze vypnout. Ta dokumentace je fakt prachbídná...

Bohužel, D4PHP je produkt, který vypadá, že byl šit hodně horkou jehlou a že marketing ("musíme to vydat do konce března") zvítězil nad testováním a dokumentací. Svědčí o tom např. zdrojové kódy VCL knihovny, ve kterém lze nalézt perly jako "// Native Input Filter, not working yet – //TODO: Our own input filtering class in native PHP code".

Moje resumé po prvním seznámení je: CodeGear Delphi4PHP je prokoučovaná příležitost. Za sedm tisíc obdrží zákazník nedodělaný polotovar, kterému chybí spousta věcí, především ale dokumentace. V porovnání s Adobe FLEX Builderem prohrává o několik délek. Je zjevné, že brzy bude muset následovat nějaký velmi komplexní servicepack.

Investice do koupě D4PHP je v tuto chvíli rovna vyhazování peněz. A pokud brzy nedodá CodeGear zdarma upgrade, promění se v naprosto vyhozené peníze.

Dne 28.03.2007

Twittni

Přidej do: Přidat na Conota Linkuj si ! asdf.sk StumbleUpon Toolbar Stumble It!

Komentáře

[1] (dgx - Mail - WWW) 28.03.2007, 15:41:16 [X] [D]
Co k tomu dodat...

Teprve minulý týden mi přišla první betaverze, kde vůbec bylo možné aplikaci spustit (v těch předchozích to končilo fatal errory, ve dva týdny staré verzi dokonce ani nešlo vkládat komponenty na stránku). Říkal jsem si super, konečně to můžu plnohodnotně otestovat, sepsal jsem hromadu připomínek, připravil k odeslání vývojářům, ale ještě než jsem to stačil poslat, koukám, že mi přišel email od Borlandu: "děkujeme za betatestování, produkt už je v prodeji"...

Arthure, buď rád, že naplánovaný termín vydání nebyl třeba 15. března, to bys ani ten $Label1->Caption="Hello world" nevyrobil :-)



[2] (Arthur Dent [openID] - WWW) 28.03.2007, 15:56:10 [X] [D]
Smutné je, že naprosto přesně vím, jak by vypadal ideální nástroj: Design formulářů a la Delphi, postaveno na rozhraní YUI (nebo DHTMLSuite nebo dojo nebo - ech, to je jedno, stačilo by cokoli co je v provozu), jednoduchý metajazyk pro skriptování eventů a překladač, který by z nich nadělal JS/PHP funkce.

Nemáte někdo tip na dostatečně flexibilní "Klik-and-šoup" editor, který by šel přiohnout třeba na komponenty z YUI? Překladač pro eventy si dodělám. :)

Teď mi to celé připomíná "Visual Basic 1.0 for DOS" - úžasné že "to jde", ale jinak nanic :)

[3] (FrozenDog ) 28.03.2007, 19:42:17 [X] [D]
Velka skoda, na toto som sa naozaj tesil. Teraz som nejako stratil chut to vobec instalovat. Dufam, ze tie opravy naozaj coskoro vyjdu.

Btw. - neskusal si aj prepojenie na databazu? Zaujimalo by ma, ci to pouziva nejake vlastne triedy na pracu s DB, alebo sa to obmedzuje na klasicke php funkcie. Jo, a vdaka za informacie v clanku.

[4] (Arthur Dent [openID] - WWW) 28.03.2007, 19:48:34 [X] [D]
[3] Viděl jsem tam adresář ADODB...

[5] (rushid - Mail - WWW) 28.03.2007, 23:41:27 [X] [D]
Možná něco jako tohle? http://www.whoa-framework.org/website/vas/1.0/?/editor/form

[6] (Arthur Dent [openID] - WWW) 28.03.2007, 23:47:36 [X] [D]
[5] No, víceméně... spíš méně... ale možná by to byla cestička. Spíš jsem si představoval nějakou desktopovou aplikaci, ale co už, že...

[7] (rushid - Mail - WWW) 29.03.2007, 00:26:16 [X] [D]
[6] VAS (http://www.whoa-framework.org/?/download/vas-ide-studio) funguje jako desktopova client/server aplikace, pokud si to spravne pamatuji, uz jsem dlouho nezkoumal

[8] (Radek Červinka - Mail - WWW) 29.03.2007, 09:59:56 [X] [D]
Chápu to tak, ze Delphi4Php funguje, ale máte problém s hostingem?

[9] (Arthur Dent [openID] - WWW) 29.03.2007, 10:35:04 [X] [D]
[8] Nikoli, chápete to naprosto špatně. Jde o to, že D4PHP vyžaduje ke spuštění aplikace doinstalování PHP modulu, který nebývá běžně instalován a ve standardní distribuci PHP ho nějak nevidím. Čili D4PHP aplikaci spustíte pouze tam, kde máte kontrolu nad serverem. Ale jak říkám - možná to tak není, možná to lze vypnout, ale ta dokumentace není nijak oslnivá...

[10] (Radek Červinka - Mail - WWW) 29.03.2007, 12:39:06 [X] [D]
Takze to chapu naprosto dobre.

CodeGear musi dodelalavat veci, ktere PHP samo neumi (a asi nebylo možno funkcionalitu vytvořit skripty), stejny problem byl treba dříve např. s knihovnou GD, taky drive nebyla ve std. nabidce hostingu.

Ale chápu, že to může být ted zrovna problém. Ale nelze to postavit tak, že Delphi4Php je zmetek.

Mimochodem VCL for PHP (tedy ta knihovna komponent) je opensource
http://vcl4php.sourceforge.net/vcldoc/

A aby to nebylo uplne OT, tak video, kde jde videt IDE v akci

http://dn.codegear.com/article/34119

a pro zajimavost se tady pise na cem to je postaveno:
http://blogs.codegear.com/davidi/archive/2007/02/22/32183.aspx

[11] (Arthur Dent [openID] - WWW) 29.03.2007, 13:06:56 [X] [D]
[10] Nic z toho co uvádíte nemění nic na tom, že D4PHP1.0 je v té podobě, v jaké byl dodán, nedodělaný a těžko použitelný zmetek, vhodný (vzhledem k mizerné dokumentaci a mizerné možnosti použití "venku") akorát tak na hraní.

VCL for PHP je sice opensource, každopádně ji lze považovat za další důkaz toho, že "opensource" neznamená automaticky "dobrý".

Za odkazy na "IDE v akci" děkuji.

PS: Ten PHP modul je http://pecl.php.net/package/filter

[12] (Libor - WWW) 30.03.2007, 06:21:32 [X] [D]
Dejme jim ještě čas na doladění - Delphi si to zaslouží :) .

[13] (Mirun - Mail - WWW) 01.04.2007, 10:46:40 [X] [D]
Tak s tím modulem Filter je to zvláštní, byl jsem v březnu kvůli D4PHP v Olšance na Borlandí předváděčce a ptal jsem se přesně na tohle, zda-li aplikace potřebují nějaký speciální modul na straně Apache (protože pokud ano, tak by to celé bylo na houby). Bylo mi odpovězeno že nikoliv, že stačí jen vzít adresář VCL a zkopírovat ho na server a že to poběží!

To je docela smutné...

Pak je smutné to, že byla uvolněna 1-denní! trial verze, možná k tomu, aby si člověk stihl vyzkoušet jednoduchou stránku s labelem, měl pocit že je to OK, zaplatil a nestihl si všimnout, že nic složitějšího v tom udělat nelze... ale v nejbližším SP to už půjde...

Nějak mám z toho, kam to spěje nepříjemný pocit, Borland všude vnucuje objednávky, navíc s "pojištěním software" což je zrovna u této firmy dost nebezpečné... vybírají peníze dopředu... mám podezření, že pak vydají nějaký minimální patch jako novou verzi... a ahoj...!

[14] (Radek Červinka - Mail - WWW) 02.04.2007, 07:32:15 [X] [D]
Myslim, ze se to da velmi dobre vyuzit intraweby,
ale uznavam, ze to s tim filtrem je blbe.

Ad. pojisteni software (zajima mne to taky - tohle je velmi zkracena citace z konference delphi):

R. Kubat (reditel borlandu CZ):

Pojisteni software zajisti dve vyhody:

a) vsechny upgrade zdarma po dobu jednoho roku
b) tri vyresene pripady technicke podpory
...
Kdo si PS NEKOUPI, samozrejme i nadale bude mit
moznost ziskat update a hotfixy po registraci
ZDARMA.

[15] (Mirun - Mail - WWW) 02.04.2007, 10:56:03 [X] [D]
Tak požadavek na "filter" je prý dočasného rázu, který by v příští verzi měl být nahrazen nativním řešením.

Workaround: You have two options: Set up the extension or delete the exception being raised from the VCL code. :)

[16] (Petr ) 05.06.2007, 09:45:33 [X] [D]
Tak jsem DELPHI for PHP taky vyzkoušel, Působí na mě vcelku příjemně, ale musim souhlasit s mizernou dokumentací....Je to opravdu málo. Snad se to zlepší, společně i s výše zmiňovaným nativním řešením "filtru". Nevíte, kdy by měla být vydána nová verze ?