Xây dựng ứng dụng XAF WinForms và Blazor

    0

    Trong bài học này chúng ta sẽ cùng tạo một ứng dụng Cross-Platform .NET App UI (XAF) để quản lý các dự án trong một phòng ban công ty trên cả nền tảng Windows và Web. Ứng dụng sử dụng các nền tảng ASP.NET Core Blazor và Windows Forms UI để hiển thị dữ liệu và sử dụng Entity Framework Core để truy cập dữ liệu.

    Mô tả ứng dụng XAF sẽ xây dựng

    Ứng dụng này cho phép người dùng:

    • Xem, tìm kiếm, tạo, cập nhật và xóa dữ liệu về nhân viên, dự án và công việc.
    • Xem, tìm kiếm, tạo, cập nhật và xóa dữ liệu về khách hàng và nhận xét từ khách hàng về một sản phẩm để quản lý dữ liệu trên một trang web quảng bá.

    Kết thúc loạt bài này chúng ta sẽ thu được hai ứng dụng như sau:

    1. Ứng dụng Asp.net Core Blazor server

    2. Ứng dụng windows forms:

    Yêu cầu cho XAF

    Để thực hiện bài thực hành này bạn cần có những công cụ và kiến thức sau:

    1. Cài đặt phiên bản Visual Studio 2022 v17.0+ với hai workload ASP.NET and web development và .NET desktop development. Visual Studio 2022 là điều kiện bắt buộc để sử dụng bộ công cụ của XAF. Các môi trường phát triển ứng dụng .NET khác như Rider hay Visual Studio Code không được XAF hỗ trợ. Hai workload kể trên dùng để hỗ trợ cho phát triển ứng dụng web và ứng dụng desktop.

    Để kiểm tra xem đã cài đặt các workload cần thiết hay chưa, hãy mở Visual Studio Installer và chọn nút Modify.

    Nếu chưa thấy hai workload Asp.net and web development và .NET desktop development được tích chọn nghĩa là bạn chưa cài đặt hai workload này. Hãy click chọn chúng và bấm nút cài đặt.

    2. Cài đặt .NET 7.0 SDK. Ứng dụng này được xây dựng trên runtime của .NET 7 mới nhất hiện nay. Nếu bạn đã cập nhật lên phiên bản mới nhất của Visual Studio 2022 thì .NET 7 SDK đã được tự động cài đặt.

    3. Cài đặt Microsoft SQL Server. Ứng dụng XAF có thể khai thác nhiều hệ quản trị cơ sở dữ liệu phổ biến, bao gồm SQL Server, MySQL, PostgreSQL. Trong bài thực hành này chúng ta sẽ sử dụng cơ sở dữ liệu SQL Server. Bạn cần cài đặt bản Express của SQL Server là đủ. Bản SQL Server Express 2022 mới nhất được cung cấp miễn phí tại Download Microsoft® SQL Server® 2022 Express from Official Microsoft Download Center.

    4. Cài đặt bản chạy thử 30 ngày của DevExpress. Trên trang web lựa chọn tải Unified Component Installer. DevExpress XAF là một sản phẩm trả phí. Hãng cho phép sử dụng thử nghiệm 30 ngày với đầy đủ tính năng. Dĩ nhiên, có giải pháp để kéo dài thời hạn sử dụng lên nhiều lần. Một điểm đặc biệt là một khi đã xuất bản và cài đặt ứng dụng, sản phẩm phần mềm tạo ra từ bản dùng thử không khác gì sản phẩm tạo ra từ bản có đủ bản quyền.

    5. Có kiến thức và kỹ năng lập trình C# nâng cao trong Visual Studio. Đây là yêu cầu bắt buộc. Mặc dù việc lập trình ứng dụng với XAF được đơn giản hóa để giảm thời gian và tăng hiệu quả, nó vẫn đòi hỏi bạn phải nắm được các kỹ thuật lập trình cơ bản và nâng cao của C#, bao gồm lập trình hướng đối tượng, generic, delegate, attribute, LINQ, lambda, lập trình bất đồng bộ, v.v.. Nếu không nắm được những khái niệm và kỹ thuật nâng cao này, bạn sẽ bị giới hạn trong những tính năng cơ bản nhất mà XAF cung cấp mà không thể phát triển những ứng dụng phức tạp hơn.

    6. Có kiến thức cơ bản về ORM (Object-relational mapping) và kỹ năng lập trình với Entity Framework Core. ORM là loại thư viện giúp ánh xạ các đối tượng thực thể của chương trình thành dữ liệu quan hệ trong cơ sở dữ liệu và ngược lại. ORM gần như là thành phần bắt buộc trong phát triển ứng dụng quản lý hiện đại, thay vì trực tiếp sử dụng những công cụ cơ bản như ADO.NET. XAF hỗ trợ hai loại ORM, bao gồm Entity Framework Core (EF Core) và eXpress Persisten Objects (XPO). EF Core do Microsoft phát triển, còn XPO là sản phẩm của chính DevExpress. Trước đây DevExpress khuyến nghị sử dụng XPO trong ứng dụng XAF. Tuy nhiên phiên bản mới nhất của XAF khuyến nghị sử dụng EF Core. Toàn bộ hướng dẫn của XAF trên website của DevExpress đã chuyển sang EF Core.

    Như vậy bạn có thể thấy, mặc dù là một framework hỗ trợ phát triển ứng dụng nhanh theo kiểu low-code nhưng XAF không phải là công cụ dành cho những người không biết gì về code. Ngược lại, để khai thác XAF một cách hiệu quả, bạn cần biết rất nhiều kiến thức và kỹ năng về lập trình C# và .NET. Nếu bạn chưa có đủ kiến thức và kỹ năng như yêu cầu, chúng tôi thành thật khuyên bạn nên học kỹ kiến thức cơ bản trước khi tiếp xúc với những framework cấp cao như XAF, đặc biệt với các bạn sinh viên.

    Tạo dự án XAF

    Từ menu chính của Visual Studio chọn File | New | Project… để mở hộp thoại Create a new project.

    Chọn DevExpress vXX.X XAF Template Gallery và ấn Next. Chú ý vXX.X là số thứ tự phiên bản của XAF đang cài đặt trên máy. Phiên bản mới nhất của XAF tại thời điểm này là 23.1

    Chỉ định tên dự án và tên solution (SimpleProjectManager) và bấm nút Create.

    Trong cửa sổ Template Gallery chọn XAF Solution Wizard (.NET 6) và bấm nút Run Wizard.

    Trong trang đầu của Solution Wizard bạn có thể lựa chọn các loại ứng dụng cần phát triển. XAF cho phép phát triển ứng dụng desktop, ứng dụng web Blazor server, và ứng dụng web API.

    Hãy chọn Desktop (Windows Forms) và Web (ASP.NET Core Blazor). Tạm thời chúng ta chưa làm việc với ứng dụng Web API. Ấn nút Next để tiếp tục.

    Chọn thư viện Entity Framework Core. Trong phiên bản mới nhất của XAF, DevExpress khuyến nghị sử dụng EF Core và đặt nó làm lựa chọn mặc định. Nếu sử dụng phiên bản cũ hơn (22.x về trước), lựa chọn mặc định là XPO. Hai ORM có cách lập trình khá khác biệt. Thường chúng ta chỉ nên chuyên tâm vào một ORM.

    Chọn None trong phương án xác thực người dùng. Trong loạt bài học đầu tiên này chúng ta tạm thời không sử dụng cơ chế xác thực người dùng. Ấn Next để tiếp tục.

    Tiếp theo là cửa sổ lựa chọn các module mở rộng cho ứng dụng. Các module này cung cấp nhiều tính năng nâng cao như Lưu vết hành động trên dữ liệu (Audit Trail), biểu đồ, định dạng có điều kiện, v.v.. Ở đây chúng ta sẽ chỉ sử dụng module Business Class Library Customization. Đây là module chứa các lớp xây dựng sẵn cho những bài toán quản lý phổ biến. Tạm thời bỏ chọn tất cả các mục và ấn Finish. Sau này nếu muốn sử dụng module mở rộng nào chúng ta có thể dễ dàng bổ sung bằng code.

    Cấu trúc dự án XAF

    Sau khi hoàn thành các bước trên, bạn sẽ thu được một solution với cấu trúc như sau:

    Solution này chứa 3 dự án: SimpleProjectManager.Blazor.Server, SimpleProjectManager.Module, và SimpleProjectManager.Win. Ba dự án này có chung phần đầu trong tên gọi, SimpleProjectManager, là tên gọi bạn đã lựa chọn khi tạo dự án. Các hậu tố Module, Win và Blazor.Server là do XAF tự động thêm vào để phân biệt ba loại dự án. Nếu bạn không thích các hậu tố mặc định này thì có thể tự mình đổi tên.

    Dự án Module thực chất là một thư viện lớp trên .NET. Thư viện này về sau sẽ chứa code thực thi các lớp thực thể mô tả các dữ liệu cần quản lý. Thư viện này được dùng chung bởi Blazor.Server và Win. Trong phần lớn thời gian xây dựng ứng dụng XAF bạn sẽ làm việc với dự án Module.

    Dự án Blazor.Server tạo ra ứng dụng web Blazor (theo mô hình triển khai server). Dự án này là một dự án Blazor server tiêu chuẩn. Bạn không cần phải thành thạo về Blazor. XAF sẽ tự động tạo các component cần thiết để ra một ứng dụng Blazor server hoàn chỉnh. Dĩ nhiên, nếu thành thạo Blazor, bạn có thể thực hiện bất kỳ biến đổi nào trên dự án này.

    Dự án Win tạo ra ứng dụng Windows Forms (trên .NET). Đây cũng là một dự án Windows Forms tiêu chuẩn nhưng bạn sẽ không cần phải tự mình tạo các form và viết code.

    Dự án Blazor.Server và Win được gọi chung là các dự án application. Bạn sẽ không thường xuyên phải làm việc với các dự án application.

    Chạy thử ứng dụng

    Để lựa chọn dự án nào sẽ chạy khi ấn F5 (hoặc Ctrl+F5), click phải vào tên dự án và chọn Set as Startup Project. Khi đó tên dự án sẽ chuyển sang font chữ đậm.

    Khi chạy thử nghiệm, bạn sẽ thu được kết quả là một ứng dụng trống trơn như sau:

    – Ứng dụng Blazor server

    – Ứng dụng Windows Forms

    Hai phần mềm này chưa có tính năng cụ thể gì theo nghiệp vụ nhưng lại có những tính năng phụ hỗ trợ chung nhất.

    Nhiệm vụ của người lập trình là bổ sung những chức năng nghiệp vụ cho ứng dụng. Chúng ta sẽ thực hiện công việc này trong bài học tiếp theo.

    + Nếu bạn thấy site hữu ích, trước khi rời đi hãy giúp đỡ site bằng một hành động nhỏ để site có thể phát triển và phục vụ bạn tốt hơn.
    + Nếu bạn thấy bài viết hữu ích, hãy giúp chia sẻ tới mọi người.
    + Nếu có thắc mắc hoặc cần trao đổi thêm, mời bạn viết trong phần thảo luận cuối trang.
    Cảm ơn bạn!

    Kết luận

    Qua bài học này bạn đã biết những yêu cầu để làm việc với XAF, từ công cụ tới kiến thức và kỹ năng. Bạn cũng đã tạo ra dự án XAF đầu tiên. Mặc dù chưa thực hiện được công việc gì cụ thể, bạn cũng đã thu được một ứng dụng hoạt động. Trong các bài học tiếp theo chúng ta sẽ lần lượt hoàn thiện phần mềm này.

    Theo dõi
    Thông báo của
    guest

    0 Thảo luận
    Phản hồi nội tuyến
    Xem tất cả bình luận