kiến thức Ưu,nhược điểm của ASP.NET so với NodeJS

huycon1002

Senior Member
Mình chưa tìm hiểu nhiều về NodeJS,nên cần các bác đưa ra thêm kiến thức về 2 ngôn ngữ này.
Nếu có thêm thông tin về databaseđi kèm thì càng tốt
 
Mình so sánh với .Net Core nhé, .Net thường không code nên không chém gió
1. NodeJS:
  • Do base từ JS nên cú pháp thoải mái, không gò bó. Tuy nhiên cũng tiềm ẩn nhiều bug khó trôi vl nếu code ẩu (Có thể dùng TS để fix)
  • Performance không tốt, khó maintain code hơn nếu dự án to so với .Net
  • Cộng đồng ở Việt Nam code đông vl, gặp vấn đề lên hỏi cái là có câu trả lời
  • Thường dùng cho các dự án mì ăn liền hơn là dự án bự
 
Mình so sánh với .Net Core nhé, .Net thường không code nên không chém gió
1. NodeJS:
  • Do base từ JS nên cú pháp thoải mái, không gò bó. Tuy nhiên cũng tiềm ẩn nhiều bug khó trôi vl nếu code ẩu (Có thể dùng TS để fix)
  • Performance không tốt, khó maintain code hơn nếu dự án to so với .Net
  • Cộng đồng ở Việt Nam code đông vl, gặp vấn đề lên hỏi cái là có câu trả lời
  • Thường dùng cho các dự án mì ăn liền hơn là dự án bự
Dựa trên tiêu chí nào mà fen nói NodeJS lại có perf thấp hơn .Net vậy ?
 
NodeJs phù hợp cho các service có lưu lượng truy cập cao nhưng cần ít tính toán. Nếu cần phải tính toán nhiều thì NET sẽ phù hợp hơn.
NodeJs dễ build, nhưng khó maintaining. NET khó build và cũng khó maintaining luôn :beat_brick: Ngược lại NET chơi tốt tất cả mọi thể loại từ software cho đến web server, nodeJS thì chỉ code web server đc thôi, ngoài ra rất tù.

Còn về mặt ngôn ngữ thì tùy vào thằng dev. Dev ngu thì Js hay C# cũng tù như nhau thôi :doubt:

Bản thân tôi làm cả hai, nhưng nodejs phải nhét thêm Typescript vào mới phần nào bằng đc NET.
 
Dựa trên tiêu chí nào mà fen nói NodeJS lại có perf thấp hơn .Net vậy ?
Thực tế đó
Công ty cũ dùng .Net, công ty hiện tại dùng Nodejs làm server game online mobile
Cùng chạy trên server cloud, vì cùng nhà phát hành game
Và công ty hiện tại thì lag vãi vl ra
janDexM.jpg
 
NodeJs phù hợp cho các service có lưu lượng truy cập cao nhưng cần ít tính toán. Nếu cần phải tính toán nhiều thì NET sẽ phù hợp hơn.
NodeJs dễ build, nhưng khó maintaining. NET khó build và cũng khó maintaining luôn :beat_brick: Ngược lại NET chơi tốt tất cả mọi thể loại từ software cho đến web server, nodeJS thì chỉ code web server đc thôi, ngoài ra rất tù.

Còn về mặt ngôn ngữ thì tùy vào thằng dev. Dev ngu thì Js hay C# cũng tù như nhau thôi :doubt:

Bản thân tôi làm cả hai, nhưng nodejs phải nhét thêm Typescript vào mới phần nào bằng đc NET.
js code IoT, desktop, backend, frontend,.. tôi chưa thấy js chưa làm đc gì
 
Bạn có thể cho mình thông tin về các ưu điểm của .NET so với NodeJS được ko

Về ngôn ngữ thì JavaScript tuổi gì với C# xịn xò.
Về tooling thì càng thua với bộ VS quá bá đạo.
Về library thì chán chả buồn nói, đám thư viện npm chả bao giờ với tới chất lượng của đám trên nuget.
Về performance thì ôi thôi thua quá xa quá xa.

... Nhiều quá kể không hết, làm server-side đàng hoàng thì tránh thằng NodeJS ra :sweat:
 
js code IoT, desktop, backend, frontend,.. tôi chưa thấy js chưa làm đc gì
Về những mặt liệt kê kể trên thì tôi còn biết js nó làm đc cả embedded đấy, nhưng embedded mà dùng js thì người ta gọi tôi là thằng gàn dở :baffle:

Js muốn thoát ra khỏi địa phận frontend đều phải nhờ các ngôn ngữ khác làm nền, như NodeJs phải dựa vào cái chrome V8 viết bằng c++ là một ví dụ to đùng cho thấy js chỉ là bề nổi mà thôi :D
 
Về ngôn ngữ thì JavaScript tuổi gì với C# xịn xò.
Về tooling thì càng thua với bộ VS quá bá đạo.
Về library thì chán chả buồn nói, đám thư viện npm chả bao giờ với tới chất lượng của đám trên nuget.

  • nhưng trong js function là first class citizen còn c# thì không.
  • tooling không hiểu js giờ thiếu cái gì. debug có, IntelliSense có...
  • library cũng không hiểu npm thua nuget ở điểm nào.
 
NodeJs phù hợp cho các service có lưu lượng truy cập cao nhưng cần ít tính toán. Nếu cần phải tính toán nhiều thì NET sẽ phù hợp hơn.
NodeJs dễ build, nhưng khó maintaining. NET khó build và cũng khó maintaining luôn :beat_brick: Ngược lại NET chơi tốt tất cả mọi thể loại từ software cho đến web server, nodeJS thì chỉ code web server đc thôi, ngoài ra rất tù.

