👋 Nový obsah na borekb.cz

Info Tento blog je v "read-only módu" a nový obsah již nebude přibývat. O vývoji píšu na DevBlog.

Je ASP.NET příliš komplikované?

K zamyšlení v nadpisu mě přivedl článek ASP.NET isn't always the right tool. Napsal ho člověk, který má ASP.NET rád, pracuje s ním a může se pyšnit titulem ASP.NET MVP. Přesto do jednoduchých scénářů doporučuje PHP nebo podobné technologie. Hm…

V článku Karl Seguin píše, že ASP.NET je skvělá platforma pro enterprise vývoj webových aplikací, ale že je pro většinu „běžných“ webových vývojářů příliš složitá – musejí zvládnout objektově orientovaný jazyk, rozsáhlý .NET Framework, musejí se naučit používat životní cyklus stránky, postback, viewstate a řadu dalších věcí, které jsou na jednu stranu mocné, na druhou stranu znamenají takový posun paradigmatu webového vývoje, že se pro řadu vývojářů stává spíš nepřítelem než pomocníkem. Pro některé jednodušší scénáře proto Seguin doporučuje PHP nebo ASP (bez .NET).

Z vlastní zkušenosti můžu říct, že ASP.NET má skutečně poněkud pozvolnějí křivku učení. Pokud člověk zvládá HTML, CSS, základy programování a tak, může v PHP začít dělat reálné věci už za pár minut. Pokud se o totéž pokusí u ASP.NET bez znalosti celého frameworku a koncepce ASP.NET, brzy narazí.

Kde nastala chyba? Jak je možné, že Microsoft MVP pro jednoduché scénáře doporučuje PHP? Je ASP.NET v principu tak komplikované? Vydal se Microsoft špatnou cestou? Nastavil výchozí chování webů vytvořených ve Visual Studiu tak špatně, že to některé lidi děsí? Je posun paradigmatu webového vývoje tak značný, až se stává nežádoucím?

Asi od každého trošku, ale rozhodně si nemyslím, že se Microsoft vydal špatnou cestou. Udělal dobrou věc – pro lidi, kteří jsou ochotni investovat trochu úsilí a proniknout do tajů fungování ASP.NET, připravil kvalitní platformu výrazně zjednodušující webový vývoj. Je pro některé lidi nepřekonatelným problémem objektově orientovaný jazyk? Určitě. Vadí někomu událostní model při webovém vývoji? Nepochybně. Je pro někoho ASP.NET až příliš velkou abstrakcí nad HTML, HTTP apod.? Vsadím se, že ano. A chtěl bych, aby se Microsoft vydal třeba cestou Ruby on Rails nebo jiného MVC frameworku s dynamickým jazykem v pozadí? Ne.

ASP.NET je skutečně komplikované. V PHP jsem mohl pracovat prakticky hned, zatímco u ASP.NET jsem prvních pár dní strávil čtením a čtením. Byla to však velmi dobrá investice – nejen že je v ASP.NET většina věcí hotová rychleji než třeba v PHP, ale znalost .NET Frameworku lze využít i ve zcela jiných oblastech. No a když se podívate třeba na podobnost ASP.NET a XAML, je jasné, že čas nebyl ztracený zbytečně :)

Článek Karla Seguina má proto trochu zavádějící název – ASP.NET je vždy správným nástrojem, akorát ne pro každého. Bez dobrého pochopení ASP.NET je lepší se této platformě zdaleka vyhnout, ale osobně jsem přesvědčen, že proniknout do jejích tajů se vyplatí každému, i kdyby nakonec skončil u PHP.

Zařazeno do kategorií | | |
Zephir (Ne, 2006-05-14 17:56):

Nikomu se přece nebrání začít psát v ASP.NET stránky tak, jako v ASP, čili s využitím všehovšudy šesti insintrických objektů, jelikož ASP.NET je s ASP kompatibilní shora. Nemusíš dokonce nic vědět ani o žádných třídách a konstrukcích OOP, ASP.NET stránka se dá napsat z voleje stejně, jako PHP.

Postupně lze do portfolia další funkce frameworku přibírat a nastavit si tak učící křivku dle potřeby.

Trupik (Ne, 2006-05-14 18:06):

Já nevím, ale podle mne jde psát sebemenší webová aplikace v asp.net alespoň tak stejně rychle jako v PHP a věci jako MasterPages, DataBound controls, validátory, uživatelské ovládací prvky a mnohé další vývoj ještě urychlují.

