Lilotech

Tại sao ASP.Net Core là lựa chọn tốt nhất để xây dựng ứng dụng web cho doanh nghiệp

Tại sao ASP.Net Core là lựa chọn tốt nhất để xây dựng ứng dụng web cho doanh nghiệp

Tại sao ASP.Net Core là lựa chọn tốt nhất để xây dựng ứng dụng web cho doanh nghiệp là bản dịch của  bài báo Why ASP.Net Core is the best choice to build enterprise web applications, được viết bởi Vincy Davis. Bài viết được đăng trên packtpub vào ngày 30 tháng 12 năm 2019 với nội dung sau:

 

ASP.NET Core - framework đa nền tảng và nguồn mở được Microsoft phát triển để xây dựng ứng dụng hiện đại, dựa trên đám mây và kết nối internet. ASP.NET được thiết kế để cho phép các thành phần thời gian chạy, API, trình biên dịch và ngôn ngữ lập trình phát triển nhanh chóng. ASP.NET chạy trên macOS, Linux và Windows trên .NET Core hoặc .NET Framework.

 

Để biết thêm về chu kỳ phát triển của ASP.NET Core và các hướng thiết kế trong tương lai của nó, chúng tôi đã phỏng vấn Kenneth Y. Fukizi, tác giả của cuốn sách 'Tìm hiểu ASP.NET Core 3.0, ấn bản thứ hai', được xuất bản bởi Packt Publishing. Ông có hơn 14 năm kinh nghiệm chuyên môn và đang làm việc như một kỹ sư và một chuyên gia tư vấn kỹ thuật phần mềm cho các tổ chức có trụ sở tại Nam Phi, Úc, Hoa Kỳ và Canada.

 

Kenneth tin là hiệu năng hiện tại của ASP.NET Core vượt trội hơn nhiều so với các phiên bản trước và các đối thủ cạnh tranh của nó. Ông ấy thích sử dụng ASP.Net Core để xây dựng các ứng dụng web doanh nghiệp do tính linh hoạt mà nó có. Ông cũng rất vui mừng khi .Net 5 sẽ có khả năng tương tác nhiều hơn với các ngôn ngữ lập trình khác. Khi được hỏi cảm nghĩ của ông về việc Microsoft hỗ trợ nền tảng nguồn mở Pulumi, Kenneth nói rằng điều đó nhất định sẽ giúp nhà phát triển xây dựng ứng dụng đám mây hiện đại.

 

Dưới đây là toàn bộ cuộc phỏng vấn với Kenneth trên ASP.Net Core.

 

Tại sao ASP.NET Core là lựa chọn tốt nhất để phát triển ứng dụng web?

 

Điều gì làm cho .NET Core trở thành một trong những nền tảng phát triển chung tốt nhất? ASP.NET Core tăng cường hiệu năng của các ứng dụng web như thế nào? Ông nghĩ gì về lợi ích chính của Asp.net Core trong phát triển ứng dụng web doanh nghiệp?

 

Với .Net Core làm nền tảng, bạn có thể phát triển các ứng dụng web, ứng dụng máy tính, ứng dụng điện toán đám mây, ứng dụng di động, ứng dụng trò chơi, ứng dụng internet vạn vật( Internet of Things - IoT) và ứng dụng trí tuệ nhân tạo (Artificial Intelligence - AI) và đó là tất cả những điều bạn có thể mong đợi ở một nền tảng.

 

Cụ thể, ASP.Net Core đã nỗ lực để đảm bảo hiệu suất ứng dụng web nâng cao so với các phiên bản trước hoặc một số framework của đối thủ cạnh tranh, bằng cách sử dụng mô hình lập trình không đồng bộ. Trong đó, ASP.Net Core loại bỏ khá nhiều yêu cầu để có đơn vị xử lý (chu trình) mà trước đó chúng ta cần chờ để truy vấn cơ sở dữ liệu, ra lệnh dịch vụ web, vận hành IO, và tất cả điều đó đều gây lãng phí tài nguyên quý giá.

 

ASP.Net Core được thiết kế từ đầu, thống nhất cả framework MVC và WebAPI. Nó đã loại bỏ sự phụ thuộc vào IIS, loại bỏ một số bagage dư thừa khác, gồm cả việc tải trước thư viện của bên thứ ba. Kết quả là, nó nhẹ hơn và nhanh hơn, từ đó đạt được hiệu suất đường truyền.

 

Có rất nhiều điều hay về hiệu suất của ASP.NET, bao gồm khả năng cải tiến với bộ nhớ đệm đầu ra và các tính năng khác, hơn thế nữa, thực tế là hiệu suất của có còn đang cải thiện hơn mỗi ngày. Thông qua các điểm chuẩn TechEmpower có sẵn, công khai trên web bạn có thể theo dõi các số liệu hiệu suất.

 

ASP.Net Core là lựa chọn của tôi để xây dựng các ứng dụng web cho doanh nghiệp, chủ yếu là do tính linh hoạt của nó, xuất phát từ đa nền tảng. Bạn có nhiều cách dùng công cụ có sẵn để phát triển ứng dụng ASP.Net Core bằng Visual Studio hoặc Visual Studio Code trên hệ điều hành Windows hoặc Mac, hay Linux.

 

Trong một doanh nghiệp, nhiều chức vụ khác nhau sẽ cùng làm việc trên một ứng dụng doanh nghiệp. Thế nên, một công cụ có thể sử dụng rộng rãi sẽ tạo thuận tiện cho tất cả  thành viên trong dự án.

 

ASP.Net Core có một cộng đồng người dùng sôi động, đến độ nó luôn được phép người dùng đưa ra input của họ. Chúng ta có thể nói nó là một nguồn mở mở đường cho những cải tiến và ứng dụng nhanh giữa các ngành công nghiệp. Ngoài ra, khi các ứng dụng ASP.Net Core áp dụng vào sản xuất, bạn có thể cho phép người dùng đưa ra input trong nội bộ tổ chức của mình hoặc trong bất kỳ nhà cung cấp dịch vụ lưu trữ đám mây có tiếng nào khác bao gồm Azure và AWS.

 

Từ ASP.Net Core, bạn có thể tương tác với các ứng dụng khác được phát triển với các ngăn (stack) công nghệ bên ngoài dễ dàng hơn và điển hình là một ứng dụng doanh nghiệp sẽ cần tương tác với một số ứng dụng khác. Và tôi mừng là phiên bản mới của môi trường thời gian chạy (runtime) của .Net Core (mà ASP.Net Core chạy trên), được gọi là .Net 5, dự kiến ​​sẽ có nhiều khả năng tương tác hơn với các ngôn ngữ khác như Java, Objective C và Swift.

 

Có rất nhiều lợi ích khi sử dụng ASP.Net Core mà chúng ta có thể dành cả ngày để thảo luận về chúng, nhưng nói tóm gọn là ASP.Net Core sẽ không làm bạn thất vọng vì nó vẫn đang không ngừng cải thiện các thiếu sót cũ.

 

Gần đây, Microsoft đã thông báo rằng .NET Core sẽ hỗ trợ nền tảng nguồn mở Pulumi để xây dựng ứng dụng đám mây hiện đại. Mục đích là để giúp các nhà phát triển khai báo cơ sở hạ tầng đám mây bao gồm tất cả Azure như Kubernetes và CosmosDB bằng bất kỳ ngôn ngữ .NET nào như C #, VB.NET và F #. Bạn nghĩ Pulumi với .NET sẽ giúp các nhà phát triển phần mềm như thế nào?

 

Có người cảm thấy không quen hoặc không thuận tiện khi điều hướng cơ sở hạ tầng đám mây, hoặc không chịu nổi việc bị làm phiền khi học hỏi một cái gì đó mới, và thay vì ra khỏi vùng an toàn trong cơ sở mã của mình, họ có thể sẽ khai báo mọi thứ thông qua mã, chẳng hạn như các nhóm tài nguyên và các thứ khác tạo nên cơ sở hạ tầng đám mây.

 

Pulumi giúp mọi thứ dễ dàng hơn, trừu tượng hóa mọi thứ và thay thế nhu cầu sử dụng các công cụ khác nhau nhằm tạo cơ sở hạ tầng đám mây. Ví dụ như, chúng ta sẽ dễ dàng mở các tệp JSON, YAML hoặc tìm ra một ngôn ngữ cụ thể về miền (Domain Specific Language - DSL) trên nền tảng đám mây. Thay vì chúng ta chỉ có thể khai báo bằng ngôn ngữ mà chúng ta đã biết. Pulumi chắc chắn sẽ có ích.

 

Độ bền lâu của ASP.NET Core và hướng thiết kế trong tương lai

 

Tại hội nghị NDC được tổ chức gần đây, Ryan Nowak, một nhà phát triển và kiến ​​trúc sư của Microsoft trên ASP.NET Core đã chia sẻ chi tiết về nhiều dự án trong tương lai như BedRock, Houdini và SMALL FAST.NET Server. Mục tiêu chung của các dự án này là đơn giản hóa khả năng tương thích đa nền tảng giữa các môi trường khác nhau. Bạn nghĩ các dự án này sẽ giúp định hướng các hướng thiết kế trong tương lai của .NET 5 và đảm bảo độ bền của ASP.NET Core như thế nào?

 

.Net 5 đang trong quá trình kết hợp sau khi rút kinh nghiệm đang xảy ra xung quanh dự án Bedrock, dự án Houdini và máy chủ SMALL FAST.NET. Những gì cá nhân tôi có thể thấy từ dự án Bedrock là bắt đầu từ layer thấp nhất sẽ có sự nổi bật hơn khi .Net Sockets xử lý Mạng I / O với chi phí Libuv vay từ NodeJS nhờ vào khả năng đa nền tảng của nó. Rõ ràng là .Net Sockets sẽ học được một hoặc hai điều từ cách Libuv vận hành và thực hiện các bài học kinh nghiệm, để nó hoạt động trơn tru với công nghệ .Net, và .Net 5 sẽ được hưởng lợi rất nhiều từ các cải tiến.

 

Theo tôi, .Net 5 bị buộc phải phục vụ cho nhiều giao thức hơn như MQTT, AMQP, HTTP3 và QUIC và tôi sẽ không ngạc nhiên khi thấy khả năng tương tác nhiều hơn với các ngôn ngữ lập trình khác trên .Net 5. ASP.Net Core vẫn ở đó vì nó được thiết kế để hoạt động độc quyền trên thời gian chạy .Net Core, sớm chuyển sang .Net 5.

 

Tôi có thể thấy rất nhiều cải tiến trên ASP.Net Core 3.0, đặc biệt chịu trách nhiệm như một nền tảng về framework MVC trên nền tảng ASP.Net Core. Điều này sẽ cho phép tái sử dụng chức năng trên các framework khác nhau như SignalR, dịch vụ gRPC, Blazor, Bộ điều khiển và Trang. 5 framework lớn trong dự án Houdini này là điều hiển nhiên trong việc sử dụng định tuyến điểm cuối (endpoint routing.

 

Đơn giản hóa trách nhiệm từ MVC thành một layer thấp hơn làm cho ASP.NET nhẹ hơn và thân thiện hơn với nhà phát triển, nhưng cũng không phải là loại bỏ MVC hoàn toàn, vì bạn có thể thấy nó vẫn còn hiện diện khá nhiều. Nói chung, việc tái cấu trúc này làm cho ASP.NET linh hoạt hơn đáp ứng các thay đổi trong tương lai. Đó là đặc điểm của một nền tảng khác biệt và góp phần giúp nó trở thành nền tảng chéo thực sự.

 

Đôi nét về Kenneth Y. Fukizi:

Ông là một chuyên gia về giải pháp kiến trúc phần mềm, nhà tư vấn, nhà phát triển phần mềm và kỹ sư với hơn 14 năm kinh nghiệm chuyên môn. Ông là huấn luyện viên, kỹ sư phát triển giải pháp phần mềm, cộng sự, chuyên viên được chứng nhận của Microsoft, Microsoft Certified Solutions Developer®, Microsoft Certified Solutions Associate®, Microsoft Certified Professional®, trong số các chứng chỉ chuyên môn và kỹ thuật khác.

Kenneth cũng giảng dạy và làm cố vấn cho sinh viên lập trình. Ông đã dành phần lớn cuộc đời của mình để làm nhà thầu / tư vấn kỹ thuật phần mềm cho các dự án khác nhau của các tổ chức có trụ sở tại Nam Phi, Úc, Hoa Kỳ và Canada.

Yến Nhi dịch