Follow Us @soratemplates

Thứ Sáu, 25 tháng 5, 2018

Giới Thiệu Tổng Quan ASP.NET Core

tháng 5 25, 2018 0 Comments


I. Giới Thiệu .Net 2015 :


Nếu như trước đây, .NET Framework đi từ version 1.0 vào năm 2002, sau đó tới 2.0 vào 2005, (đây là thời gian NTT bắt đầu chập chững đi những bước đầu tiên trên con đường outsourcing, cầm những tháng lương đầu tiên cảm giác thật khó tả), rồi lên 3.0, 4.0, và cuối cùng 4.5.2 vào 2014. Tuy nhiên .Net 2015 là một bước đột phá mang ý nghĩa hoàn toàn khác. .Net 2015 rẽ thành 2 nhánh riêng biệt, 1 là .NET Framework 4.6 và thứ 2 là .NET Core

.NET Framework 4.6:
- Đây là version tiếp theo của FULL .NET Framework mà chúng ta đang làm việc hơn chục năm trở lại đây
- Được xây dựng dựa trên 4.5.2, bao gồm các API mới, cải tiến mới và bug fixes.
- .NET Framework 4.6 mặc định đi kèm với Windows 10 và dĩ nhiên sẽ được update cho các hệ điều hành trước đó thông qua Windows Update.

.NET Core:
- Được refactoring từ .Net Framework 4.5.2 bao gồm các thư viện cơ bản tới các thư viện Runtime bao gồm JIT compiler, .NET Garbage Collector, Native Interop và các component runtime khác.
- .Net Framework Full đã trải qua hơn chục năm xây dựng, đưa ra các phiên bản mới từ 1.0, trải qua nhiều giai đoạn testing và bug fixes nên sẽ dễ dàng thấy được .Net Core không bao gồm tất cả mọi thứ từ .NET Framework Full.
- Thiếu một vài chức năng (WCF, WPF, SignalR) nhưng đã xây dựng xong cho ASP.NET Core (thiếu WebForms)
- Được xây dựng theo hướng Modular Framework dọc theo các mô hình phần mềm và nền tảng khác nhau. Một ví dụ của Modular Framework là trước đây chúng ta luôn include namespace "System.Web.Mvc" vào trong mỗi Controller, tuy nhiên namespace lớn này có hàng chục namespace con và namespace con của con, điều này gây ra việc làm ứng dụng trở nên nặng nề và load các tài nguyên không cần thiết. Với .Net Core, với cùng 1 file System.Web.Mvc, sẽ được tách ra thành chục file tương ứng với cái sub-namespace, và chúng ta chỉ load những file tương ứng với những namespace cần sử dụng.
- Có ai đó chê rằng, .Net Framework là cộng đồng đóng, sẽ không bằng được Java, thì bây giờ .Net Core đã là một Open Source.
- Và để theo xu hướng của Microservices, bây giờ .Net Core có thể được deploy theo từng phần, từng component, không nhất thiết phải quăng 1 cục build lớn lên server như trước đây. Ngoài ra Microsoft cũng đã hỗ trợ .Net Core cho Linux và Mac OSX ngoài hệ điều hành truyền thống là Windows.

II. Tại Sao Nên Sử Dụng ASP.NET Core?


- ASP.NET Core là 1 phần của .NET Core, được thiết kế lại từ ASP.NET 4.x, với cấu trúc thay đổi, và kết quả là nó sẽ sạch đẹp hơn, hướng theo Modular Framework, và hiệu năng, tốc độ tốt hơn.
- Mặc dù bạn có sử dụng MVC/WebAPI với ASP.NET Core thì nó cũng không tương thích ngược với ASP.NET 4, lý mặc dù ASP.NET Core được thiết kế dựa trên ASP.NET 4, nhưng không có nghĩa nó là version tiếp theo của ASP.NET 4.
- Và sau đây là những lợi ích to lớn mà chúng ta cân nhắc để sử dụng:

Hỗ Trợ Phát Triển Ứng Dụng Nhanh Chóng:
- Đồng nhất việc coding cho các template khác nhau như Web UI, Web Pages, Web APIs
- Tích hợp sẵn các client-side framework, và qui trình coding đi kèm
- Tích hợp sẵn DI framework
- Bộ IDE mới làm đơn giản quá trình phát triển phần mềm

Hỗ Trợ Deployment:
- Ứng dụng nhẹ hơn, hiệu năng tốt hơn và hỗ trợ modular cho HTTP request pipeline
- Có khả năng host trên IIS, Nginx, Apache, Docker
- Có khả năng build và chạy trên Windows, MacOS, và Linux.
- Hỗ trợ cloud và cấu hình dựa trên các môi trường tương ứng

Và cuối cùng ASP.NET Core đã trở thành open source, hướng về cộng đồng nhiều hơn.

III. Một Vài Ví Dụ Về Việc Đẩy Nhanh Quá Trình Phát Triển Ứng Dung Trong ASP.NET Core:

1. Thống nhất 1 kiểu coding duy nhất cho các ứng dụng khác nhau:

