Bạn nên sử dụng .NET Core, thay vì .NET Framework hoặc Xamarin, trong 6 trường hợp điển hình sau theo tài liệu ở đây .
1. Nhu cầu đa nền tảng
Rõ ràng, nếu mục tiêu của bạn là có một ứng dụng (web / dịch vụ) có thể chạy trên các nền tảng (Windows, Linux và MacOS), thì sự lựa chọn tốt nhất trong hệ sinh thái .NET là sử dụng .NET Core làm thời gian chạy (CoreCLR) ) và các thư viện là đa nền tảng. Sự lựa chọn khác là sử dụng Dự án Mono.
Cả hai lựa chọn đều là nguồn mở, nhưng .NET Core được Microsoft hỗ trợ trực tiếp và chính thức và sẽ có một khoản đầu tư lớn trong tương lai.
Khi sử dụng .NET Core trên các nền tảng, trải nghiệm phát triển tốt nhất tồn tại trên Windows với Visual Studio IDE hỗ trợ nhiều tính năng năng suất bao gồm quản lý dự án, gỡ lỗi, kiểm soát nguồn, tái cấu trúc, chỉnh sửa phong phú bao gồm Intellisense, thử nghiệm và nhiều hơn nữa. Nhưng sự phát triển phong phú cũng được hỗ trợ bằng cách sử dụng Visual Studio Code trên Mac, Linux và Windows, bao gồm cả intellisense và gỡ lỗi. Ngay cả các biên tập viên bên thứ ba như Sublime, Emacs, VI và nhiều hơn nữa cũng hoạt động tốt và có thể có được trình soạn thảo intellisense bằng cách sử dụng dự án Omarnarp mã nguồn mở.
2. Dịch vụ kính hiển vi
Khi bạn đang xây dựng một hệ thống theo định hướng microservice bao gồm nhiều microservice độc lập, có khả năng mở rộng, trạng thái hoặc trạng thái không trạng thái, lợi thế lớn mà bạn có ở đây là bạn có thể sử dụng các công nghệ / khung / ngôn ngữ khác nhau ở cấp độ dịch vụ. Điều đó cho phép bạn sử dụng phương pháp và công nghệ tốt nhất cho từng khu vực vi mô trong hệ thống của mình, vì vậy nếu bạn muốn xây dựng các dịch vụ siêu nhỏ rất hiệu quả và có thể mở rộng, bạn nên sử dụng .NET Core. Cuối cùng, nếu bạn cần sử dụng bất kỳ thư viện .NET Framework nào không tương thích với .NET Core, không có vấn đề gì, bạn có thể xây dựng microservice đó bằng .NET Framework và trong tương lai bạn có thể thay thế nó bằng .NET Cốt lõi.
Nền tảng cơ sở hạ tầng bạn có thể sử dụng rất nhiều. Lý tưởng nhất, đối với các hệ thống microservice lớn và phức tạp, bạn nên sử dụng Azure Service Fabric. Nhưng đối với các dịch vụ siêu nhỏ không trạng thái, bạn cũng có thể sử dụng các sản phẩm khác như Dịch vụ ứng dụng Azure hoặc Chức năng Azure.
Lưu ý rằng kể từ tháng 6 năm 2016, không phải mọi công nghệ trong Azure đều hỗ trợ .NET Core, nhưng hỗ trợ .NET Core trong Azure sẽ tăng lên đáng kể khi .NET Core được RTM phát hành.
3. Hệ thống hiệu suất và khả năng mở rộng tốt nhất
Khi hệ thống của bạn cần hiệu năng và khả năng mở rộng tốt nhất có thể để bạn có được khả năng phản hồi tốt nhất cho dù bạn có bao nhiêu người dùng, thì đó là nơi .NET Core và ASP.NET Core thực sự tỏa sáng. Bạn càng có thể làm với cùng một lượng cơ sở hạ tầng / phần cứng, bạn sẽ càng có nhiều trải nghiệm hơn cho người dùng cuối của mình - với chi phí thấp hơn.
Thời của những cải tiến hiệu năng của Moore đối với các CPU đơn lẻ không còn được áp dụng nữa; Tuy nhiên, bạn cần phải làm nhiều hơn trong khi hệ thống của bạn đang phát triển và cần khả năng mở rộng và hiệu suất cao hơn cho những người dùng khó tính hơn hàng ngày đang tăng theo cấp số nhân. Cuối cùng, bạn cần đạt được hiệu quả cao hơn, tối ưu hóa ở mọi nơi và mở rộng quy mô tốt hơn trên các cụm máy, VM và lõi CPU. Nó không chỉ là vấn đề về sự hài lòng của người dùng; nó cũng có thể tạo ra sự khác biệt lớn về chi phí / TCO. Đây là lý do tại sao điều quan trọng là phải phấn đấu cho hiệu suất và khả năng mở rộng.
Như đã đề cập, nếu bạn có thể cách ly các phần nhỏ trong hệ thống của mình dưới dạng microservice hoặc bất kỳ phương pháp kết nối lỏng lẻo nào khác, sẽ tốt hơn vì bạn không thể phát triển độc lập từng phần nhỏ / dịch vụ siêu nhỏ và có thời gian dài tốt hơn nhanh nhẹn và bảo trì, nhưng bạn cũng sẽ có thể sử dụng bất kỳ công nghệ nào khác ở cấp độ dịch vụ siêu nhỏ nếu những gì bạn cần làm không tương thích với .NET Core. Và cuối cùng, bạn có thể cấu trúc lại nó và mang nó đến .NET Core khi có thể.
4. Phát triển kiểu dòng lệnh cho Mac, Linux hoặc Windows.
Cách tiếp cận này là tùy chọn khi sử dụng .NET Core. Tất nhiên, bạn cũng có thể sử dụng IDE Visual Studio đầy đủ. Nhưng nếu bạn là một nhà phát triển muốn phát triển với các trình soạn thảo nhẹ và sử dụng nhiều dòng lệnh, .NET Core được thiết kế cho CLI. Nó cung cấp các công cụ dòng lệnh đơn giản có sẵn trên tất cả các nền tảng được hỗ trợ, cho phép các nhà phát triển xây dựng và thử nghiệm các ứng dụng với cài đặt tối thiểu trên các nhà phát triển, phòng thí nghiệm hoặc máy sản xuất. Các biên tập viên như Visual Studio Code sử dụng cùng các công cụ dòng lệnh cho trải nghiệm phát triển của họ. Và IDE như Visual Studio sử dụng cùng các công cụ CLI nhưng ẩn chúng đằng sau trải nghiệm IDE phong phú. Các nhà phát triển hiện có thể chọn mức độ họ muốn tương tác với chuỗi công cụ từ CLI đến trình chỉnh sửa sang IDE.
5. Cần bên cạnh các phiên bản .NET cho mỗi cấp độ ứng dụng.
Nếu bạn muốn có thể cài đặt các ứng dụng phụ thuộc vào các phiên bản khung khác nhau trong .NET, bạn cần sử dụng .NET Core cung cấp 100% cạnh nhau như được giải thích trước đây trong tài liệu này.
6. Ứng dụng Windows 10 UWP .NET.