U php mi například strašně vadí práce nepohodlná práce s formuláři a ovládacími prvky – kterou ASP.NET má vyřešenou přesně tak, jak si to programátor představuje – kliknutí na tlačítko zkrátka zavolá funkci OnClick.

Můj web a můj miniaturní složitými funkcemi neoplývající redakční systém jsem jsou v asp.net a nikdy jsem nelitoval, že jsem si vybral tuhle platformu.

Petr Šnajdr (Ne, 2006-05-14 18:22):

A kam by se dalo zařadit psát aplikace v PHP pod .NET frameworkem :)

„The Phalanger is a complex solution giving web-application developers the ability to benefit from both the ease-of-use and effectiveness of the PHP language and the power and richness of the .NET platform. This solution enables developers to painlessly deploy and run existing PHP code on an ASP.NET web server and develop cross-platform extensions to such code taking profit from the best from both sides. Compatible with PHP 5.0, the object model in Phalanger enables to combine PHP objects with the .NET ones. It is possible to use a class written in PHP from a .NET application or even to import a .NET class (written for example in C# or Visual Basic .NET) into PHP scripts provided that this class respects the PHP object model implemented in the Phalanger. The Phalanger is the only existing PHP compiler which produces .NET Framework MSIL bytecode.“

http://www.php-compiler.net/

Petr (Ne, 2006-05-14 18:39):

Mě se naopak zase zdá že PHP je mnohdy dost podcenované. OOP zvládá již celkem slušně a pokud si naprogramuejte slušný framework, ani to onClick není problém :)

Borek (Ne, 2006-05-14 19:03):

2 Zephir: Takovýto postup bych silně nedoporučoval, zvyk je totiž železná košile. Podle mého je rozhodně lepší obětovat pár hodin nebo dní čtení a začít ASP.NET dělat „správně“ už od začátku.

2 Trupik: Ano, každá, i sebemenší aplikace jde v pohodě dělat v ASP.NET. Proto je v článku napsáno „… ASP.NET je vždy správným nástrojem…“.

2 Petr: OnClick je jen jedna z mnoha věcí. Nedokážu si představit, jak bych třeba takový RoundedBox dělal v PHP – když v ASP.NET v půlce stránky narazím na ovládací prvek, který potřebuje přidat odkaz na CSS stylesheet do HTML hlavičky, není to žádný problém. V PHP už se <head> sekce odeslala prohlížeči…

Borek (Ne, 2006-05-14 19:05):

Ještě bych chtěl Petra požádat o nevkládání odkazu na jakýsi web o mobilech. Díky.

Leo (Ne, 2006-05-14 19:06):

ASP.NET je tak velkou abstrakci nad HTML, HTTP, ze se casto tvari jakoby na nich bylo nezavisle, a znam i tvurce webu v ASP.NET, kteri se zcela bezelstne divili, ze pro pouziti obycejneho odkazu opravdu neni treba JavaScript, formular nebo postBack, ale staci proste HTML a zbytek (pozadavek GET) zaridi prohlizec sam. Leo

Jakub Podhorský (Ne, 2006-05-14 19:08):

to Petr: jo ale v PHP to musíš všechno napřed udělat od píky :) v ASP.NET to už máš všechno pěkně funkční :)

mimochodem některý věci v objektovým návrhu PHP jsou opravdu zběsilý :)

Leo (Ne, 2006-05-14 19:08):

„když v ASP.NET v půlce stránky narazím na ovládací prvek, který potřebuje přidat odkaz na CSS stylesheet do HTML hlavičky, není to žádný problém. V PHP už se <head> sekce odeslala prohlížeči…“

To v ASP.NET skutecne tvorite (nemyslim jen vy osobne) takovym logickym zpusobem? :-) Leo

Borek (Ne, 2006-05-14 19:08):

2 Leo: Visual Studio by mělo při svém prvním spuštění dát uživateli jednoduchý test na základy HTML/HTTP a pokud neprojde, okamžitě se odinstalovat :)

Jakub Podhorský (Ne, 2006-05-14 19:11):

Borek: snad jsem pochopil jak to myslíš ale na to stačí pak použít output buffering a nebo používat šablonovací systém

Borek (Ne, 2006-05-14 19:11):

2 Leo podruhé: Není to typický scénář, ale konkrétně v RoundedBoxu jsem to potřeboval. Nifty corners totiž fungují tak, že vyžadují vložení určitého kódu do <head> a když se tuto funkčnost snažíte zapouzdřit do ovládacího prvku, není jiná možnost.

