Series C# hay ho – Hello .NET Core

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é.

.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).

63128019

.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.

SQL-Loves-Linux_2_Twitter-002-640x358

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ọ.

image_4

 .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 build, dotnet 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.

5488.Pic2

Ơ 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).

core

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.

Net-Core

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

16 thoughts on “Series C# hay ho – Hello .NET Core”

  1. Bài viết khá thú vị, cảm ơn tác giả. Mình đã build và run trên linux chạy rất oke. Ko biết có bài biết nào hướng dẫn 1 project asp.net api hoàn chỉnh trên visual studio code ko nhỉ?

    Like

  2. Hay ho đây. Vẫn cả mấy chục ngàn người trong đó có tôi còn ôm em MVC 4. Khi nào hỗ trợ WebForm thì mình cũng bay qua luôn.
    Lần đầu ghé thăm chúc mọi người luôn vui vẻ và cám ơn những bài viết hay của Phạm Huy Hoàng.

    Like

    1. Cảm ơn bạn đã ủng hộ blog. Nhưng mà có vẻ là Microsoft không có ý định đưa WebForm lên .NET Core đâu, mà nó dính dáng khá nhiều đến dll System.Web.

      Like

  3. em đã từng deploy thành công C# kết hợp MySQL trên Linux từ khuya rồi nhé :v
    trang chủ của MySQL có cung cấp thư viện .Net connector

    Like

  4. Các bác cho em hỏi tý.
    1. Chỉ cần down 2 file .net core và visual code về cài là xài được ạ?
    2. Với các project trước xài visual studio trước kia chạy được với visual code không ạ?
    Thanks bác Phạm Huy Hoàng vì bài viết hay.

    Like

  5. Anh Hoàng ơi, vậy nếu trường hợp em đang học code C# winform và C# WPF thì qua linux có code được không ạ?

    Like

  6. “Visual studio có nhiều tính năng như chạy chậm, ngốn RAM” vừa đúng mà cũng vừa hài

    Like

  7. Mình và nhiều ae đang chạy qc ads làm môi trường. Mà bị 1 hội vài người chơi xấu mua tull kích. Mibh rất bức xúc mình muốn nc vs b

    Like

Leave a comment