Předmět Autor Datum
Enterprise aplikaci bych určitě radši dělal v .NETu než ve zbylých dvou. Malý a rychlý server pro Si…
Wikan 20.09.2017 22:29
Wikan
- Tak ASP.Net taky nemá spatné redakcni systemy CSM (Umbraco, Orchand..), ani zaklad na MVC neni k z…
XoXoChanel 20.09.2017 22:43
XoXoChanel
O node.js jsem se krátce zmiňoval tady: 1761518-jekyll-a-node-js-rady-na-zacatek PHP najdeš na kaž…
hynajs 20.09.2017 22:44
hynajs
Dobrý večer, pozitívom Node.js je JavaScript, ktorý beží všade. To znamená, že rovnaký kód a knižni…
moose 21.09.2017 06:58
moose
Nejsem si jistý, jestli jsou ty počty balíčků porovnatelné. Node.js má balíček na každé uprdnutí - v… poslední
Wikan 21.09.2017 15:44
Wikan

Enterprise aplikaci bych určitě radši dělal v .NETu než ve zbylých dvou. Malý a rychlý server pro Single page aplikaci zase v Node.js. PHP má spoustu "hotových" řešení pro různé eshopy, redakční systémy a pod.
Ale ve všech jde nakonec v zásadě udělat to samé, záleží na konkrétních požadavcích a často nakonec i na osobních sympatiích.

Dobrý večer,

pozitívom Node.js je JavaScript, ktorý beží všade. To znamená, že rovnaký kód a knižnice môžete použiť na serveri a aj v prehliadači. Tiež má nízku vstupnú bariéru pre vývojárov, a aj preto má veľa knižníc. Jeho package manažér npm je najväčší repozitár balíkov a obsahuje viac než dvojnásobok balíkov druhého najväčšieho repozitára Maven Central. Negatívom je JavaScript vytvorený Brendan Eichom za 10 dní, ktorý nemá silnú typovú kontrolu (tento problém rieši TypeScript, okrem toho sa aj samotný jazyk výrazne zlepšil). Tiež má nízku vstupnú bariéru pre vývojárov, takže má veľa knižníc, ktoré sa neustále menia a ich kvalita je rôzna. Najznámejším faux pas jeho package manažéra bolo odstránenie knižnice left-pad z repozitára, ktorá slúžila len na vyplnenie reťazca znakmi zľava.

Pozitívom PHP je, že jeho životný cyklus začína a končí s webovou požiadavkou. To znamená, že v podstate neleakuje pamäť, kedže po dokončení spracovania požiadavky sa na všetko zabudne (leakovať môže zle napísaný C/C++ modul, ale PHP spuštané webovým serverom ani nie). Negatívom je, že jeho životný cyklus začína a končí s webovou požiadavkou. Z toho vyplýva, že sa nedajú jednoducho držať v pamäti údaje naprieč viacerými požiadavkami alebo napr. otvorené websocketové pripojenia. Dá sa to obísť použitím memcache alebo spustením webového servera priamo z PHP. Ďalším negatívom je samotný jazyk (aj keď sa výrazne zlepšil a PHP 7 je už dobré) a jeho takmer žiadne konvencie - zvláštne názvy funkcií, parametre funkcií sú ako keby v náhodnom poradí. Tie zvláštne názvy funkcií vychádzaju historicky z toho, že PHP vo svojich začiatkoch používalo ako hešovaciu funkciu pre rýchle vyhľadanie funkcie dĺžku jej názvu.

Pozitívom ASP.NET je jazyk C#, čo je v súčasnosti asi najvyspelejší jazyk so silnou typovou kontrolou a dobre navrhnutou syntaxou. Ďalším pozitívom je jeho IDE - Visual Studio pre Windows, ktoré výrazne uľahčuje vývoj. Negatívom je, že na Linuxoch začal byť Microsoftom priamo podporovaný len prednedávnom (pred vyše rokom). V balíčkovacom systéme NuGet je cca polovica toho, čo je v Maven Central. To všetko platí pre ASP.NET MVC - ASP.NET WebForms je nevydarený pokus preniesť desktopové myslenie na web.

Zpět do poradny Odpovědět na původní otázku Nahoru