Autor Zpráva
Q
Profil *
Dobry den.
Chcel by som sa opytat, ci je z hladiska rychlosti zpracuvavania kodu rychlejsie .NET a asp.net ako napr. php (resp. fastCGI- asi sa to da skor porovnat s tym...) ?
Je aspx kompilovane alebo su .aspx subory citatelne (source) staci ak mate neaky ten link...
dakujem
armin
Profil
Q: oba dva typy jazyku jsou nekopilovane - citelne - a pokazde kdyz se skript zavola se jakoby porad znovu a znovu kompiluje. Co se tyce srovnani techto dvou technologii ASP verzus PHP, vzdy, opakuji, vzdy najdete x zastancu a x odpurcu te ktere technologie. Osobne pracuji v PHP a nemel jsem s tim za pomalu uz 7 let kazdodeni prace nikdy zadny problem (ani pri kombinaci PHP + MS SQL). Skvele zpracovana online dokumentace.

V ASP jsem nikdy nic nedelal a ani nemam duvod se timto smerem ani angazovat (viz co jsem psal nahore), tim padem nemuzu se na tuto problematiku nijak vyjadrovat.
izsak
Profil
armin
Prepáč, ale keď sa do technológie nevyznáš, nekecaj o nej. A to, že nemáš záujem o ASP, technológii starej niekoľko rokov, sa nikto nepýta.

Takže k veci k ASP.NET:

ASP.NET je, na rozdiel od skriptovacieho jazyka PHP, kompilované. Skladá sa z dvoch častí: zdrojový kód v .cs alebo .vb súboroch (alebo iného .NET jazyka), ktorý je skompilovaný do .dll knižnice a z .aspx súborov (a iných častí webových stránok), ktoré sú pri štarte aplikácie skompilované do ďalšej .dll.

ASP.NET je taktiež na rozdiel od PHP, vykonávané vo viacerých threadoch, čím je na Windows platforme oveľa rýchlejšie (FastCGI používa process pooling, takže v IIS 7 je vykonávanie PHP rýchlejšie. Ako je to v Apache, neviem).

Samozrejme, skompilovaný kód do natívneho kódu procesoru je oveľa rýchlejší, ako skriptovací jazyk (= ASP.NET je rýchlejšie ako PHP).

PS: Je možné celý ASP.NET projekt skopilovať do jedinej .dll knižnice a tak nasadiť na server. Toto je dostupné vo vyšších verziách Visual Studia 2005.
Q
Profil *
ked uz sme pri tom , ako je na tom jsp - to sa da asi najlepsie porovnat asp.net , vsak ?
teda, ake ma vyhody/nevyhody voci ASP.NET ?
thingwath
Profil
izsak
Ty si zase seškrtej ty narozdíl.
izsak
Profil
thingwath
Teraz neviem, či tam má byť "narozdiel" namiesto "na rozdiel", alebo je tam faktická chyba?
izsak
Profil
JSP je tiež kompilované v rámci možností. Hlavné chyby (použitie správnych premenných) nie sú nájdené kompilátorom, ale až runtimom, čo vyplýva z použitia MVC modelu (keď na ASPX stránke chýba prvok s nejakým ID, kompilátor to zistí počas kompilácie, v JSP sa to dozviete až počas behu stránky, či už prázdnym textom, hodnotou "null", alebo cez NullPointerException). To sú skúsenosti z 1.5 ročného vývoja v JSP.

Subjektívne výhody/nevýhody:

Výhody: za 1.5 roka práce som žiadne nenašiel.

Nevýhody: pomalý vývoj na veľkom projekte pri použití Struts a MVC modelu a hlavne zastaralé Java API (čo sa určite nebude páčiť Javistom, ale API v JDK je zastaralé).

Objektívne:
Nevýhody: žiaden Master pages model, Themes model a ani event model.
thingwath
Profil
Kompilování/nekompilování není vlastnost jazyka, zkompilovat se dá leccos. A co se vláken týče, tak tam je to to samé, Apache na windows používá také vlákna.
pALI G
Profil *
java nevýhody:

- oveľa slabšia dokumentácia voči .NET
- strašne vela frameworkov (niektoré frameworky si toto pomenovanie ani nezasluzia nosit) z ktorých
každý dokáže ako tak simulovať nejaké veci ktoré máš v .NETe nativne, čo je veľká nevýhoda, lebo asi ani
nemôže existovať na svete "javista" ktorý by mohol povedat "ano viem javu", .net sa raz naučíš a máš
pokoj :P v jave raz po tebe budú chcieť struts, raz wicket, ...
- .net poskytuje oveľa viac oop možností ako java, inak povedané - v .NETe nebudeš až tak obmedzovaný
možnosťami "jazyka"/frameworku ako v jave

...flame... pls nekomentovať

- len taká pikoška (moja prvá stretávka s javou) skús sa opýtať nejakého zbehlého javistu akú triedu by
použil na prácu s časom, dátumom, ... myslíš že nativne Calendar, Date? aj ja som si myslel. V .NETe
použiješ na všetko triedu DateTime
izsak
Profil
thingwath
Chceš tým povedať že sa PHP kompiluje? Možno mi niečo ušlo, ale podľa mňa to stále je interpretovaný jazyk.

Thready a process pool v IIS 7 v spolupráci s FastCGI pre PHP objasňuje Mike Volodansky (Project Manager pre IIS Team): Making PHP rock on Windows/IIS.
A samotný PHP skript, i keď Apache na Windows teda používa vlákna, z viacerých threadov nebenefituje. Alebo je možné v ňom robiť asynchrónne volania?

Kompilování/nekompilování není vlastnost jazyka, zkompilovat se dá leccos.
Toto je otázne pri Jave, kedy virtuálna mašina može interpretovať op-code alebo používať Hot-Spot na sústavné prekompilovávanie op-code do assembleru.
armin
Profil
izsak: Jaksi som si nevsimol ze by som sa vo svojom prispevku vyjadroval ASP.NET... Ja som porovnaval ASP (ano to bez dot NET) a PHP. Takze prosim Vaz slova. O .net sa nezaujimam a taktiez som napisal ze nemam najmensi dovod sa v tejto oblasti ani nijak o to zaujimat a tym padom sa nemozem k tomu ani vyjadrit.

Teraz som ti to napisal po slovensky, tak snad to lepsie pochopis.
izsak
Profil
armin
Ja som si nevšimo, že by sa Q pýtal na ASP.

Totiž hneď v prvej vete píšeš Q: oba dva typy jazyku jsou nekopilovane - čo označuje ASP.NET a PHP, nie nespomenutý jazyk ASP a PHP.
armin
Profil
izsak: Si sikovny a vsimavy clovek, takych svet potrebuje... inak docela by ma zaujimalo a rad by som to pocul od teba, ako je to s hostovanim pod windows (teda iis). Pokial viem, kazdy mesiac su updaty, ak sa mi aktualizuje co i len kalkulacka (bo vzdaleny kod dovolil utocnikovi spoustet kod na mem pc), je nutne system restartovat. Ako je to prosimta (ak si MS certified people) s hostovanim pod IIS? To akoze kazdy mesiac bude treba restartovat stroj? Na win server 2003 nehodlam davat peniaze, ale pochybujem ze by updaty boli bez restartovania... Nebude potom hosting pod win tak trosku vypadkovy?
izsak
Profil
Začíname flame? ....

Všimol si si, že by Microsoftu každý mesiac vypadávali servre? Myslím, že si ich tiež aktualizujú.

Áno, presne tak, každý mesiac Microsoft, ako spoľahlivá firma, vydáva aktualizácie na svoje produkty. O aké aktualizácie sa má jednať? Pomocou WSUS serveru sa dá pre každý server nadefinovať, či aktualizáciu potrebuje, kedy sa má nainštalovať a takisto sa serveroch nastavuje politika reštartovania. Čiže nedochádza k žiadnym "náhodným" reštartom serverov.

