Một số người mới bắt đầu học lập trình chắc sẽ nghe đến .NET. Vậy .NET là gì? .NET là một nền tảng hiện đại được đông đảo người sử dụng. Lập trình .NET được dùng để phát triển các ứng dụng cho máy tính, điện thoại di động, website, trò chơi,… và các thiết bị hiện đại khác.
.NET là gì?
Có thể bạn hay nghe về ngôn ngữ lập trình .NET (hay Dot Net) nhưng .NET không phải là ngôn ngữ lập trình, mà là một nền tảng lập trình open-source (nguồn mở), miễn phí và đa nền tảng được phát triển bởi Microsoft. Nó được dùng để xây dựng các ứng dụng cho desktop, web, cloud (đám mây), các app điện thoại, trò chơi, IoT và các app Al. Phiên bản mới nhất của nền tảng này là .NET 8.0, bạn có thể tham khảo bài viết tiếp theo để hiểu thêm về .NET 8 này.
Đây là một nền tảng thống nhất với kiến trúc ba phần:
-
Ngôn ngữ (Language),
-
Thư viện (Library),
-
CLR (Common Language Runtime- thời gian chạy ngôn ngữ chung).
.NET sẽ thực thi chương trình trong CLR, môi trường phần mềm này sẽ quản lý bộ nhớ, bảo mật và xử lý ngoại lệ.
Các thành phần của lập trình .NET
Thành phần của .NET bao gồm:
-
Framework của ứng dụng và thư viện
-
Tiêu chuẩn .NET (.NET Standard)
-
Thành phần thời gian chạy (Runtime Component)
-
Trình biên dịch ngôn ngữ (Language compiler)
-
Ngôn ngữ lập trình – C#, F#, và Visual Basic
-
Các công cụ- Visual Studio, Visual Studio cho thiết bị Mac, Visual Studio Code, và Command Line Interface (CLI). Những công cụ này được dùng để xây dựng, kiểm tra và triển khai các ứng dụng lập trình .NET.
Những đặc điểm nổi bật của lập trình .NET
Ưu điểm của .NET
Hiện nay chúng ta thường xây dựng phần mềm cho các thiết bị và nền tảng khác nhau như:
-
Thiết bị: máy tính để bàn, máy tính xách tay, máy tính bảng và điện thoại thông minh.
-
Nền tảng: Windows, Linux và Mac.
-
Ngoài ra còn có nhiều thiết bị và nền tảng khác như Internet of Things (IoT), nền tảng đám mây (cloud), thiết bị chơi game, TV, tủ lạnh và ô tô,..
.Net có thể được dùng để xây dựng ứng dụng cho hầu hết mọi thứ. Bắt kịp xu thế đó, ngôn ngữ .NET hỗ trợ người dùng xây dựng ứng dụng phần mềm cho gần như toàn bộ các thiết bị và nền tảng hiện hành. Bạn có thể dùng .NET để tạo ra các ứng dụng cho desktop, web, cloud, mobile, game, IoT và cả trí tuệ nhân tạo Al.
Các đặc điểm chính của .NET cũng chính là ưu điểm của nền tảng này:
- .NET là mã nguồn mở, bạn có thể tìm thấy và download miễn phí nó trên Github. Mặc dù hướng phát triển của .NET framework được dẫn dắt bởi chuyên gia ở Microsoft, nhưng phần lớn sự phát triển của nó lại được quyết định bởi cộng đồng vì nền tảng này cho phép người dùng đóng góp.
- .NET là cross-flatform framework (đa nền tảng). Nó hỗ trợ tất cả các hệ điều hành như Windows, Linux hay Mac OS.
- .NET là một nền tảng phát triển phần mềm hiện đại. Nó hỗ trợ nhu cầu phát triển dịch vụ hiện đại như dịch vụ di động, đám mây, web và các dịch vụ bản địa khác.
- .Hỗ trợ nhiều ngôn ngữ như C#, F# và Visual Basic
- Nền tảng đám mây và cho phép các nhà phát triển xây dựng các ứng dụng web, dịch vụ và API dựa trên đám mây.
- Cung cấp những phần mềm và công cụ IDE tốt nhất như Visual Studio và Visual Studio Code.
- Nhanh, thân thiện và hoạt động tốt với nhiều ngôn ngữ và nền tảng khác nhau
Nhờ những đặc điểm trên, nó giúp chương trình giảm thiểu được nhiều xung đột, bảo đảm tính bảo mật. .NET cũng giúp người dùng tăng hiệu suất xây dựng ứng dụng và giảm chi phí cho người thiết kế.
Các ngôn ngữ được lập trình trên .NET
Bạn có thể lập trình .NET bằng C#, F# hoặc Visual Basic.
-
C# là một ngôn ngữ lập trình đơn giản, hiện đại, hướng đối tượng và thuộc loại an toàn.
-
F# là ngôn ngữ lập trình đa nền tảng, mã nguồn mở và cung cấp các chức năng lập trình cho .NET. Ngôn ngữ này cũng bao gồm lập trình hướng đối tượng và lập trình mệnh lệnh.
-
Visual Basic là một ngôn ngữ dễ tiếp cận với cú pháp đơn giản. Thường dùng để xây dựng các ứng dụng loại an toàn và hướng đối tượng.
Cho dù bạn sử dụng ngôn ngữ nào kể trên để tạo chương trình, code của bạn cũng sẽ đều chạy được trên bất kỳ hệ điều hành nào. .NET Framework sẽ giúp bạn xử lý phần công việc nặng nhọc thông qua các triển khai đi kèm cùng nó:
-
.NET Core là triển khai đa nền tảng của .NET, nó dùng cho các trang web, máy chủ và console app (ứng dụng bảng điều khiển) trên Windows, Linux và Mac OS.
-
.NET Framework hỗ trợ các trang web, dịch vụ và ứng dụng dành cho desktop và trên Windows.
-
Xamarin/Mono là triển khai của .NET, được dùng để chạy các ứng dụng trên tất cả các hệ điều hành di động chính.
25 kỹ năng mà lập trình viên .NET phải biết
Nếu bạn đã quyết định bước chân vào ngành công nghệ, thì bạn phải liên tục cập nhật kiến thức. Công nghệ là ngành có nhiều biến đổi và kiến thức rộng lớn, vì thế việc ham học hỏi, tìm tòi sẽ là chìa khoá để bạn thành công trong ngành này. Dù các bạn có học những khóa học công nghệ thông tin ngắn hạn hay dài hạn tại các trung tâm chuyên dạy lập trình đi nữa, các kỹ năng này vẫn luôn cần thiết cho các bạn. Vậy những kỹ năng chuyên môn bạn phải biết khi học ngôn ngữ .NET là gì?
Một số kỹ năng của một lập trình viên .NET phải có:
1) MVC – Model-View-Controller: là một cấu trúc thiết kế phần mềm, mô tả sự tương tác giữa ba thành phần của một ứng dụng web và GUI của nó.
2) Database (Cơ sở dữ liệu): hiểu biết về cơ sở dữ liệu và kiến thức về SQL là điều quan trọng đối với cả các nhà phát triển back end và front end. Nó sẽ hữu ích cho cả việc lập trình và quá trình thử nghiệm, sửa lỗi.
3) Code refactoring (Tái cấu trúc mã): có nhiều kỹ thuật tái cấu trúc mã. Tất cả đều nhằm mục đích thiết kế lại và tạo ra một mã đơn giản hơn, sạch hơn để đạt được hiệu quả ứng dụng cao hơn.
4) SCRUM: khả năng làm việc trong SCRUM nói riêng và sự hiểu biết về các nguyên tắc phát triển Agile nói chung là kỹ năng bắt buộc đối với bất kỳ nhà phát triển phần mềm nào.
5) Frameworks Unit Test: Unit Test (kiểm thử phần mềm)rất quan trọng, đặc biệt trong SCRUM và Test Driven Development. Là một nhà phát triển, bạn nên biết các tool và framework phù hợp với nền tảng công nghệ mà bạn chọn, bạn có thể tìm hiểu nUnit và SpecFlow.
6) Xây dựng công cụ: đối với các ứng dụng nhỏ và đơn giản, bạn có thể thực hiện theo cách thủ công. Tuy nhiên đối với các phần mềm phức tạp bạn nên sử dụng các công cụ (tool) tự động tạo ứng dụng thực thi. Nó sẽ giúp mọi thứ ở đúng vị trí và theo thứ tự như Azure DevOps, Team City, NAnt, CCNET,… là các công cụ dùng cho lập trình .NET.
7) Version control (Kiểm soát phiên bản): đây là chìa khóa để bạn phát triển các phần mềm chất lượng cao. Nó giúp cải thiện quá trình phát triển và thử nghiệm. Ít nhất bạn sẽ cần quen thuộc với Git (GitHub, GitLab, Gitbucket,..)
8) SDLC (Software Development Life Cycle – Vòng đời phát triển phần mềm): SDLC mô tả các giai đoạn cần thiết để phát triển thành công phần mềm. Làm quen với khái niệm này giúp bạn hiểu được công việc của mình và cũng như mối liên hệ giữa chúng.
9) Visual Studio: kết hợp với các extension từ Microsoft words để cải thiện khả năng cộng tác nhóm, CI, tích hợp,…
10) ASP.NET: giúp bạn có thể dễ dàng tìm và sử dụng lại mã của mình. Ví dụ: ASP.NET MVC cho phép tạo các ứng dụng web theo mẫu kiến trúc MVC hoặc ASP.NET Web API giúp đơn giản hóa việc tạo các dịch vụ HTTP, xây dựng các ứng dụng RESTful.
11) ASP.NET Core: mang lại hiệu suất tốt hơn cho quá trình xây dựng ứng dụng, trong 365 learning, bạn có thể tìm hiểu khá sâu về mảng này, thậm chí chúng tôi có cả khóa học rất chuyên nghiệp liên quan đến Clean Architecture, microservice
12) Entity Framework: đây là loại mapping framework, thể hệ quan hệ của các object để bạn có thể sử dụng mà không cần phải chú tâm quá nhiều vào mối liên hệ giữa các object.
13) Entity Framework Core: đây là phiên bản nhẹ hơn của Entity Framework, cung cấp khá nhiều thú vị trong những tín đồ đam mê lập trình .NET
14) Roslyn: đây là một nền tảng biên dịch .NET, nó cung cấp cho bạn thông tin về mã nguồn và giúp thực hiện phân tích mã theo yêu cầu.
15) Xamarin: nền tảng này bao gồm các tool và thư viện dành cho nhà phát triển .NET. Nó đặc biệt tiện dụng khi bạn làm các ứng dụng cho điện thoại di động, có thể bạn chưa nghe về nó, nhưng trước tôi, bản thân tôi đã từng code app mobile với Xamarin và thật thú vị, tuy nhiên, hiện tại Microsoft cũng chưa mặn mà lắm nên vẫn không có cộng đồng lớn về cross platform này.
16) Fix bug: đây là một trong những kỹ năng cơ bản và cần thiết nhất, bởi ngôn ngữ lập trình là một ngôn ngữ không cho phép sai cú pháp. Việc không chú ý chi tiết đôi khi sẽ gây ra những lỗi mà bạn không thể tìm ra được! Hãy cẩn thận nhé.
17) Sự kiên nhẫn: phát triển phần mềm là một công việc gian khổ, sẽ cần sự kiên nhẫn của bạn để có thể tạo ra các ứng dụng hiệu quả cao.
18) Tư duy logic: lập trình dựa trên các kết nối logic, do đó, tư duy logic là rất quan trọng để hiểu cách thức hoạt động của nó.
19) Khả năng làm việc theo nhóm: rất cần thiết cho các dự án có nhiều chuyên gia lập trình tham gia
20) Khả năng giao tiếp và lắng nghe tích cực
21) Khả năng thích ứng với thay đổi trong môi trường hỗn loạn: trong những dự án nhanh, sẽ có trường hợp xuất hiện yêu cầu thay đổi đột ngột. Do đó sẽ xuất hiện môi trường khá hỗn loạn, bạn sẽ cần bình tĩnh thích ứng để có thể hoàn thành phần việc của mình mà không bị tụt lại phía sau
22) Kỹ năng giải quyết vấn đề
23) Tình tò mò và ham học hỏi: đức tính này sẽ giúp bạn tìm ra những giải pháp tốt hơn cũng như phát triển kỹ năng của bản thân.
24) Khả năng quản lý thời gian
25) Khả năng sử dụng tiếng Anh: giao tiếp tốt hoặc đọc hiểu, bởi đa số tài liệu và chương trình, ứng dụng được viết bằng ngoại ngữ này, và chắc hẳn là không bao giờ là thừa nếu bạn mong muốn phát triển cơ hội làm việc lâu dài.
Tóm lại:
.NET không phải là ngôn ngữ lập trình mà là một nền tảng, cung cấp thư viện khổng lồ, hỗ trợ đa ngôn ngữ, khả năng biến đổi linh hoạt và bảo mật cao, nhờ đó, việc lập trình trên .NET sẽ đạt năng suất cao và tiết kiệm thời gian hơn. Một là bạn tự học thông qua các trang học trực tuyến/form hoặc bạn có thể tìm hiểu khóa đào tạo tại 365 learning.
Chúc các bạn thành công.