2016-04-15 6 views
7

Jestem nowy w Node i wciąż go przeglądam. Mam pewne wątpliwości:W jaki sposób Node.js jest inny niż tomcat

  1. Czy jest to po stronie serwera, jak to jest inne niż Tomcat?
  2. Jeśli tworzę niektóre interfejsy API REST, czy mogę hostować je na serwerze węzła lub czy potrzebuję innego serwera?

Odpowiedz

23

Aby odpowiedzieć na pierwsze pytanie, Tomcat i Node są całkowicie różne bestie, choć można dostać Node służyć temu samemu celowi co Tomcat jeśli jesteś agnostykiem do języka programowania masz zamiar użyć i dodajesz odpowiednie rzeczy na wierzchu.

  • Tomcat jest serwerem internetowej dla aplikacji internetowych pisanych w java.
  • Węzeł jest środowiskiem Runtime dla aplikacji w javascript.

Tak więc niezależnie od różnicy w języku programowania, porównywanie, które robisz, nie jest naprawdę wyrównane. Widzisz, Węzeł (plus bazowy silnik V8) jest bardziej odpowiednikiem JVM (Java Virtual Machine) niż Tomcat.

Możesz tworzyć dowolne aplikacje na węźle. Ich podzbiorem będą aplikacje serwerowe, a podzbiorem tych aplikacji będą serwery WWW.

Teraz prawdopodobnie najczęściej używanym serwerem sieciowym na węźle jest Express. Szczerze mówiąc, nie znam innego. Znalazłem Express i nigdy nie szukałem niczego innego.

Tak więc, dla celów porównania, myśleć o tym tak:

JVM vs. V8+Node 
Java vs. Javascript 
Tomcat vs. Express 

Co do drugiego pytania, tak można zbudować REST API na węźle, pod warunkiem dodać Express na wierzchu. A dobrą wiadomością jest to, że jest niezwykle prosta. Spójrz na to: http://expressjs.com/en/guide/routing.html

Powodzenia i miłej zabawy przy uczeniu się węzła. Miałem mnóstwo. Po lewej stronie Java i nigdy się nie obejrzał;)

+0

Dzięki Mig82 .. To najlepsze wyjaśnienie, jakie otrzymałem do tej pory i rozwiało moje wątpliwości. Dzięki za to –

+0

Bez problemu @ChandanGupta. Czy uważasz, że możesz wtedy zaznaczyć moją odpowiedź? Dziękuję Ci. – Mig82

+0

Mam pytanie uzupełniające, które jadłem u mnie odkąd nauczyłem się węzła. Mówi, że nie użyje go do zastosowań intensywnie obciążających procesor, ale czy nie jest JAKIMKOLWIEK procesem, który robi cokolwiek, co wymaga intensywnego procesora? – Chad

Powiązane problemy