Najlepsza odpowiedź
Jest to język, który zwykle działa na serwerze, ale jest to rodzaj zmyślonego terminu.
Tak naprawdę nie ma takiego rozróżnienia w informatyce. Ludzie uruchamiają Pythona na serwerach i na swoich komputerach stacjonarnych, a także w prawie każdym innym języku.
Jeśli mówimy o sieci, jedynym językiem dostępnym na kliencie jest JavaScript, więc zgodnie z tą logiką , wszystkie inne języki są „po stronie serwera”.
Ale tak naprawdę jest to zmyślony termin, nie ma czegoś takiego jak „język po stronie serwera”.
Odpowiedź
O rany, to naiwne.
Co sprawiłoby, że myślisz, że PHP jest bezwartościowe od czasu wydania NodeJS?
Prawdopodobnie szum wokół NodeJS.
Ale dojrzali ludzie nie dają się złapać w pociąg hype. Pozwól, że wyjaśnię.
Łatwość : PHP istnieje od ponad 20 lat. Jest używany i nadużywany przez miliony programistów do tworzenia najpopularniejszych witryn internetowych i systemów CMS w historii. Napotkali ogromną liczbę problemów i PHP zostało ukształtowane tak, aby je rozwiązać . To udany język szablonów , a także język programowania . Zawiera wszystkie narzędzia, które pozwalają każdemu programiście rozpocząć tworzenie swojej strony internetowej (MySQL, APC, a nawet funkcje FTP). Największą zaletą PHP jest łatwość tworzenia i wspaniałe doświadczenie programistów związane z uzyskaniem zaktualizowanego wyniku po naciśnięciu klawisza F5.
NodeJS przyszedł, aby rozwiązać inny problem: wprowadził programowanie zorientowane na zdarzenia, jest jednowątkowy całkiem szybko. Chociaż NodeJS ma wiele zalet i wad, głównymi zastrzeżeniami w JS jest to, że sam jest do bani . Aby zacząć, potrzebujesz mnóstwa narzędzi. Zwykle nie zbudujesz aplikacji NodeJS bez TS, co implikuje Babel, TSLint i pobieranie DT.
Następnie potrzebujesz serwera HTTP, więc pobierz Express.
Następnie potrzebujesz aby połączyć się z MySQL / MongoDB, więc pobierasz ORM lub prosty sterownik.
Zwykle potrzebujesz systemu kompilacji, weź swoją broń między Webpack, Gulp i Grunt (i Rollup i Parcel i cokolwiek innego zostanie przeniesiony na pierwszą stronę reddita w przyszłym tygodniu).
A to dopiero początek z minimalną konfiguracją.
Wydajność : Nie ma wielu dowodów na to, który z nich ma lepsze wyniki. PHP7 wniósł wiele, a PHP8 będzie miał jeszcze lepsze testy porównawcze dzięki ulepszeniu kompilatora JIT. NodeJS jest oparty na V8, więc domyślnie jest niesamowicie szybki.
Krzywa uczenia się : dzięki JS jest straszna sama w sobie, jest naprawdę głęboka język i opanowanie go wymaga czasu. Jest tak wiele do powiedzenia o jego prototypowej naturze, o domknięciach, o systemie czcionek. PHP jest naprawdę łatwy do rozpoczęcia : jest w zasadzie C, dynamicznie wpisywany i zawiera klasy.
Dostępność : obecnie każdy host zapewnia obsługę PHP. Niewiele osób oferuje obsługę NodeJS, ponieważ jest ich coraz więcej.
Popularność : w PHP jest tylko mnóstwo programistów. Jest kilka narzędzi (Symfony, Laravel, CakePHP, WordPress, Joomla, Drupal…), które naprawdę wyglądają jak na innym. Prawdopodobnie napiszesz projekt w jednym z tych frameworków i łatwo znajdziesz programistów, którzy Ci pomogą. Jest też coraz więcej programistów NodeJS, ale jeden backend nie ma ze sobą nic wspólnego. Szeroki wybór narzędzi w środowisku NodeJS to zarówno mocna strona, jak i katastrofa.
Nigdy nie używałbym NodeJS jako dedykowanego zaplecza. Wolałbym używać PHP. Ale NodeJS jest niesamowicie potężny w architekturze mikroserwisów.
Tak więc, chociaż NodeJS jest obecnie hype i prawdopodobnie ma świetlaną przyszłość, PHP jest daleki od śmierci. Nadal większość sieci jest oparta na PHP i nie widzę żadnych klientów, którzy chcieliby, aby ich blog był obsługiwany przez Gatsby lub Ghost, a nie WordPress.