Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Node.js vs PHP vs ASP.NET

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.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny