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ủ…
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é: