[Series C#] HELLO .NET CORE

9/16/2020 2:20 PM | Lập trình

Cách đây vài hôm, Microsoft vừa khiến cộng đồng Open Source dậy sóng bằng việc ra mắt .NET Core 1.0 và ASP.NET Core 1.0. Giờ đây, .NET không chỉ chạy trên mỗi Windows mà còn chạy được trên Linux và MacOS. Đây là một nước cờ khá cao tay của Microsoft. Hãy cùng xem anh em developer chúng ta được lợi ích gì trong vụ này nhé.

Đây là một nước cờ khá cao tay của Microsoft. Hãy cùng xem anh em developer chúng ta được lợi ích gì trong vụ này nhé.

.NET Framework của ngày hôm qua

Ngày xửa ngày xưa, khi nhắc tới C#, người ta nghĩ ngay tới .NET Framework của Microsoft. C# hay bị người đời ném đá bởi vì nó đi kèm với .NET Framework chỉ hoạt động trên Windows.

Ngoài ra, để viết ứng dụng C#, lập trình viên còn phải làm việc với 2 thằng vừa nặng vừa mắc tiền là Visual Studio và Microsoft SQL Server. Hai thằng này cũng … chỉ hoạt động trên Windows nốt.

Trước đây, để chạy C# trên các hệ điều hành khác, ta có thể sử dụng Mono. Tuy nhiên, đây không phải là 1 dự án chính thức của Microsoft. Developer vẫn không có IDE C# nào ngon lành, cũng chẳng có SQL Server nào đi kèm.

Sử dụng C#.NET đồng nghĩa với việc phải dùng toàn bộ hệ sinh thái (tốn tiền) của Microsoft!! Vì lẽ đó, C# tiếp tục trùm chăm đắp chiếu trên Windows, chịu sự ghẻ lạnh của người đời (người đời ở đây là cộng đồng developer dùng Linux, MacOS).

.NET Framework ngày hôm nay

Thế rồi Microsoft bắt đầu mở cửa dần dần. Thay vì đóng im ỉm như trước, Microsoft bắt đầu open source .NET Framework, ASP.NET MVC, Entity Framework để thu hút cộng đồng lập trình viên Open Source.

.NET Core đã bắt đầu ra những bản beta từ năm ngoái, và bản 1.0 vừa được chính thức ra mắt cách đây vài hôm.

Giờ đây, việc lập trình C# trở nên nhẹ nhàng rất nhiều. Ta chỉ cần cài đặt .NET Core (nhẹ), Visual Studio Code (cũng nhẹ). Tất cả đều free nhé. Trong thời gian sắp tới thì Microsoft sẽ đưa SQL Server 2016 lên Linux luôn.

Lý do Microsoft đưa .NET lên Linux

Lý do rất đơn giản: Vì Microsoft muốn cho các developer có thêm nhiều lựa chọn, góp phần phát triển ngành phần mềm.

Đùa đấy, bọn tư bản giãy chết làm gì tốt bụng như thế được! Đây là chiêu thả con săn sắt bắt con cá khô của Microsoft. Nền tảng đám mây Azure của Microsoft cho phép tạo các máy ảo Red Hat Linux.  Việc Red Hat Linux chạy được .NET sẽ giúp Microsoft tăng doanh số Azure Cloud.

Ngoài ra, do rào cản về tiền bạc đã biến mất, Microsoft cũng thu hút được kha khá lập trình viên sử dụng công nghệ của họ.

 .NET Core đi kèm những “đồ chơi” gì?

  • Bộ cài .NET Runtime: cho phép viết code, build và chạy ứng dụng .NET trên Windows, Linux, Mac
  • .NET Cli: Thay vì phải sử dụng Visual Studio để mở project, build và bấm run, nay ta có thể dùng command line và gõ dotnet builddotnet run. Vừa ngầu vừa nhanh gọn. Việc build và run bằng command line cũng giúp tích hợp CI và deploy dự án dễ dàng hơn nhiều.
  • IDE: Visual Studio rất nhiều tính năng nhưng chạy chậm và khá tốn RAM. Giờ đây ta có Visual Studio Code: nhanh, gọn, nhẹ, tích hợp git và chạy được trên mọi hệ điều hành. Bạn nào quen dùng hàng của JetBrain (ReSharper, WebStorm) có thể chờ và dùng Project Rider của họ
  • Database: Trước nay dùng .NET là phải dùng kèm với Microsoft SQL Server. Giờ chuyển qua Linux thì dùng Database gì?? Đừng lo, Microsoft cũng sẽ đưa bản SQL Server 2016 của họ lên Red Hat Linux luôn.

Ơ thế có ảnh hưởng gì tới cuộc sống của mình không?

Dĩ nhiên là.. có chứ! Trước đây, nếu muốn deploy một trang web C#, bạn phải tự mua host, mua Azure cloud hoặc up lên somee. Rất phiền toái.

Giờ đây, bạn có thể thoải mái deploy lên heroku, openshift và các host Linux khác. Bạn cũng có thể code và chạy C# trực tiếp trên Cloud9 luôn. Tuyệt quá phải không nào! (À, WebForm thì .NET Core chưa hỗ trợ đâu nhé, ahihi).

Kết luận

Nước đi này của Microsoft được cộng đồng các developer hoan nghênh nhiệt liệt. Cộng đồng developer có thêm lựa chọn công nghệ để sử dụng. Microsoft thì lôi kéo được một đống developer sử dụng phần mềm của họ.

Bản thân C# vốn đã là một ngôn ngữ khá mạnh mẽ. Với sự ra đời của .NET Core, C# đã có thể chạy trên mọi hệ điều hành. Giờ đây, bạn có thể dùng C# để viết web, viết ứng dụng di động (với Xamarin), chạy được trên nhiều nền tảng khác nhau.

Còn chờ gì nữa nào? Cùng vào dot.net để tải .NET Core 1.0 về máy và nghịch nào. Bản này nhẹ lắm, không nặng như .NET Framework đâu.

Dành cho các bạn muốn tìm hiểu thêm:

Tác giả: Phạm Huy Hoàng

Tin tức khác

  • Tạo chatbot với CHAT GPT sử dụng C#

    Tạo chatbot với CHAT GPT sử dụng C#

    Trong hướng dẫn này, chúng ta sẽ đi sâu vào quá trình xây dựng chatbot bằng ChatGPT và C#. Chúng tôi sẽ đề cập đến mọi thứ, từ thiết lập quyền truy cập API ChatGPT đến triển khai chatbot của bạn. Bắt đầu nào!

  • Remote SQL Server. Cách mở port 1433 để kết nối với sqlserver từ xa.

    Remote SQL Server. Cách mở port 1433 để kết nối với sqlserver từ xa.

    Hiện nay nhiều người có xây dựng cơ sở dữ liệu trên server và kết nối tới để làm việc cho tiện. Nên mình chia sẻ bài viết này cho người mới nhé.

  • Sự khác nhau giữa Application, Virtual Direction và Site. Cách tạo 1 Virtual Direction.

    Sự khác nhau giữa Application, Virtual Direction và Site. Cách tạo 1 Virtual Direction.

    Trong IIS, bạn có thể tạo các trang web, ứng dụng và thư mục ảo để chia sẻ thông tin với người dùng qua Internet, mạng nội bộ hoặc mạng phụ. Mặc dù các khái niệm này đã tồn tại trong các phiên bản trước của IIS, một số thay đổi trong IIS 7 trở lên ảnh hưởng đến định nghĩa và chức năng của các khái niệm này. Quan trọng nhất, các trang web, ứng dụng và thư mục ảo giờ đây hoạt động cùng nhau theo mối quan hệ phân cấp như những khối xây dựng cơ bản để lưu trữ nội dung trực tuyến và cung cấp dịch vụ trực tuyến.

  • Design pattern là gì? Tại sao nên sử dụng Design pattern?

    Design pattern là gì? Tại sao nên sử dụng Design pattern?

    Design pattern là các giải pháp tổng thể đã được tối ưu hóa, được tái sử dụng cho các vấn đề phổ biến trong thiết kế phần mềm mà chúng ta thường gặp phải hàng ngày. Đây là tập các giải pháp đã được suy nghĩ, đã giải quyết trong tình huống cụ thể.

  • CDN là gì? Khi nào thì cần xài CDN cho website

    CDN là gì? Khi nào thì cần xài CDN cho website

    Thuật ngữ CDN có thể bạn sẽ bắt gặp khá nhiều bài viết trên thachpham.com, hoặc khi bạn cần một người có kinh nghiệm tư vấn giải pháp tiết kiệm băng thông máy chủ và tăng tốc độ website đều sẽ được nghe tư vấn là sử dụng CDN. Vậy CDN chính xác là cái gì, có bao nhiêu loại CDN, và website của bạn có thích hợp để sử dụng CDN không thì bài này sẽ cung cấp cho bạn các thông tin cần thiết đó.

  • Giao thức HTTP và HTTPS là gì? Tại sao nên sử dụng HTTPS?

    Giao thức HTTP và HTTPS là gì? Tại sao nên sử dụng HTTPS?

    Môi trường internet phát triển, kéo theo tội phạm mạng tăng cao, vì thế cần có những chuẩn bảo mật web cao hơn. Đó là lí do giao thức HTTPS dần thay thế hoàn toàn HTTP. Vậy, giao thức HTTPS là gì? HTTP và HTTPS khác nhau như thế nào? Và tại sao các website nên dùng HTTPS thay vì HTTP? Bài viết này sẽ giúp bạn giải đáp tất cả những thắc mắc đó.

  • Tích hợp zalo vào website.

    Tích hợp zalo vào website.

    Nếu bạn là một người có website bán hàng thì việc liên hệ thuận lợi nhanh cho khách hàng luôn là ưu tiên hàng đầu. Cũng chính vì lí dó này mình đã tìm hiểu sau khi chèn cho website của mình. Thấy hay nên chia sẻ cho mọi người có nhu cầu.