Còn về mặt ngôn ngữ thì tùy vào thằng dev. Dev ngu thì Js hay C# cũng tù như nhau thôi :doubt:

Bản thân tôi làm cả hai, nhưng nodejs phải nhét thêm Typescript vào mới phần nào bằng đc NET.
. Net nhìn chặt chẽ vậy sao lại khó maintain hả bác
 
  • nhưng trong js function là first class citizen còn c# thì không.
  • tooling không hiểu js giờ thiếu cái gì. debug có, IntelliSense có...
  • library cũng không hiểu npm thua nuget ở điểm nào.

Function làm gì khi người ta đua nhau chạy sang TS vì không chịu nổi sự shitty của JS?
JS mà không có TS thì đọ sao nổi với C#? Toàn duck typing chỉ dựa vào documentor thì có ngày chết với maintenance.
Npm libs toàn một đống rác, lâu lâu lại break compability, bỏ không ai maintenance được bao nhiêu libs chất lượng cao như bên Nuget? Nuget tuy không lại dc Maven bên Java nhưng chất lượng hơn bên Npm tỉ lần. :sweat:
 
Cái function là First class tưởng lợi nhưng nhiều khi lại làm cho debug ốm cả người

không viết theo kiểu function là first class thì debug còn ốm người hơn. thế c# nó đẻ ra Action<T>, Func<T>, Expression<T> để làm gì?

Function làm gì khi người ta đua nhau chạy sang TS vì không chịu nổi sự shitty của JS?
JS mà không có TS thì đọ sao nổi với C#? Toàn duck typing chỉ dựa vào documentor thì có ngày chết với maintenance.
Npm libs toàn một đống rác, lâu lâu lại break compability, bỏ không ai maintenance được bao nhiêu libs chất lượng cao như bên Nuget? Nuget tuy không lại dc Maven bên Java nhưng chất lượng hơn bên Npm tỉ lần. :sweat:

thế nuget không có lib rác à? npm nhiều lib rác thì cậu chỉ cần không sử dụng chúng nó là được.
 
  • nhưng trong js function là first class citizen còn c# thì không.
  • tooling không hiểu js giờ thiếu cái gì. debug có, IntelliSense có...
  • library cũng không hiểu npm thua nuget ở điểm nào.
Cái first class function tôi không rành nó tốt ở điểm nào tôi không bàn. (nhưng tôi có dùng qua Kotlin thì lạm dụng nó quá thì code như đống spaghetto)
Nhưng về tooling thì js muôn đời không tốt bằng bọn c#, java nói thế cho vuông, lý do đơn giản là duck typing thì static analysis kiểu gì
qZV215Z.png
.
Bọn Webstorm đơn giản là nhận diện framework rồi suggest cho tương ứng. Còn bọn vscode thì làm đếch ai rảnh mà đi support từng fw nên càng shitty hơn.
Code biến tấu 1 tí (và nhất là mấy anh "senior" js rất thích customize nhưng thiếu hiểu biết về type system) thì cái "IntelliSense" khác mịa gì fuzzy search đâu
jmEBCky.gif
. Bọn JetBrains toàn chuyên gia ngôn ngữ mà cái webstorm còn không đỡ nổi thằng JS thì anh trông mong gì nữa
Tôi từng 1 thời code react dùng js thì đúng là khổ dâm
lLqRnCJ.png
.

Còn library thì nó còn nằm ở cái văn hóa của cộng đồng nữa. Bọn Java, C# nó đi theo kiểu 1 cái library thì phải hoàn chỉnh, đầy đủ feature.
Còn bọn JS thì có mỗi cái is-number, left-pad cũng làm thành 1 cái lib rồi cái lib khác lại depends vào. Thành ra là library bên js mỗi anh 1 style, cảm giác nó không thống nhất như bên Java, C#.
 
Last edited:
Cái first class function tôi không rành nó tốt ở điểm nào tôi không bàn. (nhưng tôi có dùng qua Kotlin thì lạm dụng nó quá thì code như đống spaghetto)
Nhưng về tooling thì js muôn đời không tốt bằng bọn c#, java nói thế cho vuông, lý do đơn giản là duck typing thì static analysis kiểu gì
qZV215Z.png
.
Bọn Webstorm đơn giản là nhận diện framework rồi suggest cho tương ứng. Còn bọn vscode thì làm đếch ai rảnh mà đi support từng fw nên càng shitty hơn.
Code biến tấu 1 tí thì cái "IntelliSense" khác mịa gì fuzzy search đâu
jmEBCky.gif
.
Tôi từng 1 thời code react dùng js thì đúng là khổ dâm
lLqRnCJ.png
.

Còn library thì nó còn nằm ở cái triết lý nữa. Bọn Java, C# nó đi theo kiểu 1 cái library thì phải hoàn chỉnh, đầy đủ feature.
Còn bọn JS thì có mỗi cái is-number, left-pad cũng làm thành 1 cái lib rồi cái lib khác lại depends vào. Thành ra là library bên js mỗi anh 1 style, cảm giác nó không thống nhất như bên Java, C#.

tooling có thể không bằng nhưng nó đủ dùng. như ông này còn dùng joe editor

tôi đã bảo rồi, mấy cái lib trên npm anh không thích thì chỉ cần không dùng là được.
 
Back
Top