Borek (Ne, 2006-05-14 19:13):

2 Jakub Podhorský: Asi jsi to pochopil správně, ale taky se snad shodneme, že šablonovací systém není PHP.

Jakub Podhorský (Ne, 2006-05-14 19:14):

to Borek: to je jasný, i když občas o tom dost pochybuju :) já měl namysli nějaký na způsob Smarty nebo tak

Borek (Ne, 2006-05-14 19:16):

2 Jakub Podhorský: Chápu, co jsi chtěl říct, ale Smarty != PHP. No myslím, že si rozumíme :)

Borek (Ne, 2006-05-14 19:18):

2 Petr Šnajdr: Phalanger znám, ale pokud se někdo nechce zabývat ASP.NET, asi nemá moc důvod používat místo Zend Engine nějakou náhradu, jakkoliv technicky zajímavou.

myshpa (Ne, 2006-05-14 19:38):

„Není to typický scénář, ale konkrétně v RoundedBoxu jsem to potřeboval. Nifty corners totiž fungují tak, že vyžadují vložení určitého kódu do <head>“

Nic z toho, co jsi o PHP napsal, neni tak uplne pravda. Dosahnout podobneho chovani (mini MVC na 150 radcich), pak doprogramovanych komponent do Smarty a mas stejne chovani i v PHP (+ mnohem vetsi kontrolu nad vyslednou aplikaci pri zachovani rychlosti vyvoje).

ASP.NET je dobra vec pro „lepice kodu“… a lidi pisici „spaghetti SQL wrapped in spaghetti PHP wrapped in spaghetti HTML“ k nim patri taky, nezlob se.

Borek (Ne, 2006-05-14 19:50):

2 myshpa: PHP, šablonovací systém apod. se tu už řešily. Co se ASP.NET týče, plně souhlasím, že je to dobrá věc pro všechny, pokud jsou ovšem ochotni se něco málo na začátek naučit.

rarous (Po, 2006-05-15 04:02):

2 myshpa: Pokud někdo zná velmi dobře svoji platformu, nic pro něj neni problém ;) Tím myslím, že v PHP není problém používat frameworky a MVC a v ASP.NET není problém mít plnou kontrolu nad kódem, stačí jen chtít mít potřebné know-how. Osobně mám raději ASP.NET (jsem za něj placenej :D ), protože je založeno na OOP a psaní v něm je imho elegantnější (začínal jsem psaním desktopových aplikací ve VB a Delphi), to ovšem neznamená, že bych neměl ponění o tom jak funguje web. Naopak si myslím, že to vím lépe než spousta PHPkářů ;)

rarous (Po, 2006-05-15 04:08):

PS: jedinej důvod, proč PHPkáři nemaj rádi ASP.NET je ten, že je to od Microsoftu. Jenže spousta firem, který psaly jedině v PHP a nikdy jinak, tak potom, co viděly, jak ASP.NET usnadňuje vývoj a spoustu rutynní práce nemusí vůbec dělat, začaly o tom dotnenu uvažovat a potom ho i nasadily ;) Tímto ale neříkám, že je ASP.NET jediné správné řešení, to ani náhodou, je tam pár chyb, které mi vadí, ale ve výsledku PLUSy převáží…

Error414 (Po, 2006-05-15 04:29):

Jsem PHPkar a ne ze bych nemel rad ASP .NET, to ne, ale namam rad ASPckare co pisi o PHP jak je hrozne a vubec mu nerozumi. Kdyz by psali rozumne duvody proc PHP ne tak budiz. Ale argument v PHP se da bastlit, musi se vsechno psat od piky atd. u me neobstoji.

Uz jen ten priklad se spozdenym odesilanim hlavicky o autorovi cosi napovida.

Ja nikdy nenapsal nic o ASP .NET protoze mu nerozumim tak abych si mohl dovolit ho napadat.

rarous (Po, 2006-05-15 04:42):

2 error414: Rozhodně bych se do PHP nepouštěl, kdybych ho neznal. Člověk by měl znát více technologií, ikdyž nejsou jeho primárním nástrojem, už jen kvůli možnosti srovnání (doporučuji k prostudování J2EE nebo Ruby on Rails). A troufnu si tvrdit, že je na tom Borek velice podobně (ještě lépe) jako já ;)

von Banhoff (Po, 2006-05-15 04:42):

pro drobné a nekomerční projekty jako je třeba blog, diskuzák nebo školní stránky má php proti asp pár podstatných výhod, kombinaci php, mysql a apache si dokáže nainstalovat zadarmo a legálně středně pokročilý uživatel, takže může svůj projekt ladit na domácím pc offline a navíc pokud projekt dokončí, najde spoustu free webhostingů, které tuhle kombinaci podporují

Error414 (Po, 2006-05-15 05:17):

rarous: Mozna si vyjimka ze vis o cem mluvis, ale argumenty „bastliru“ me stvou. Myslim ze az se dodela zend frame work ze to PHP hodne pomuze.

Ruby on Rails je podle me frame work a ne pravoplatny jazky.

Jakub Podhorský (Po, 2006-05-15 05:22):

von Banhoff: to bychaž tak netvrdil freehostingů pro ASP.NET je i v čechách už dost a dokonce bych možná řekl že tak o jeden víc než pro PHP :) navíc i v ASP.NET můžeš používat nástroje zdarma….Visual Web Developer Express je zdarma a má v sobě i web server a .NET Framework je taky zadarmo a databáze MSSQL Server 2005 Express je taky zadara a instalace je mnohem ale mnohem víc jednodušší než v PHP takže asi tak

rarous: docela souhlasím s .NET teprve začínám a pořád dělám v PHP takže docela tyhle dvě věci můžu porovnat a je fakt že čas vynaložený do .NET se my vyplatí i když tímhle neodsuzuju PHP to ne…není to tak špatná jazyk jen má svoje potíže tak ako má i některý ASP.NET

rarouš (Po, 2006-05-15 05:49):

2 jakub: ano, přesně to tu tvrdím.

2 von Banhoff: Jak napsal Jakub, ASP.NET je zdarma včetně všech další nutností včetně vývojového prostředí (o tom si může PHP nechat zdát). Navíc si ho můžež bez problémů nainstalovat na své oblíbené linuxové dostribuci díky projektu MONO a díky Phalangeru dostaneš pro tebe asi smrtící kombo PHP na dotnetu pod linuxem s 10× větším výkonem…

Nudlová polívka

Jakub Podhorský (Po, 2006-05-15 06:55):

Error414: ano Zend Framework by pomohl kdyby už vyšel dávno nebo alespoň přímo s PHP5 ale kdo ví jak to dopadne

Error414 (Po, 2006-05-15 07:10):

Ja doufam ze to PHP trochu zvedne, zatim existuje pear, ale to je jen nepouzitelny tloustik. Zatim je to jen beta takze je to take nepouzitelne.

rarouš (Po, 2006-05-15 07:37):

Error414 psal:

Ruby on Rails je podle me frame work a ne pravoplatny jazky.

Ale to je J2EE nebo ASP.NET taky… Právoplatných jazyků pro ASP.NET existuje desítky, stačí si jen vybrat…

Error414 (Po, 2006-05-15 07:45):

V tom pride nechapu proc ho stavite proti PHP.

honza (Po, 2006-05-15 07:53):

Ja tedy neznam ASP.net ale rekl bych ze je podobne J2EE (aspon co se tyce OOP :) ) Programoval jsem v PHP a presedlal na J2EE. Musim priznat ze rychlost vyvoje v j2EE je srovnatelna s php. Kdyz clovek vi co dela. Nicmene jsem se ted potkal s Portlety, ktere by meli byt velmi mocne. Pravda jsou, ale ma to jeden hacek chceteli neco trochu jinak mate bud smolika a nebo si uzijete nejake ty bezesne noci. Jsou na tom komponenty ASP.net jinak? nebo je to same?

Borek (Po, 2006-05-15 09:26):

2 error414:

Uz jen ten priklad se spozdenym odesilanim hlavicky o autorovi cosi napovida.

Tohle bych si mohl vzít osobně :) Ale nechme stranou teoretické řečičky – podívej se, co je a jak funguje RoundedBox a potom sem napiš, jak bys to dělal v PHP. Myslím to vážně.

Ruby on Rails je podle me frame work a ne pravoplatny jazky.

Tady jaksi není pro tvůj názor místo, protože Ruby on Rails je framework a Ruby je jazyk. To jen pro ujasnění…

V tom pride nechapu proc ho stavite proti PHP.

Framework je jen slovo – v současnosti sice populární, ale nikoliv 100% přesné. Možná by věci byly srozumitelnější, kdyby se mluvilo o platformě – ASP.NET, RoR, PHP nebo J2EE jsou všechno platformy pro webový vývoj a porovnávat je lze.

