[Series] .Net Core 3.0

  • .Net Core 3.0 mang tới thêm nhiều điều mới từ các phiên bản .Net Core trước đây. Nó là một phiên bản mới sẽ bao gồm C# 8, Winforms và Entity Framework 6.
  • .Net Core 3.0 sẽ chủ yếu hướng đến Microservices và được thiết kế để xây dựng lên những ứng dụng cloud-native.
  • Các lập trình viên sẽ có thể lập trình với hiệu suất cao, dựa trên dịch vụ RPC trong các ứng dụng ASP.Net Core 3.0
  • ASP.Net Core 3.0 sẽ có khả năng sử dụng AOT (Ahead of Time Compile) giúp cho các ứng dụng của lập trình viên trở nên tự nhiên và có hiệu năng cao.
  • Microsoft vẫn sẽ tiếp tục cập nhật các phiên bản cho .NET Framework để đáp ứng về bugs, performance, security, và các tiêu chuẩn khác trong tương lai.

.NET CORE chính thức được ra mắt tại .NET Conf 2019 vào các ngày 23 - 25 tháng 9, một sự kiện ảo (virtual) được tổ chức miễn phí cho các developers.

Với việc phát hành .Net Core 3.0, Microsoft đã có phiên bản chính thức tiếp theo của những dự định chung, hướng module, cross-platform, và nền tảng mã nguồn mở,... những thứ đã được công bố lần đầu tiên năm 2016.
.Net CORE đã được tạo lần đầu tiên với vai trò là kế nhiệm của các giải pháp dùng ASP.NET, nhưng hiện nay đang thúc đẩy và dự trên rất nhiều kịch bản thực tế bao gồm IoT, Cloud và thế hệ tiếp theo của các giải pháp cho Mobile.
Phiên bản thứ 3 lần này bổ sung thêm một số các tính năng được yêu cầu từ cộng đồng developers, ví như hỗ trợ cho Winforms, WPF và đặc biệt là Entity Framework 6.

Một số thông tin về .Net Core trước khi chúng ta tìm hiểu sâu hơn về nó!

.NET CORE được khởi động vào năm 2014, khi mà nhóm phát triển .Net Framework của Microsoft nhận ra những thay đổi cần thiết để .Net có thể phù hợp trong vòng 20 năm tiếp theo của xu hướng công nghệ. Điều mà rõ ràng .Net Framework các phiên bản trước đây không thể thực hiện được.

Về bản chất thì .Net Framework là một phần của Windows, mỗi ứng dụng sinh ra chỉ có 1 phiên bản trên Windows. Do đó, điều nó cần là sự tương thích cao với phần còn lại, và đồng thời không phá vỡ hoặc ảnh hưởng đến bất kỳ ứng dụng nào đang được sử dụng trên hơn 1 tỷ máy tính trên toàn cầu.
Vì là một phần của Windows, nên việc phát hành mới của .Net Framework thường chỉ được công bố 2 lần 1 năm, nó đúng với chu kỳ phát hành các bản cập nhật lớn của Windows. Đồng thời mã nguồn mở (Open Source) đang chiếm lĩnh mảng phần mềm, và tất cả các nền tảng phát triển phần mềm khác đã, đang là mã nguồn mở. Cùng với đó, không ít những developers đang sử dụng máy Mac, các doanh nghiệp sử dụng Linux để lưu trữ và xây dựng hệ thống, do vậy Microsoft cần phải thay đổi, cần có những nền tảng chéo (Cross Platform) để đáp ứng xu thế.

Bản chất của .Net Core và những điều mới từ Microsoft?
.Net Core được sinh ra là một phiên bản của .Net Framework; tất nhiên nó là mã nguồn mở (Open Source), là đa nền tảng và rất nhiều các phiên bản có thể được cài đặt trên 1 máy tính đơn lẻ. Những công cụ dành cho nó đã được thiết kế, trước tiên là CLI (Command Line Interface), từ đó các developers có thể phát triển sử dụng .Net Core trên bất kỳ máy tính nào có bất kỳ text editor nào. Microsoft cũng đã hỗ trợ rất tuyệt vời cho nó, sử dụng các công cụ truyền thống như Visual Studio, Visual Studio for Mac, và Visual Studio Code.

