Odkąd poznałem Node.js, zawsze byłem jego fanem. Ale dzisiaj dowiedziałem się o SignalR , który zapewnia alternatywny asynchroniczny - skalowalny - model czasu rzeczywistego dla ASP.NET.
O ile wiem, główną zaletą Node.js nad SignalR jest współdzielenie kodu między klientem a serwerem (kolejną zaletą powinno być to, że jest wieloplatformowy), a główną zaletą SignalR jest znacznie bardziej dojrzała struktura i znacznie lepsza obsługa narzędzi (IDE). Zastanawiam się więc: jeśli SignalR jest tutaj, czy potrzebujemy już Node.js w systemie Windows? Czy są jakieś zalety Node.js, których nie znam?
asp.net
node.js
asynchronous
signalr
Quan Mai
źródło
źródło
Odpowiedzi:
SignalR jest realną alternatywą dla Socket.IO i Node.js. Istnieją jednak inne powody, dla których warto używać javascript na serwerze.
Spłaszcza stos. W dzisiejszych czasach prawie każda witryna internetowa musi mieć JavaScript w przeglądarce, a jeśli używasz go również na serwerze, możesz wyciąć jeden język z partii, w której będziesz musiał biegle posługiwać się językiem.
Przekazywanie wiadomości jest bardzo naturalne. JSON wszędzie! Szczególnie w połączeniu z bazą danych dokumentów, która korzysta z formatu JSON, wszystkie przekazywane wiadomości stają się obiektami JSON. To sprawia, że zmniejsza się ilość pośrednictwa wiadomości, które musi mieć miejsce w całym systemie.
To nie jest Microsoft. Osobiście uwielbiam to, co Microsoft zrobił dla społeczności programistów. Tworzą fantastyczne narzędzia i jeden z najlepszych frameworków i języków. Biorąc to pod uwagę, niektórzy ludzie po prostu uwielbiają nienawidzić Microsoft.
Koszt. Istnieje wiele dobrych sposobów na bezpłatne lub bardzo tanie uzyskanie narzędzi firmy Microsoft (wersje Express i Biz Spark). Nadal istnieje wyższy koszt związany z pracą z narzędziami firmy Microsoft. Uważam, że w większości przypadków ten koszt jest wart wzrostu wydajności, ale nie wszyscy się z tym zgadzają.
Oprócz powyższego, nadal istnieje wątek, że nie można skalować długich żądań sondowania w usługach IIS ze względu na model wątkowości. Jest w tym trochę prawdy, ale przy dobrym projektowaniu kodu i pewnych poprawkach serwera można w większości obejść te problemy.
źródło