Borek (Po, 2006-05-15 09:31):

2 honza: Osobně jsem se s J2EE neskamarádil. Ideově je určitě blíž ASP.NET než PHP, ale nemohl jsem se zbavit pocitu, že je všechno zbytečně složité – na každou blbost musím znát deset návrhových vzorů apod. Ale o tom jsem už psal

rarouš (Po, 2006-05-15 09:34):

Problém PHP je v tom, že nepoznáš, kde končí jazyk a začíná framework, protože je to bastl. Na zajímavou myšlenku se začaly živelně nabalovat nejrůznější „věci“, navíc si to každej udělal po svým a z toho vzniklo to co vzniklo – nepřehledné pomalé PHP bez nějakékoli koncepce či směru… Možná že se začíná blískat na lepší časy, ale není to pozdě? Jinou otázkou je, jestli se PHP má ubírat směrem ASP.NET/JSP. Podle mě se snaží Zend PHP necpat někam, kam nepatří a tím mu ještě více ubližuje…

Borek (Po, 2006-05-15 09:45):

Myslím, že Zend Framework jde spíš cestou Ruby on Rails. Podle mě je to dobrá volba.

honza (Po, 2006-05-15 10:33):

2Borek: aha, no po precetni toho clanku jak se potykas s javou uz chapu. Uz jenom to ze si pracoval na JBuilderu stacilo abys mlatil hlavou o zed. Lepsi volba na toto by byli NetBeans. Ale ja nemam prilis v lasce frameworky, ktere me nuti abych se ubiral jednim smerem. Vzit z nich casti, ktere potrebuji ale jejich spojeni nechte na me, jak ja budu potrebovat.

Error414 (Po, 2006-05-15 10:40):

RoundedBox: Pokud jsem to pochopil dobre tak to funguje tak ze se obali prvek nekolika divy do kterych se vlozi obrazek ktery se generuje pomoci zadanych parametru.

V PHP pri pouziti sablonovacich systemu toho dosahnes take.

Tady jaksi není pro tvůj názor místo, protože Ruby on Rails je framework a Ruby je jazyk. To jen pro ujasnění…

a co sem asi rekl???

Myslel jsem ze tu budou padne argumenty a ne jen placan do vody. Problém PHP je v tom, že nepoznáš, kde končí jazyk a začíná framework, protože je to bastl. scimz nesouhlasim.

Borek (Po, 2006-05-15 12:27):

2 Error: RoundedBox jsi pochopil jen částečně. Umí generovat oblé rohy i bez obrázků, a to pomocí Nifty Corners. Ty vyžadují vložení odkazů na externí stylesheety a JS knihovny do HTML hlavičky, což vysvětluje, proč když ASP.NET runtime uprostřed stránky narazí na prvek <RoundedBox>, musí občas modifikovat HTML hlavičku.

S možnostmi šablonovacích systémů v PHP nejsem úplně dobře seznámen (protože se přikláním k názoru, že PHP je samo o sobě určitým šablonovacím systémem), takže nemůžu fundovaně odpovědět, zda je toto dosažitelné i ve světě PHP či nikoliv. Vadí mi však, že ani pořádně nevíš, jak RoundedBox funguje, a klidně hnedka napíšeš, že vkládání odkazů do hlavičky o mně „něco vypovídá“.

Ad RoR: Nevím, co jsi řekl, ale napsal jsi „Ruby on Rails je podle me frame work a ne pravoplatny jazky“, což je věta vyjadřující tvůj názor. Já jsem jen odpověděl, že to není žádný názor, ale fakt. No ale to je prkotina :)

Jinak s raroušem, stejně jako ty, nesdílím tak kritický názor na PHP. Je to dobrá platforma, jinak by ji těžko používalo Centrum.cz nebo Yahoo! Osobně za ještě lepší platformu považuju ASP.NET, čímž už se od tebe liším, ale prosím – nepodsouvej mi, že svým článkem napadám PHP. Ukaž mi konkrétní místa, kde PHP znevažuju.

Když to shrnu, ve svých komentářích jsi napsal následující:

  • Říkáš, že je článek namířený proti PHP („namam rad ASPckare co pisi o PHP jak je hrozne“)
  • Říkáš, že PHP nerozumím („… a vubec mu nerozumi“)
  • Říkaš, že „argument v PHP se da bastlit, musi se vsechno psat od piky atd. u me neobstoji“, aniž bych já nebo kdokoliv před tvým komentářem něco podobného napsal.