Một bài toán đặt ra cho ngành phần mềm, đó chính là có quá nhiều framework cho front-end và back-end, dẫn tới việc mỗi framework sẽ có kiểu coding khác nhau, và bạn phải liên tục học những cú pháp mới, qui trình coding mới, điều đó vô tình làm chậm lại quá trình phát triển phần mềm. ASP.NET Core đã phần nào giải quyết bài toán này, khi cố gắng đưa ra 1 chuẩn coding chung cho tất cả các ứng dụng, bạn không còn phải bỡ ngỡ khi chuyển qua 1 ứng dụng khác.

Nếu như trước đây, bạn có thể thấy Web Pages và MVC đều có component là HTML Helpers, tuy nhiên nó lại nằm riêng biệt ở 2 ứng dụng, điều đó cũng tương tự cho Conllers, Actions, Filters... cho MVC và Web API.


Tuy nhiên trong ASP.NET Core, những phần chung đã được gộp chung lại giữa các ứng dụng, điều đó có nghĩa dù là 3 ứng dụng khác nhau, nhưng cấu trúc thư mục, file naming, hoặc cách coding sẽ y chang như nhau.

Và quan trọng hơn, cùng 1 ứng dụng, bạn có thể chạy được cả Web Pages, MVC, lẫn Web API, đây là điều rất khó khăn nếu bạn xây dựng trong các .NET Framework trước đây.




 2. Lưu Thay Đổi Ở Back-end Và F5 Trên Trình Duyệt:

Nếu như trước đây mỗi thay đổi ở back-end code, bạn phải build lại ứng dụng, sau đó chờ khoảng 5 tới 10 phút cho những ứng dụng lớn để xem sự thay đổi đó, và như bạn biết, 5 hay 10 phút khi coding là thời gian chờ đợi như cực hình, thì bây giờ những thay đổi đó sẽ hiện thị gần như ngay lập tức trên trình duyệt và không cần phải build lại.



3. Thay Đổi Cấu Trúc Project Và Không Có Việc Loading Trong VS2017:

Trước đây 1 file .csproj có thể có hàng trăm dòng, tuy nhiên với ASP.NET Core, cấu trúc file .csproj đã đơn giản đi rất nhiều, cùng với sự cải tiến trong VS2017, việc loading mất cả chục phút khi có bất cứ thay đổi nào của file .csproj đã không còn.


4. Đơn Giản Hóa Việc Quản Lý Thư Viện:

Nếu như trước đây, file .csproj phải include tất cả các thư viện phụ thuộc, thì bây giờ chỉ còn 1 thư viện duy nhất là Microsoft.AspNetCore.All, và những công việc còn lại sẽ do Runtime Package Store đảm nhiệm load những thư viện phụ thuộc lúc runtime.


Và những thư viện này sẽ không cần lưu trữ tại thư mục tương ứng của từng project mà sẽ được quản lý riệng tại các thư mục đặc biệt (/usr/local/share/dotnet/store với macOS/Linux và  C:/Program Files/dotnet/store với Windows) qua NuGet và Runtime Package Store:


Cảm ơn các bạn đã đọc bài viết !!!

Chủ Nhật, 20 tháng 5, 2018

NTT Đi Chơi Team Building (Cần Giờ - 19/5/2018)

tháng 5 20, 2018 0 Comments
Bâng khuâng tấc dạ niềm thương nhớ
Lộng gió trên sông đẹp bóng cờ
Mãi mãi hiên ngang Rừng Sác đứng,
Mỗi người ngã xuống, một bài thơ.


Nói đến rừng Sác là người ta nghĩ ngay đến Cần Giờ. Sác là tên chung của các loại cây rừng ngập mặn như đước, vẹt, dưng, dà ...


Giữa mênh mông rừng sác, tiếng bìm bịp rúc con nước lớn, con nước ròng, tiếng chim cúc cu gọi bạn tình, tiếng lá reo hòa cùng tiếng sóng vỗ, bao la mênh mông một màu xanh.


Về mặt Địa Lý, Cần Giờ là một phần đồng bồi Đồng Nai, có tên là Rừng Sác Gia Định, từng rộng đến 170.000ha, chiếm một phần ba diện tích rừng ngập mặn của cả nước.


Cuối thế kỉ XVIII và đầu thế kỉ XIX, thuyền chiến của quân Nguyễn Ánh như lá tre đậu kín các luồng lạch và mặt cửa sông Cần Giờ.


Thuở ấy, rắn rết nhiều vô kể, cá sấu nối đuôi nha bơi lượn hàng đàn, chim trời hàng vạn con, chiều chiều đậu trắng xóa ngọn cây xanh, tiếng kêu vang động một vùng sông nước.


Ta thở nhẹ tâm hòa trí rỗng
Những loạn cuồng vọng động trôi xa
Thấy vui khi ngắm trăng tà
Thẩn thơ bên cánh hoa sao dịu dàng.


Truy nguyên lý ẩn tàng sâu sắc
Chữ nhàn thôi trong mắt người xưa
Thì ra tri túc cũng vừa
Lao tâm nhọc trí sớm trưa làm gì.


Hãy rũ bõ đeo chi huyễn cảnh
Giữ trong tâm để lãnh sầu thương
Buông đi tất cả bên đường
Cho thân thông thoáng hết vương bụi trần.


Cầu cho được dự phần siêu thoát
Chút hòa quang mong toát lên đầu
Vậy là mơ mộng quá sâu
Chỉ cần bình ổn quên câu lụy phiền.
(Thơ: Trần Quế Lâm)