reklama

Černobíle: Na weby s PHP, nebo ASP.NET?

Co je lepší pro tvorbu vlastních webových stránek a webových aplikací? Kultovní PHP nebo ASP.NET od Microsoftu? Přečtěte si tři různé názory a podělte se o své.

PHP

Pavel Nygrýn: Žily byly kdysi dávno zcela statické internetové stránky. Ale informatici byli nespokojení a tak vymysleli, jak je aspoň trochu rozpohybovat. A tak vznikly CGI skripty, neohrabaný a nepříliš bezpečný způsob, jak občas předat nějaká data na server a jak pomocí nich vygenerovat stránku. PHP je vlastně jejich přímým následníkem; se vším, co z toho plyne.

PHP (původně Personal Home Page, později rekurzívně PHP: Hypertext Preprocessor) je především stále poměrně jednoduchým skriptovacím jazykem. Pokud umíte nějaký běžný programovací jazyk (nejlépe céčko), vyznáte se v PHP do pár minut. Nemusíte dokonce ani umět příliš programovat, nejjednodušší způsoby využití zvládnete i metodou pokus-omyl. Chcete třeba jen vložit na každou (jinak statickou) stránku stejné záhlaví? Stačí do HTML napsat <?php include("hlavicka.html"); ?>. Impozantní, že?

Mnoho začátečníků oceňuje na PHP právě jeho jednoduchost. Nepotřebujete žádné vývojářské prostředí (pro úpravy stačí Poznámkový blok) a můžete se učit programovat přesně tak, jak se většinou naučíte i HTML – koukáním do cizích zdrojáků. PHP má totiž to, čemu se obvykle říká „strmá křivka učení“. PHP je stále nejrozšířenějším prostředím pro amatérské weby. Chcete zkoušet nanečisto? Nainstalujte si PHP (samozřejmě s webserverem a databází, obvykle MySQL) na svůj počítač: ať už máte raději Windows, nebo Linux, zabere to jen chvilku. Chcete se ukázat světu? Freehostingů s podporou PHP je dostatek, malých levných hostingů přehršel.

Klepněte pro větší obrázek

Podpora PHP? Asi to nejlepší, co vás může v programovacích jazycích potkat. Můžu skoro zaručit, že vám PHP hodně dlouho nepřipraví problém, který byste s trochou googlování nevyřešili téměř obratem, na trhu je i dostatek docela kvalitních knížek. Potřebujete funkci pro nějakou obvyklou činnost? Určitě už existuje. Potřebujete redakční systém pro váš web? Zkuste Drupal, WordPress nebo třeba Joomlu. Necítíte se dobře v anglických kramflecích? Ani to není díky obrovské komunitě uživatelů problém, čeština vám vystačí na hodně dlouho.

Ano, PHP mám skutečně rád, ale rozhodně to neznamená, že jde o spásu webů. Jakmile se pokusíte vyrábět větší a velké projekty (v podstatě cokoliv složitějšího než webový publikační systém nebo přímočarý e-shop), rychle zjistíte, že PHP prostě neumí zázraky a že jeho konkurenti začnou mít navrch (už jen třeba podporou Unicode nebo tím, že jsou plně objektoví a umí toho využít). Nic vám ale nebrání mít své „malé“ projekty na PHP a pro ty velké vybrat ASP.NET nebo třeba Javu. Na druhou stranu, když se budete snažit, půjde to i ve velkém – hádejte, v jakém jazyce je programována Wikipedie.

ASP.NET

Jan Sedlák: PHP vidím vedle vyspělé technologie ASP.NET jako chudého příbuzného, i když rozhodně nejsem nijak dokonalý programátor. Vývojem webových stránek jsem se profesionálně zabýval několik let a aktivně jsem využíval obě dnes srovnávané technologie.Klepněte pro větší obrázek

Jako velikou přednost .NET před PHP vidím především skutečnost, že PHP prostě není programovací jazyk, ale nástroj pro skriptování. Vytvořit něco pomocí ASP.NET díky tomu zabere mnohem méně času a technologie nabízí mnohem lepší možnosti.

Pokud chci v aspéčku vytvořit nějakou funkci, nemusím znovu objevovat kolo jako v případě PHP, ale většinou platí, že mohu využít nepřeberné množství již hotových objektů z knihovny. Argumentace, že pak není možné mít stoprocentní kontrolu nad psaným kódem, je naprosto irelevantní, protože v tomto případě se zde objekt tváří jako jeden řádek kódu s vlastním ID a v grafickém rozhraní je k němu pak možné případně navazovat různé vlastnosti. Ty pak lze samozřejmě zpětně kontrolovat a upravovat přímo ve vlastnostech objektu v kódovém záznamu. Typicky tedy nemusím napsat několik zvláštních objektů, než je konečně budu moci využít v celkovém konceptu, ale objekty si vytahám z knihovny, přiřadím jim vlastnosti a dále je pak napojuji dle vlastních potřeb.

Zdrojový kód PHP projektů je ošklivý, nepřehledný a hlavně až neuvěřitelně roztahaný. Opět zde platí, že .NET zjednodušuje zápis a namísto toho, aby bylo nutné vypisovat až směšně dlouhý příkaz pro připojení k SQL databázi, stačí z ToolBoxu vzít objekt pro SqlConnection a nastavit adresu databázového serveru. Ve zdrojáku se následně objeví krátké ID a nic víc. A to je samozřejmě ten nejjednodušší příklad.Klepněte pro větší obrázek

Funkcím typu include, které jsou v PHP považovány za hrozně cool a jednoduché, se můžu pouze smát. ASP.NET to ještě více jednoduše řeší na všech frontách, ne pouze u vložených stránek a menu.

Zmínit se musím o výkonném programovacím nástroji v podobě Visual Studia, případně jeho zdarma dostupných Express edicí. Takový komfort a funkční výbavu žádný PHP nástroj neposkytne. A to nemluvím o možnostech využití programovacích funkcí Csharp, C++ a samozřejmě Visual Basic. Zapomenout nelze ani na mnohem lepší spolupráci s DB serverem MS-SQL. Směšně nevýkonné MySQL se hodí snad pouze pro soukromý blog.


Další pohled na PHP

Jakub Čížek: PHP má oproti konkurenčním jazykům jednu velkou výhodu. Můžete jej použít stejně efektivně jak na malý skript, který vám vyřeší během sekundy domácí úkol nebo seminární práci ze statistiky (vlastní letitá zkušenost), tak na robustní objektově orientovanou aplikaci ve stylu Facebooku či mnoha dalších velkých webů, které den co den bortí mýtus, že PHP se hodí jen na malé webové projekty.Klepněte pro větší obrázek

Je to možné jen díky tomu, že se PHP chová jako chameleon. Pro vývoj aplikací v PHP můžete použít moderní vysokoúrovňový objektově orientovaný přístup, kdy vše budete zapouzdřovat do (stále jednoduchých) objektů, stejně tak ale můžete psát kód procedurálně a jediným objektem budou asociativní pole. Začátečníci také ocení, že je PHP dynamicky typový, do proměnné tedy můžete uložit prakticky cokoliv, aniž byste předem definovali její typ.

Díky tomuto přístupu a velmi kvalitní dokumentaci se dnes považuje za PHP programátora téměř každý, kdo rozumí příkazu echo, kupodivu ale mnoho z nich dodnes netuší, co je to Singleton nebo Factory a neznají základy MVC architektury. PHP kód díky své jednoduchosti generuje tisíce špatných kodérů, kteří bez problémů přetíží server chybnými SQL dotazy, na druhou stranu jen díky PHP explodovala před lety jaderná puma jménem Web 2.0. Díky minimálním počátečním nákladům totiž dávají svaté trojici Apache + MySQL + PHP přednost prakticky všichni autoři webových startupů.

Černobíle vychází každých 14 dní v časopise Computer. Dva redaktoři se vždy se svými názory střetnou v zajímavé diskusi k počítačovému tématu. Computer 3/09 vychází 12. února!

Aktualizováno: Můžete se vyjádřit i vy, přidali jsme anketu.

Témata článku: Časopis Computer, Programování, Unicode, Černobíle, Chameleon, Puma, Wordpress

113 komentářů

Nejnovější komentáře

  • zip07 16. 2. 2009 14:25:01
    Díky. :-) Mně taky zrovna nenapadá žádnej příklad, jen jsem v tom chtěl...
  • Rudidlo 16. 2. 2009 8:17:44
    SELECT * není náročnější než select všech sloupců, ale nedokážu si...
  • zip07 16. 2. 2009 1:09:28
    Co to zas kecáš magore? Jednak mám vlastní server, jednak jsem to v životě...
reklama
Určitě si přečtěte

UPC překopli páteřní kabel. V Brně i druhý den nejede internet ani kabelovka

UPC překopli páteřní kabel. V Brně i druhý den nejede internet ani kabelovka

** V Brně byl velký výpadek služeb UPC ** Důvodem je překopnutý páteřní kabel ** V některých lokalitách služby stále nefungují

5.  12.  2016 | Jakub Čížek | 100

17 expertek Microsoftu předpovědělo rok 2027. Splní se alespoň něco?

17 expertek Microsoftu předpovědělo rok 2027. Splní se alespoň něco?

** Zmizí klasické vyhledávače ** Budeme programovat buňky ** Kvantové počítače překonají šifry

6.  12.  2016 | Jakub Čížek | 34

ASUS ZenBook 3 se začal prodávat v Česku. Je ve všem lepší než MacBook, ale bude to stačit?

ASUS ZenBook 3 se začal prodávat v Česku. Je ve všem lepší než MacBook, ale bude to stačit?

** Novinka od Asusu míří přímo proti MacBooku od Applu ** Nabídne daleko více výkonu za stejné peníze

2.  12.  2016 | David Polesný | 145

11 tipů na dobrý stolní počítač: od základu po herní mašiny

11 tipů na dobrý stolní počítač: od základu po herní mašiny

** Postavte si stolní počítač! Máme pro vás 11 vzorových sestav s rozpisem komponent ** Většina tipů cílí na hráče, věnujeme se ale i základnímu PC a počítačům na střih videa ** Nadělte si nový počítač třeba pod stromeček

5.  12.  2016 | Adam Kahánek | 73


reklama