Opravdu se mi nelíbí, že se navážíš do mě, do zdejšího obsahu i do ostatních komentujících čtenářů, aniž bys to nějak podložil.

Chápu, že asi právě mažeš tento blog ze čtečky, ale kdybys sem náhodou ještě někdy zavítal, jsem člověk silně preferující věcnou debatu :) Měj se pěkně.

rarouš (Po, 2006-05-15 12:44):

Můj názor na PHP není kritický :) Pouze poukazuji na fakta. Já také mám několik webů v PHP, dokonce jsem v něm byl nucen napsat i webovou službu a nečinilo mi to potíže. Přiznávám že nejsem na PHP expert, ale můžu říct, že mu rozumím, pronikl jsem do tajů jeho architektury i do způsobu psaní v PHP.

Ale když porovnám efektivnost PHP s ASP.NET, nedá se svítit, v žádném případě mi nepřijde PHP lehčí/lepší/lev­nější. Stačí se podívat na pravidla pro psaní názvů funkcí PHP – ups žádná nejsou. Každá funkce používá jiný způsob zápisu (někdy camelcasing jindy podtržítka), jiné pořadí paranetrů (někdy jsou výstupní parametry na začátku, jindy na konci), jeho objektový model (dynamické typování (osobně ho nemám rád), nebo kopírování objektů místo předávání referencí je třešiňkou na dortu). Někdo tyhle věci může považovat za klady, ale já ne.

Martin (Po, 2006-05-15 15:24):

2rarouš: V PHP 5, které tu je už docela dlouho, k žádnému kopírování objektů při předávání nedochází.

Co ti konkrétně vadí na objektovém modelu v PHP? Souhlasím, že není zrovna „silný“, nicméně spousta lidí nadává na nepovedený objektový model v PHP, aniž by věděli proč. Prostě jen proto, že to říká skoro každý. Spousta lidí (netvrdím v žádném případě, že snad zrovna ty) ale pak není schopna efektivně využít ani ten model, který je v PHP. OOP jim vskutku nic moc neříká.

error414 (Po, 2006-05-15 16:00):

Borek: se omlovam pokud se ti to zda jako navazeni, to jsem nemel v umyslu.

adí mi však, že ani pořádně nevíš, jak RoundedBox funguje, a klidně hnedka napíšeš, že vkládání odkazů do hlavičky o mně „něco vypovídá“.

si spatne pochopil, myslel jsem tim ze pises ze v PHP nelze pridat do hlavicky odkaz kdyz uz se vytvari prostredek stranky.

Sablonovaci system pro PHP pracuje tak ze se nejprve vytvori cela stranka. Vubec nezalezi na rozmisteni prvku, PHP stim pracuje jako s celkem, takze muzes menit cokoliv kdykoliv. Az je vygenerovana tak se posle prohlizeci.

Říkaš, že „argument v PHP se da bastlit, musi se vsechno psat od piky atd. u me neobstoji“, aniž bych já nebo kdokoliv před tvým komentářem něco podobného napsal. vtomhle mas pravdu, sem se nechal unest, je to věčný argument proti PHP

Říkáš, že je článek namířený proti PHP („namam rad ASPckare co pisi o PHP jak je hrozne“) Nikdy jsem o ASP nic skaredeho nenapsal, nikdy jsem nenapsal ze PHP je lepsi technologe. ASP nerozumim takze o nem nemohu psat.

Opravdu se mi nelíbí, že se navážíš do mě, do zdejšího obsahu i do ostatních komentujících čtenářů, aniž bys to nějak podložil.

To jse nechtel

BTW: ze ctecky ho nemazu

rarous (Po, 2006-05-15 16:49):

O ASP klidně piš, že je to mizerná technologie, páč je to pravda…

Borek (Po, 2006-05-15 18:08):

2 error: Výborně, ohledně RoundedBoxu se konečně shodnem. Když si přečteš všechny komentáře, zjištíš, že se tady tohle téma řešilo už včera – s Jakubem Podhorským to byla konverzace na pár řádků a bez osobních narážek. Skončila větou

Chápu, co jsi chtěl říct, ale Smarty != PHP. No myslím, že si rozumíme :)

Ještě jeden námět k zamyšlení: je věta „v PHP nelze pridat do hlavicky odkaz kdyz uz se vytvari prostredek stranky“ pravdivá či nikoliv?

