Nếu bạn là một nhà phát triển phần mềm, bạn sẽ biết rằng tìm kiếm một framework đáng tin cậy và hiệu quả cho dự án của mình là một trong những thử thách lớn nhất. Tuy nhiên, với ABP Framework, bạn có thể hoàn toàn yên tâm.
ABP Frameword |
Giới thiệu
ABP Framework là một nền tảng mã nguồn mở đầy đủ chức năng. Là một cơ sở hạ tầng hoàn chỉnh để tạo các ứng dụng web hiện đại bằng cách tuân theo các luật lệ và quy ước tốt nhất về phát triển phần mềm. ABP dễ sử dụng và tích hợp sẵn các tính năng cần thiết cho phát triển các ứng dụng web, mobile và desktop. Được xây dựng dựa trên công nghệ mới nhất và đang được sử dụng nhiều nhất, ABP Framework cung cấp cho các nhà phát triển một công cụ hoàn hảo để phát triển các ứng dụng một cách dễ dàng, nhanh chóng và chính xác.
Có rất nhiều framework có 2 mức độ khác nhau bao gồm:
- Mức ứng dụng: Nó cung cấp cả phần UI và hạ tầng truy cập dữ liệu ví dụ WordPress, CMS. Các framework mức độ này chứa luôn cả business có sẵn và có thể tùy chỉnh được.
- Mức hạ tầng: Cung cấp các thư viện hạ tầng, cấu trúc source code và tài liệu để nhà phát triển tuân theo và xây dựng bussiness trên đó.
ABP Framework là một framework mức độ 2, tức là nó không chứa business mà chỉ chứa hạ tầng giúp lập trình viên sử dụng một cách dễ dàng nhất, đồng thời tự xây dựng business từ đầu trên đó. ABP Framework được xây dựng trên nền tảng .NET (trước đây là .NET Core) và hiện tại tương thích với .NET 7. Ngoài ra ABP Framework cũng có hỗ trợ sẵn trên cả Angular và React Native.
Các thư viện hạ tầng của ABP Framework được trải từ Database (các table sẵn có) và Backend đến Frontend. Nó cũng tuân theo các best practice trong triển khai phát triển phần mềm như:
- Clean Architecture: Một cách thiết kế tách logic nghiệp vụ ứng dụng và phần tương tác IO.
- Dependency Injection: Một design pattern giúp giảm sự phụ thuộc giữa các thành phần.
- Repository & Unit Of Work Pattern: Một cặp design pattern giúp tách biệt hóa phần logic và phần truy cập dữ liệu và đảm bảo nhất quán dữ liệu trong giao dịch.
- Modular: Một cách thiết kế chia ứng dụng ra nhiều module.
- Domain Driven Design: Một tư duy mới tập trung vào nghiệp vụ.
ABP Framework có gì ?
Chúng ta sẽ tìm hiều xem ABP framework nó làm và đã có những gì.
abp nlayer architecture |
Tương thích Microservice
Khung cốt lõi & các mô-đun dựng sẵn được thiết kế có tính đến kiến trúc microservice.
Kiến trúc modular
ABP cung cấp một hệ thống mô-đun cho phép bạn phát triển các mô-đun ứng dụng có thể tái sử dụng, liên kết với các sự kiện vòng đời của ứng dụng và thể hiện sự phụ thuộc giữa các phần cốt lõi trong hệ thống của bạn.
- Các modular & chủ đề dựng sẵn.
- Được phân phối dưới dạng các gói NuGet & NPM. Dễ dàng cài đặt và nâng cấp.
- Tất cả các service & modular được thiết kế có tính đến khả năng mở rộng. Bạn có thể thay thế các dịch vụ, trang, kiểu và thành phần.
Domain Driven Design
Thiết kế theo tư duy của Domain Driven Design, thay vì tập trung vào data thì tập trung vào domain business. Một tư duy khá mới trong phát triển phần mềm.
Hỗ trợ Multitenant
ABP cũng hỗ trợ ứng dụng multi-tenant, một dạng ứng dụng cho phép nhiều tổ chức cùng sử dụng một nền tảng mà dữ liệu độc lập với nhau.
Authentication & Authorization
Các tùy chọn authentication & authorization được tích hợp vào ASP.NET Core Identity & IdentityServer4. Cung cấp một hệ thống quyền mở rộng và chi tiết.
Audit Logging
Tự động theo dõi tất cả và ghi lại các hoạt động và thay đổi dữ liệu trong hệ thống của bạn.
HTTP APIs & Dynamic Proxies
Tự động tạo các dịch vụ ứng dụng dưới dạng API HTTP kiểu REST và sử dụng chúng bằng proxy động JavaScript và C#.
Các tiện ích khác
Abp cung cấp các tiện ích cần thiết đầy đủ đáp ứng mọi nhu cầu của các dự án vừa và lớn. Xem các tiện ích cơ bản dưới đây:
- Đa ngôn ngữ
- Virual file system
- Blog storing
- Text template
- Mapping Object
- Phân quyền
- Quản lý setting
Nguồn tham khảo: Tedu.com.vn, abp.io