Ak ti niečo hovorí Network balancing, tak asi vieš, že sa používa redundacia serverov na zachovanie čo najvyššej dostupnosti. Pri správne zvolenej politike aktualizovania nedochádza samozrejme k žiadnemu výpadku. Ale toto je stále to isté, ako s linuxovými a unixovými strojmi - ak treba z nejakého dôvodu reštartovať server a má sa zachovať dostupnosť, nuž, treba použiť redundanciu.

V spolupráci s Round-Robin v DNS dochádza k hostovaniu služieb, ktoré sú bez výpadku.

IIS 6 ešte k tomu nemá od uvedenia žiadne bezpečnostné chyby. Windows web servre nebývajú priamo pripojené na internet a často bývajú za ISA Firewallom, ktorý funguje ako network balancer a tým pádom je sieť solídne zabezpečená a dostupná.


Inak také Webové farmy, ktoré požívajú SQL Serverov ako data store pre session sú ďalším riešením pre zvýšenie dostupnosti služby či už z dôvodu aktualizácie SW, upgradu HW, poruchám HW a ďalším iným problémom, ktoré sa môžu vyskytnúť v hostovaní služieb.

Dúfam, že odpoveď bola dostatočne vyčerpávajúca.

PS: Win Servre majú samozrejme štandardne vypnuté automatické aktualizácie a záleží na administrátorovi, akú politiku aktulizácii si zvolí.
armin
Profil
izsak: no prave... ak neinstalujem aktualizacie, je potencionalne riziko nebezpecnosti. A len preto, aby som bol stale chraneny, musim kupit minimalne 2 licencie a na striedacku prehadzovat data medzi strojmi a na striedacku aktualizovat raz jeden a raz druhy, pochopil som to spravne? :)
thingwath
Profil
izsak
Interpretovaný jazyk, hm. To jsem jaksi chtěl naznačit, že takové věci tak úplně nejsou. Existují i kompilátory pro PHP. Krom toho ani to přímo nic neříká, protože zrovna ,interpretovaný` jazyk jako PHP bude moře času trávit v nativních funkcích v céčku, takže může být ve skutečnosti i rychlejší než kdejaký ,kompilovaný` jazyk.

V PHP jde leccos, Podpora vláken tam nějak taky je, nicméně i kdyby nebyla, dá se použít alespoň ve vestavěných funkcích a pluginech.
armin
Profil
thingwath + izsak: Ja jen zduraznim:
Co se tyce srovnani techto dvou technologii ASP verzus PHP, vzdy, opakuji, vzdy najdete x zastancu a x odpurcu te ktere technologie.

Nema smysl to dale rozvadet...
Q
Profil *
<ot>
to dy mohla byt tema na dalsiu diskusiu, ci sa oplati niektore ( vysoko zatazene) scripty (php) radsej skompilovat ako na fcgi...
mam dat novy thread ?
</ot>
Keilew
Profil
Srovnávat PHP a ASP.NET+JSP může jen nevzdělaná lama. To na začátek.

izsak
MVC "model" je technika, která dopomůže vytvořit naprosto nezávislé vrstvy a oddělit práci s daty, data, zobrazení a navigaci.
Struts jsi asi nepoužíval, protože bys pak nemohl napsat, že JSP nepodporuje Master Pages... A co jsou Tiles?

Jinak jsem se teď pustil do ASP.NET a zatím můžu říct, že na první dojem mi ASP.NET vývoj pod Mrkvosoftím developerem přijde víc DRAG&DROP, než mám rád a spousta věcí jde dost šejdrem od MVC modelu. Ale zatím jsem se nedostal moc do hloubky, tak uvidíme. Výhodou je spousta zautomatizovaných procedur, leč jen do určité míry.

Jediná skutečně objektivní nevýhoda JSP je mizerná podpora u providerů!
Keilew
Profil
A když už jsem nakop ty nevýhody u třetích stran, tak ASP.NET provideři neradi používají, protože za serverovej Mrkvosoft se (prej) platí, je nestabilní, pomalý a nevypočitatelný. To jen cituju. Tomcat na Apachi je přecijen o něco flexibilnější, i když zase dost žere...
izsak
Profil
Srovnávat PHP a ASP.NET+JSP může jen nevzdělaná lama. To na začátek.
Dá sa to porovnávať v rôznych ohľadoch - rýchlosť vývoja, rýchlosť spracovania requestov, rýchlosť vykonávaného kódu. Čo už sú ale podstatne komplexnejšie údaje ako len to, že jedno je kompilované a druhé nie je.


Keilew
Hmm... www.soonr.com - beží na JSP, Struts. Robím s tým denne. Tiles nepoužívame.

Ak chceš MVC model v ASP.NET, môžeš vyskúsať Monorail.

Myslím že každý má nejaké skúsenosti s hostermi, hosteri majú rôzne skúsenosti so servrami.... Napr. taký Apache je rýchly, ale aj tie memory leaky v ňom (prípade v iných použitých technológiách) dokážu narobiť problémy s pamäťou. Všetko má pre aj proti.
Keilew
Profil
izsak
Tak používej Tiles a nestěžuj si na chybějící rysy;-)

Ak chceš MVC model v ASP.NET, môžeš vyskúsať Monorail
Díky, podívám se...

Všetko má pre aj proti.
To máš pravdu, akorát nedokážu pochopit, proč najít kvalitní JSP hosting je tak nadlidský úkol...
Q
Profil *
<ot>
Keilew
Srovnávat PHP a ASP.NET+JSP může jen nevzdělaná lama. To na začátek.
Trocha si to zle pochopil , nikto tu po Tebe nechcel aby si porovnaval tie jazyky/technologie ...
Jedna sa o rychlost priblizne tej istej aplikaci v roznich OS/frameworkoch/jazykoch ...
Otazka na porovnanie je ASP.NET vs. JSP , a to sa porovnat da (!).
Chapem ze s php tazko ale taka otazka nebola ...
</ot>
K veci: Neviem preco , ale na JSP nieco bude uz len to ze je to malo pouzivane (oproti asp.net ci PHP - co sa tyka poctu vyvojarov)
a na zaklade toho dost dobre platene nakolko ako tu niekto povedal ze MS asp.net je drag&drop a nauci sa ho jednoduhsie viacero ludi -> ponuka je vacsia a platy nizsie ...
btw je jsp kompilovane ? tusim ze nie (HP tlaciarne zapinaju na pc server tomcat s jsp- ckami) takze bude logicky pomalsie ? Ako java vseobecne (?) ...
inac zaujimave by boli reakcie co sa tyka kompilaciu php ciek na fcgi (vid roadsend IDE - roadsend.com)
Keilew
Profil
Q
OT: To tu vykrystalovalo v diskusi, proto jsem to napsal.
JSP je samozřejmě kompilované. Při prvním načtění příslušné stránky. Proto je toto první načtení poměrně pomalé, ale všechna další běhaj jak drátky.
Q
Profil *
tak tomu nechapem .. je zname ze ako obsluzny program HP tlaciarni (LaserJet 1320) je tomcat server + zopar JSP zdrojakov ...
tak ako to ze tam bolo asi ~30 zdrojakov citatelnych (text/plain) ako .jsp ?
dakujem, mam v tom chaos :)
Keilew
Profil
Q
To netuším, jak to funguje v nějaké tiskárně, ale na serveru je v adresáři (tuším) work normální kompilace...
izsak
Profil
Kde boli tie zdrojáky čitateľné?

Môžu byť deploynuté na server ako .jsp + .class alebo ako .war.

Podobne v ASP.NET - .aspx súbory sú pri priamom prístupe na file system viditeľné, ale ich Code Behind a Beside je skompilovaný do .dll, alebo je celá aplikácia predkompilovaná - v tomto prípade .aspx obsahuje @ direktívu odkazujúcu sa na resource v .dll.
Q
Profil *
Kde boli tie zdrojáky čitateľné?
Na pocitaci , tomcat nebezal na tlaciarni ale na pc... no asi to bude varianta s .dll

Vaše odpověď

Mohlo by se hodit

Příspěvky nesouvisející s webem budou odstraněny.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0