Wykonuję sporo pracy z ASP.NET (C #, MVC), ale większość z nich to typowe tworzenie stron internetowych. Robię architekturę Restful przy użyciu repozytoriów CRUD. Większość moich klientów nie ma wielu zaawansowanych wymagań w swoich aplikacjach.
Teraz patrzę na node.js i jego wpływ na wydajność (jestem uzależniony od prędkości), ale nie zagłębiłem się w to aż tak bardzo.
Zastanawiam się czy
- node.js może realistycznie zastąpić mój typowy rozwój sieci w C # i ASP.NET MVC (nie przepisując istniejących aplikacji, ale pracując nad nowymi)
- node.js może uzupełnić aplikację ASP.NET MVC, dodając trochę asynchronizacji do istniejącej architektury.
Czy istnieją przypadki użycia dla / przeciwko C # i node.js?
Edytować
Uwielbiam ASP.NET MVC i jestem bardzo podekscytowany tym, dokąd zmierza. Próbuję tylko sprawdzić, czy istnieją specjalne przypadki użycia, które sprzyjałyby node.js
c#
mvc
asp.net-mvc-3
node.js
Chase Florell
źródło
źródło
Odpowiedzi:
Profil, profil, profil. To jedyny sposób, aby wiedzieć, że twoje przyspieszenia mają odpowiedni wpływ. Można się domyślić , że jest wystarczająco szybki. Ale większość ludzi lubi przedwcześnie optymalizować. To gorsze niż zabawa ze sobą podczas randki.
Czy istnieją przypadki użycia dla / przeciwko C # i node.js?
Oczywiście, jeśli jesteś w sklepie, który rutynowo pisze kod w C #, powinieneś użyć MVC (jest znacznie lepszy niż WebForms i nazywa się WebPages). Nie stracisz dużo czasu na szkolenie w zakresie narzędzi i jest to coś, z czym Twój przepływ pracy powinien już sobie poradzić.
To, czego nie sugerujesz powyżej, jest powodem wyboru każdego z nich. Podałeś dwie aktualne opcje rynkowe, jedną wciąż w fazie Alfa, drugą w trakcie pełnego trzeciego roku wydania platformy. Nie chciałbym porównywać obecnie testowanych modeli samochodów elektrycznych z hybrydami Hondy, które są już na rynku. Są w dwóch różnych ligach.
Oto powód, dla którego trzymaj się z dala od node.js, jeśli jesteś nominalnie sklepem C #.
Obecnie nie pracujesz w asynchronicznych zdarzeniach we / wy, obecnie pracujesz w formacie proceduralnym.
To jest antyteza tego, co Nodejs zrobi dla ciebie.
Jeśli jednak często piszesz kod asynchroniczny w języku C # i używasz go często w stylu opartym na zdarzeniach, to tak, należy rozważyć node.js.
Oto, co zrezygnujesz:
IIS - jest to naprawdę ważne dla wielu osób. Rzeczy takie jak natywna integracja A / D są już wykonane i całkiem wolne od błędów.W rzeczywistości node.js teraz dobrze integruje się z IIS.Oto, co zyskasz:
Ponieważ wydaje mi się, że całkowicie wkurzam tutaj Node, pozwólcie, że zwrócę uwagę, że ten węzeł jest moim językiem gry w domu, uwielbiam go i pomagam ludziom debugować go czasami na serwerach czatów z przepływem stosów (pokój 642). Widzę, że ma w przyszłości wielki i niesamowity potencjał.
Mówię tylko: nie wyrzucaj dziecka i nie zastanawiaj się, dlaczego woda w wannie jest brudna.
Nie podałeś powodu, dla którego powinieneś porzucić swoje wieloletnie doświadczenie i zacząć od czegoś nowego. Czy albo złe narzędzia? Ani trochę. Oba są świetne i sprawiają, że rozwój jest dziecinnie prosty.
Czy węzeł może zastąpić C #? Tak, z całą pewnością. Podobnie PHP, Java lub Ruby. Nie pytasz o to.
Oto, w jaki sposób wiesz, kiedy możesz zaprogramować node.js zamiast C #:
źródło
Jeśli po prostu robisz spokojną architekturę przy użyciu repozytoriów CRUD, nie ma dobrego powodu, aby przenieść istniejącą aplikację do node.js.
Jeśli piszesz nową aplikację, która obsługuje REST i CRUD, mogą istnieć dobre powody, aby używać node.js od samego początku.
To zależy od aplikacji.
Na przykład osobiście pisałbym aplikacje REST / CRUD w pełni w node.js, ponieważ jest to osobiste preferencje. Węzeł świetnie się rozwija, ASP.NET MVC było dla mnie irytującym ograniczeniem.
Werdykt: Oba narzędzia wykonują zadanie. Jeśli nie ma określonych wymagań, które faworyzują platformę .NET lub węzeł, użyj dowolnej opcji. tzn. to osobiste preferencje.
Mogę jednak wymienić niektóre zalety obvouis obu platform
ASP.NET
Node.js
źródło