Jinak beru, že pokud ses někoho dotkl, udělal jsi to nevědomky. Já jen opravdu nemám rád, když mi někdo podsouvá něco, co jsem neřekl/nenapsal/ne­udělal.

Martin (Po, 2006-05-15 18:16):

2Borek: je věta „v PHP nelze pridat do hlavicky odkaz kdyz uz se vytvari prostredek stranky“ pravdivá či nikoliv?

Da se využít output buffering.

Leo (Po, 2006-05-15 21:03):

"2Borek: je věta „v PHP nelze pridat do hlavicky odkaz kdyz uz se vytvari prostredek stranky“ pravdivá či nikoliv?

Da se využít output buffering."

To si pletete hlavicku http a znacku head v html. Pokud si uprostred stranky vzpomenete, ze potrebujete do head pridat nejake css, tak si sice vzpomenete, ale poradi v html kodu uz nezmenite… na to je potreba myslet predem. Leo

Leo (Po, 2006-05-15 21:07):

"v PHP nelze pridat do hlavicky odkaz kdyz uz se vytvari prostredek stranky“

To zalezi na tom, cemu rikate PHP :-) Leo

Borek (Po, 2006-05-15 21:13):

2 Leo: Fikaná odpověď :) Asi bude lepší nechat to jako řečnickou otázku :)

Martin (Po, 2006-05-15 21:32):

Leo: Ale nepletu. Neni problém při použití OB před odesláním vystupu jej změnit, tedy například si ten vystup jeste rozparsovat a doplnit do html hlavicky dalsi info. Je to poněkud hardcore, ale jde to.

rarous (Út, 2006-05-16 04:12):
Error414 (Út, 2006-05-16 04:17):

Opravdu jsem nemel v umyslu si te rozhadat.

Ještě jeden námět k zamyšlení: je věta „v PHP nelze pridat do hlavicky odkaz kdyz uz se vytvari prostredek stranky“ pravdivá či nikoliv?

Jde to pri pouziti sablonovacich systemu, treba teng se musi kompilovat s PHP tudiz v jistem smyslu je to soucast PHP. (to je uz ale puntickarstvi).

Leo (Út, 2006-05-16 11:52):

„Neni problém při použití OB před odesláním vystupu jej změnit, tedy například si ten vystup jeste rozparsovat a doplnit do html hlavicky dalsi info.“

Fuj. Neni lepsi si to (vystup) nejdriv poskladat v hlave? Leo

Jakub Podhorský (Út, 2006-05-16 14:22):

no asi tady uvedu pár věcí na pravou míru :)

šablonovací systémy v PHP: fungují na principu že mám někde uloženou šablonu stránky(dejme tomu něco hodně vzdáleně podobného master page v ASP.NET :D) tu v PHP načtu a začnu jí parsovat…buď vlastním parserem nebo pokud využívám XML značky v té šabloně tak pro proženu SimpleXML a vyměním všechny moje vlastní konstrukce v té šabloně za PHP kód (v tenhle moment je dobrý si to někam uložit ať to pořád neparsuju a trochu to urychlím) a nakonec to něchám protáhnout(to je výraz bože :D) PHPčkem a pošlu ne výstup

někdo tady psal chyby v objektovém návrhu PHP: začal bych asi dědičností která se mi tady nezdá až tak nějak dořešená do konce ale jakž takž se jenkční polymorfismus – to je v PHP spíš taková pohádka :) pak pří využívání objektů se občas stávají nějaké memory leaky(o těch tuším psal dgx) dál bych asi ještě se trchu zmínil o vyjímkách který taky nejsou dotažený ale tam až tak o objektovej model nejde a jako další problém PHP bych asi uvedl to dynamické typování…někomu je to příjemné ale mě osobně to přijde jako velká slabina ale asi jsem už duchem přesedlal na C#:)

k tomu pojmenování funkcí v PHP: s tím se už bohužel nic nedá dělat…nějaký pravidla pro pojmenová se začali používat až v době kdy v tom byl bordel a napravit se to už jaksy nedá ale když se podíváte na nové funkce tak ty už nějaké konvence dodržují

mimochodem k tomu output bufferingu: je jasný že jakmile jednou odešlu data na výstup už s nima nic neudělám(to nejde ani v ASP.NET) tam pak přichází na řadu JS ale tahle diskuze pokud vím není o JS :)

rarous (Út, 2006-05-16 15:42):

Rád bych se ještě vrátil k titulku článku.

ASP.NET neni komplikované, je robustní. To, že toho umí 10× víc než ASP/PHP, zněho hned nedělá komplikovaný nástroj. V ASP.NET můžete psát stejně „jednoduše“ jako v ASP/PHP…

Když se na to podívám z pohledu teamové práce, tak zde vyhrává ASP.NET na plné čáře a určitě to neni díky komplikovanosti. Serverové komponenty vnášení do kódu více semantiky a kodér se v něm může mhohem lépe orientovat, lépe stylovat, prostě mu jde práce rychleji od ruky…

Borek (Út, 2006-05-16 16:37):

… ale než se do toho dostane, bude mu to trvat podstatně déle než u PHP. Mně už teď taky ASP.NET připadá krásně elegantní, logické a tím pádem jednoduché, znám ale lidi, co jim dělá problém třeba i pochopení OOP. Pro ty je ASP.NET komplikované, a o tom to je :)

error414 (Út, 2006-05-16 17:35):

Fuj. Neni lepsi si to (vystup) nejdriv poskladat v hlave? Leo

vzdycky to nejde.

vidim ze mate svuj specificky nazor na PHP a neprijmete jine. Timto je myslim debata uzavrena.

Leo (Út, 2006-05-16 17:39):

„Serverové komponenty vnášení do kódu více semantiky a kodér se v něm může mhohem lépe orientovat, lépe stylovat, prostě mu jde práce rychleji od ruky…“

Nic proti, pokud z toho vyleze jen trochu rozumny a pouzitelny vystup pro klienta – co se deje na serveru je jedno, tam at si to dela co chce.

„znám ale lidi, co jim dělá problém třeba i pochopení OOP“

Muj pripad. Je to uplne proti mymu zpusobu mysleni.

Leo

Jakub Podhorský (Út, 2006-05-16 18:23):

Leo ale on nikdo nikoho nenutí používat komponenty přímo od MS které imho májí hnusný výstup a v jednom článku na raroušově blogu i ukazuje to jak ten výstup udělat pěknej…to samý máš i v PHP můžeš používat šablonovací systém a všelijaké frameworky ale nikdo tě do toho nenutí

k tomu způsobu myšlení…podle mě se OOP spíš snaží přiblížit a zjednodušit vyjadřování myšlenek programátora ale to je jenom můj názor osobně od tý doby co jsem OOP pochopil(což docela chvilinku trvalo :D) tak se mu nevyhýbám a je fakt že některé věci příjemně usnadňuje ale na druhou stranu taky komplikuje

Borek (Út, 2006-05-16 18:32):

Ad OOP: Teď se docela potýkám s Drupalem, což je jeden z nejlepších CMS na světě. Všude se o něm dočtete, že oproti konkurenci vyniká především skvělým, čistým návrhem, který umožňuje značnou flexibilitu. A hle – po OOP ani vidu ani slechu. Všechno v Drupalu jsou jen globální funkce!

Drupal je pro mě důkazem, že i velké projekty lze dělat bez OOP, současně se ale nemůžu zbavit pocitu, že při použití OOP by byla řada věcí daleko srozumitelnějších. To, co je v objektovém světě běžné a standardizované (překrývání, dědičnost apod.), zvládá Drupal více méně taky, ale za použití proprietárních konvencí, různých hacků atd.

Jakub Podhorský (Út, 2006-05-16 19:22):

Borek: tak to je jasný. Podle mě je důležitý si všechno rozvrhnout na papíře nebo někde a nezačít topsát z paty, potom de všechno jednoduše a je jedno pokud využiju mocné OOP a nebo to udělám pomocí globálních funkcí

Borek (Út, 2006-05-16 19:36):

2 Jakub: No podle mě to právě jedno není. Funkčnost bude stejná, ale nevyužití OOP mi v Drupalu trochu komplikuje orientaci. Naštěstí je Drupal navržený tak dobře, že i bez OOP nejsem úplně ztracen.

rarous (St, 2006-05-17 04:36):

AD OOP: taky si myslím, že to neni jedno. Jako dobrý příklad bych snad poukázal na zdrojáky Texy vs. Textile… Oba se v podstatě snaží o totéž, a již po letmém projetí zdojáků je vidět markantní rozdíl v pojetí, z toho vychází také robustnost a univerzálnost Texy.

Komentáře jsou uzavřeny (blog je v read-only módu). Pokud mě chcete kontaktovat, můžete mailem.