Lập trình C# với asp.net core có thể hosted trên linux?

Mọi người cho mình hỏi:
1/ asp.net core khác với asp.net framework phải không? Nếu ta sử dụng asp.net core thì ta sẽ chạy trên linux với máy chủ nào?
2/ asp.net core có thể chạy trên máy chủ khác, không nhất thiết phải là IIS, tức là ta không lo về phí bản quyền, nhưng bù lại sẽ code cực hơn vì ít framework và vì cộng đồng còn ít. Các bạn có thể giới thiệu cho mình các framework dành cho net core mà mọi người từng sử dụng không?
3/ Vậy tương lai, rất có thể .net core sẽ trở thành java, hay php khi mà được cộng đồng đóng góp các framework miễn phí?

1/ ASP.NET Core là tên mới, tên cũ là ASP.NET. Nó là framework. Đã based từ .NET thì chắc chắn phải dùng Windows.

2/ Có nhiều web server khác thay thế cho IIS như Kestrel, Cassini, Apache + Mono mod.

3/ Tương lai, không nói trước được, Còn trở thành level như Java bây giờ thì còn xa xa xa vời lắm, vì các hệ thống enterprise lớn, finance, banking, xử lý số lớn, … nền tảng build từ Java và rất mạnh, rất ổn định, hỗ trợ đa nền tảng từ rất lâu (thông qua JVM). .NET mặc dù đã open-source nhưng use case không nhiều, và nhiều rủi ro lớn, nên việc ứng dụng .Net vào để thay cho Java là một bài toán khá xa. Giống như thay thế cả một hệ thống chính phủ…

3 Likes

Mình vô tình tìm được cuốn sách Professional C# 6 and .NET Core 1.0, trong đó nó có ghi rằng:

When .NET was released, Windows had a big market share both on the client and on the server. Now the world is more fragmented. Companies decided against running server-side code with ASP.NET because it didn’t run on Linux. ASP.NET Core 1.0 with .NET Core can run on Linux. .NET Core is platform-independent and supports Windows, Linux, and Mac systems. For client applications, you can use .NET with Xamarin on iPhone and Android.

Không biết mình hiểu đúng hay là sai, nhưng theo sách nói thì hoàn toàn có thể chạy trên máy chủ linux với asp.net core 1.0. Mình không hiểu sao bạn bè mình cứ nói tới công nghê .NET thì họ bảo rằng tốn chi phí bản quyền cho window server, nhưng rõ ràng là ta sẽ chẳng tốn 1 đồng nào nếu dùng c# + mysql + linux, vì mọi thứ đều là miễn phí, hoàn toàn free giống php và java.

Chú ý nhé: bản Core là mới, tức là từ khi Microsoft chính thức đưa ra mã nguồn mở, vì thị phần quá thấp nên bắt buộc phải mở ra để lôi kéo và giữ chân khách hàng. Cũng là để tìm nguồn lực để mở rộng .NET sang các nền tảng khác.

can run: không có nghĩa là chạy hoàn thiện được tất cả mọi chức năng nhé. Việc mua lại Xamarin là một trong những bước tiến của Microsoft để mở rộng .NET sang Linux.

.Net Core hiện tại có thể chạy trên Linux, nhưng cần một web server, hiện tại chưa có cái web server nào dành cho .NET mà ổn định.

Việc .NET Core trở thành free dù đã 2 năm nhưng vẫn là mới.

Mà nói thẳng ra, đã không làm .NET thì chẳng ai quan tâm .NET. Tôi đang có sản phẩm ở nền tảng này, đang có nguồn thu tốt, tại sao tôi lại phải đi quan tâm thằng .NET? Free? Việc của nó, I don’t care.

Chốt lại nhé:

  • .NET Core có thể thực thi được trên Linux.
  • Cộng đồng .NET so với các cộng đồng mã nguồn mở là ít hơn nhiều.
  • .NET là free, open-source. Ai quan tâm thì quan tâm, không quan tâm là việc của người ta. Đừng mất công tranh cãi làm cái gì.
  • Công nghệ thay đổi là điều tất yếu, không phải so đo cái nào với cái nào. Việc quan trọng là công nghệ có giải quyết được bài toán kinh doanh? Thậm chí trả tiền để mua một nền tảng công nghệ để kiếm được nguồn thu lớn hơn nhiều, sẵn sàng luôn.
  • Cuốn Profession C# 6.0 and .NET Core 1.0 nội dung là hoàn toàn chính xác.
6 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?