Autor Zpráva
Mlocik97
Profil
Dobrý večer, chcel by som sa spýtať iba na Váš osobný názor čo považujete za pozitíva a čo za negatíva Node.js, PHP a ASP.NET alebo vaše porovnanie medzi nimi.
Radek9
Profil
Takhle obecně by to bylo na hodně dlouhou debatu a flamewar. Záleží, na co to chceš použít a v čem se ti bude lépe vyvíjet.

PHP je hodně rozšířené (hlavně co se hostingů týče), poměrně jednoduché na naučení a existuje pro něj hromada frameworků. Nevím, jak je to teď v poslední verzi (už dlouho jsem s PHP nedělal), ale obecně není až tak rychlé. Osobně PHP - hlavně z hlediska syntaxe a podivně navržené standardní knihovny - moc nemusím. Pro vývoj nicméně existují poměrně slušná IDE (např. PhpStorm). Na menší a jednodušší weby je to ok. Běží na tom i větší weby, ale osobně bych to prostě nedoporučil, neboť existují lepší alternativy. Např. ve Facebooku (kvůli výkonu) došli k tomu, že si vytvořili vlastní typovaný dialekt (Hack) a vlastní runtime (HHVM).

ASP.NET je taktéž hodně rozšířené, ale mám pocit, že spíš v korporátní sféře. Obrovskými výhodami téhle technologie jsou Visual Studio a úžasná standardní knihovna (vypíchnu např. Entity Framework v kombinaci s LINQ). Při práci na větších projektech (např. informační systémy atp.) to dost usnadňuje práci. Problémy možná může dělat multiplatformnost. Nevím, v jakém stavu je momentálně .NET Core pro Linux, ale nejstabilnější to asi pořád bude na Windows. A na menší projekty je to podle mě zase zbytečný overkill.

Co se týče Node.js, tak to je poměrně mladá technologie, která dlouhodobě prožívá bouřlivý vývoj (hlavně v oblasti frameworků a knihoven). A co se týče vývoje webů, tak neexistuje žádný standardní postup. Nejpoužívanější HTTP servery jsou Express, Koa a Hapi. V oblasti ORM asi jednoznačně vede Sequelize. Pro front-end logiku (a serverové renderování views) se hojně používá React (s Flux architekturou), ale existuje řada alternativ. Každopádně i tady existuje hromada návodů. Docela výhoda je (podobně jako u ASP.NET), že nejsi vázaný jen na jeden jazyk. Existuje řada jazyků, které se do JS dají transpilovat. Tady asi vypíchnu TypeScript, který se dá psát ve Visual Studio Code. Vývoj je potom (alespoň pro mě) o dost svižnější než v čistém JavaScriptu. Výkonově je to asi někde mezi, ale díky updatům V8 (JS runtime) je stále rychlejší a rychlejší. Výhoda (ale na druhou stranu i nevýhoda) je, že je tu jen malá standardní knihovna. Pro většinu věcí musíš použít externí knihovnu. Tím pádem ale zase načítáš jen to, co opravdu potřebuješ. Osobně Node.js používám na malé i velké projekty a ačkoli to není úplně bezchybé, tak můžu doporučit.

Ale jak říkám. Opravdu záleží na způsobu použití a hlavně na tvých preferencích.
Joker
Profil
Můj názor.
S Node.js nemám dost zkušeností na nějaké hodnocení, takže srovnám jen PHP a ASP.NET.

PHP:
Jako výhodu vidím rychlou křivku učení, široké rozšíření a nezávislost na platformě.
Z toho vyplývají další výhody, jako že díky rozšíření je na PHP k dispozici např. spousta návodů, frameworků, úprav a podobně. Když budete chtít webserver pro nějaké specifické potřeby, případně ho rozjet na nějakém obskurním zařízení, s PHP je slušná šance, že buď seženete přímo řešení, nebo alespoň návod.

Za hlavní nevýhodu PHP bych považoval jeho historický vývoj: Původně v podstatě šablonovací systém, který se živelně rozvinul v programovací jazyk. Dají se tam najít nedomyšlené věci, věci navržené úplně blbě, historicky chyběly jednotné konvence.
Sice si to autoři pak uvědomili a někdy od verze 5 se to snaží řešit, ale ta historie tam je.
Nevýhoda strmé křivky učení je, že spousta lidí vyrobí „hello world“ a vzápětí se začne považovat za PHP experty a psát různé návody. Čili sice najdete spoustu textů o PHP, ale musíte dávat pozor, jestli jsou aktuální a jestli se v nich neradí zvěrstva.

ASP.NET:
Tady asi hlavní výhoda je IDE, protože VisualStudio je řekl bych etalon, kterému se ostatní snaží přiblížit.
Další výhoda je, že se o návrhu té platformy nějak koncepčně přemýšlelo, respektive mnohem víc, než v případě PHP. Tím samozřejmě netvrdím, že udělali všechno správně; I Microsoft vydal věci, které buď byly úplně mimo, nebo sice měly něco do sebe, ale neuchytily se.

Co se týká nevýhod, ASP.NET teď prožívá takový restart v podobě ASP.NET Core.
Z toho vyplývá jedna nevýhoda, že na jedné straně máte rozšířenou klasiku, která je ovšem do budoucna zastaralá, a na druhé straně novinku, která ještě nemá tak velké zázemí.

U původního .NET frameworku může být ještě nevýhoda svázání a Windows platformou. PHP rozjedete skoro všude, s ASP.NET asi jediná rozumná kombinace je Windows+IIS.
(Na přednášce o .Net Core říkali, že jeden z důvodů vzniku .Net Core je právě tak velká míra svázání původního .Net frameworku s Windows, že asi jediný způsob, jak to udělat multiplaftormní, byl udělat to znovu od začátku.)
ASP.NET Core má být multiplatformní, ale nevím jaká je realita.
Navíc pro vývoj stejně asi budete chtít používat Visual Studio, což de facto znamená Windows.
(Poznámka: Neplést s Visual Studio Code, které sice je multiplatformní, ale je to textový editor, který s tím IDE Visual Studio má společný jen název.)
Mlocik97
Profil
Joker:
Čo sa inak týka čo používam k programovaniu a pod akým OS, tak tohle:



pod Win8.1

obdobne to mám i pod Linux Ubuntu 16.04 Gnome 3 akurát s chybajúcim "Visual Studio Community" a namiesto "Github Desktop" mám "GitKraken"
Radek9
Profil
Joker:
Neplést s Visual Studio Code, které sice je multiplatformní, ale je to textový editor, který s tím IDE Visual Studio má společný jen název.
Tady bych si dovolil trochu oponovat. Jistě, s Visual Studiem se to nedá rovnat (což ostatně platí pro většinu IDE). Ale podle mě to není jen textový editor, nýbrž hodně slušné IDE pro vývoj toho - řekněme - open-source webu (zvlášť co se TypeScriptu týče). Včetně podpory pro debugging v Nodu, v prohlížeči a v Electronu. Je možná nešťastné, že to nazvali takhle, ale rozhodně to není jen nějaký editor. Obojí je prostě k něčemu jinému.
Zechy
Profil
Radek9:
ale obecně není až tak rychlé
Sedmička je rychlostí úplně někde jinde, ani poslední pětkové verze nebyly tak pomalé. Ovšem oproti PHP 5 a PHP 7 je ten rozdíl v rychlosti téměř vždy a minimálně okolo 50%.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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