.Net Core 3.0 mang lại vô số điều mới. Có hàng triệu developers toàn cầu phát triển ứng dụng trên Windows bằng Winforms và WPF, cả hai đều đã được thêm vào .Net Core 3.0. Rất nhiều ứng dụng trong số đó sử dụng Entity Framework 6, và nó cũng đã được đưa vào .Net Core 3.0. Ngoài ra còn bao gồm C# 8, .Net Standard 2.1 v.v...

ASP .NET

Rất nhiều lần khi chúng ta nói về .Net Core 3.0, chúng ta nói về việc hỗ trợ cho các hệ thống, công nghệ mới, nhưng với ASP .NET thì chúng ta cũng đang có rất nhiều điều cần nhắc đến.

Trước tiên, khi Microsoft không đưa WCF trở lại, Microsoft cũng biết rằng rất nhiều developers muốn lập trình ứng dụng với hiệu suất cao, dựa trên nền tảng dịch vụ RPC trong những ứng dụng của họ. Để giảm bớt khó khăn trong khối lượng công việc của họ, Microsoft đã nắm lấy dự án mã nguồn mở gRPC. Microsoft đang phát triển cho lớp đầu tiên của việc tích hợp này, và bởi vì nó là gRPC nên nó cũng hoạt động tốt với rất nhiều các ngôn ngữ lập trình khác nhau.

Có một dự án về Worker Service liên quan đến Microservices để xây dựng những "lightweight background workers", cái mà có thể chạy trong những Kubernetes. Ngoài ra trong khi ASP .NET đang hỗ trợ tuyệt với cho việc xây dựng những API, Microsoft cũng muốn dễ dàng đặt thêm những lớp bảo mật lên trên chúng, vì thế Microsoft bổ sung thêm các cầu nối để sử dụng các API với dự án mã nguồn mở có tên Identity Server. Cuối cùng là Microsoft làm việc trên Blazor, thứ có thể giúp các developers dựng các web-application với hiệu suất cao, sử dụng .NET trong cả trình duyệt (front end) và server (backend), sử dụng Web Assembly.

Sự tương thích với Cloud?

Một phần không thể thiếu của Microsoft Ecosystem là Azure.
Azure không ảnh hưởng trực tiếp đến các kế hoạch của việc phát triển .Net Core. Nhưng Microsoft muốn chắc chắn rằng .Net Core là một nền tảng tốt nhất trong việc xây dựng nên những ứng dụng Cloud-Native, bao gồm cả microservice và ứng dụng container-based (ứng dụng mang tính đóng gói).

Theo truyền thống, .Net được nghĩ đến nhiều hơn trong bối cảnh các ứng dụng, giao diện người dùng được xây dựng trên web hoặc desktop. Microsoft muốn thay đổi nhận thức đó!

.Net Core 3.0 sẽ được phát hành với những mẫu định nghĩa sẵn cho việc xây dựng những dự án Worker Service. Microsoft cũng muốn những nền tảng này có bao gồm cả việc hỗ trợ phân tích (diagnostics) và gỡ lỗi (debugging), ngay cả khi bạn chạy các ứng dụng với cường độ cao trên cloud.

Với .Net Core 3.0, phần ấn tượng có lẽ là việc hỗ trợ CLI, đa nền tảng (cross-platform) và là open-source.

title Việc chỉ cần lấy một máy Windows, Mac hoặc nền Linux, mở CLI và xây dựng lên 1 ứng dụng với một text editor do bạn tự chọn, là những điều gì đó mà bạn chưa hề nghĩ là có thể làm được với .Net trong quá khứ. Đồng thời, việc có thể lên GitHub và xem những thứ mà cả Microsoft và cộng đồng đang phát triển là một cảm giác rất thú vị và mang lại nhiều cảm hứng cho chúng ta.
Xa hơn nữa, Microsoft luôn hào hứng để kích hoạt, bổ sung thêm các tính năng mới cho .Net, giúp nó có thể thích ứng nhiều nhất với những xu hướng và mong muốn của mỗi developer. Microsoft cũng đang rất hào hứng với AOT compilation (Ahead of Time Compiler), là thứ mà sẽ cung cấp cho bạn những ứng dụng nhỏ với hiệu suất cao, mang tính native như ngôn ngữ Go của Google đang có.

Tất cả những điều này mang lại ý nghĩa gì cho .Net Framework?

.Net Framework là một phần không thể thiếu của hệ điều hành Windows. Chính xác thì Windows phụ thuộc vào nó, rất nhiều sản phẩm dịch vụ quy mô lớn từ Microsoft phụ thuộc nó, cộng với hàng triệu các ứng dụng của khách hàng đang sử dụng nó. Bởi vì thường chỉ có một phiên bản được cài đặt trên Windows, nó có một sự tương thích rất cao và thường Microsoft sẽ bị giới hạn trong việc thay đổi những gì mà Microsoft có thể thay đổi trong Framework. Microsoft sẽ tiếp tục cập nhật cho việc vá lỗi, cải thiện hiệu năng, bảo mật và những tiêu chuẩn trong tương lai. Tương lai của sự sáng tạo sẽ có trong .Net Core; bên cạnh bản chất của những nền tảng đã được triển khai; Microsoft sẽ thay đổi nhanh chóng và tránh những nguy cơ làm phá vỡ những ứng dụng đã có.

Vậy tại sao các developers, những người mà không sử dụng .Net và C# cho những dự án của họ; thì vẫn nên xem về .Net Core?

Thực tế hiện nay, rất nhiều developers sử dụng những công cụ sẵn có phù hợp nhất cho công việc của họ. Nếu nhìn vào TechEmpower Benchmarks search: aspcore- thì .Net Core là một trong những Framework nhanh nhất hiện có. Nó được cung cấp bởi ngôn ngữ C#, ngôn ngữ mà có các tính năng tuyệt vời như Async/Await để giúp cho lập trình Async dễ dàng hơn (đã có nhiều nền tảng khác copy điều này), và cũng hỗ trợ cho ngôn ngữ chức năng F#. Bên cạnh đó là những công cụ tuyệt vời cho developers, ví như Visual Studio for Windows, Visual Studio for Mac, Visual Studio Code, hay Jet Brains Rider.

Vậy những điều mà Microsoft đang muốn được chú ý hơn trên .Net Core 2.2, 3.0 và hơn thế?

Chúng ta cũng đá nói khá nhiều về các nền tảng chung và lịch sử của .Net. Ngoài ra còn có một số sự phát triển thú vị khác trong .Net, ví dụ như Blazor, một mô hình lập trình giúp các developers xây dựng các ứng dụng web trên cả server và client. Trên máy khách (client) thì chúng ta biên dịch .Net vào Web Assembly để có được tốc độ nguyên bản trong trình duyệt (tốc độ duyệt tối đa mà trình duyệt có thể) và có toàn bộ những thứ mạnh mẽ nhất của .Net trên cả client và server.
Microsoft cũng đang hỗ trợ thêm cho Machine Learning (ML) vào .Net với ML.NET, đây là một thư viện mã nguồn mở của Microsoft. Công nghệ cốt lõi bên trong nó đã được sử dụng trong các sản phẩm của Microsoft trong nhiều năm qua và và hiện cũng đang được cung cấp rộng rãi một cách công khai.

Leave a Reply

Your email address will not be published. Required fields are marked *