Một Số Lưu Ý Khi Lựa Chọn Giải Pháp Xây Dựng Ứng Dụng Với Power Apps

Power Apps là một nền tảng mạnh mẽ giúp bạn tạo ra các ứng dụng tùy chỉnh mà không cần phải viết quá nhiều mã. Tuy nhiên, để xây dựng ứng dụng hiệu quả và tiết kiệm chi phí, có một số yếu tố quan trọng bạn cần xem xét. Bài viết này sẽ đề cập đến các lưu ý quan trọng khi lựa chọn giải pháp xây dựng ứng dụng với Power Apps, giúp bạn tối ưu hóa chi phí và hiệu quả khi triển khai.

1. Giấy Phép Và Chi Phí

Một trong những yếu tố đầu tiên bạn cần xem xét là giấy phép sử dụng Power Apps. Mỗi tài khoản cần có giấy phép để tạo và sử dụng ứng dụng. Hiện tại, Microsoft cung cấp hai loại giấy phép chính:

  • Power Apps per App Plan: Giá khoảng $5/người dùng/tháng, cho phép người dùng truy cập vào một ứng dụng hoặc một cổng thông tin cụ thể.
  • Power Apps per User Plan: Giá khoảng $20/người dùng/tháng, cho phép người dùng truy cập không giới hạn vào các ứng dụng.

Việc lựa chọn gói giấy phép phụ thuộc vào nhu cầu sử dụng và ngân sách của tổ chức. Nếu bạn chỉ cần tạo một ứng dụng đơn giản cho một nhóm nhỏ, gói per App Plan có thể là lựa chọn phù hợp. Tuy nhiên, nếu tổ chức của bạn cần nhiều ứng dụng phức tạp, gói per User Plan sẽ là lựa chọn tốt hơn.

Một Số Lưu Ý Khi Lựa Chọn Giải Pháp Xây Dựng Ứng Dụng Với Power Apps

2. Giới Hạn Của SharePoint List Và Dataverse

Khi xây dựng ứng dụng với Power Apps, SharePoint List và Dataverse là hai trong số các nguồn dữ liệu phổ biến nhất. Tuy nhiên, cả hai đều có giới hạn mà bạn cần lưu ý:

  • SharePoint List: Giới hạn tối đa là 30 triệu mục cho mỗi danh sách, nhưng khi truy vấn, giới hạn hiển thị chỉ là 5.000 mục. Điều này có thể gây ra vấn đề khi bạn cần xử lý một lượng dữ liệu lớn.
  • Dataverse: Giới hạn 4TB cho toàn bộ cơ sở dữ liệu. Mỗi bảng có thể chứa tối đa 1 triệu dòng. Dataverse có khả năng mở rộng hơn so với SharePoint List, nhưng cũng có chi phí cao hơn.

Một vấn đề khác cần lưu ý là lỗi Delegation. Khi bạn thực hiện các truy vấn phức tạp trên một lượng lớn dữ liệu, Power Apps có thể không xử lý hết toàn bộ dữ liệu do giới hạn về Delegation, dẫn đến kết quả không chính xác.

Ví dụ về lỗi Delegation:

Filter(SharePointList, CreatedDate >= DateAdd(Today(), -30, Days))

Đoạn mã trên có thể gây ra lỗi Delegation nếu SharePoint List chứa quá nhiều mục, vì Power Apps chỉ có thể xử lý một phần của tập dữ liệu.

3. Khó Khăn Trong Việc Debug Và Viết Hàm OOP

Power Apps không phải là một môi trường lý tưởng cho việc debug. Một lỗi nhỏ trong mã có thể khiến toàn bộ ứng dụng không hoạt động, và việc xác định nguồn gốc của lỗi không phải lúc nào cũng dễ dàng.

Ngoài ra, việc viết hàm theo phong cách lập trình hướng đối tượng (OOP) trong Power Apps khá khó khăn đối với các Citizen Developer – những người không có nhiều kinh nghiệm lập trình. Power Apps không hỗ trợ đầy đủ các khái niệm OOP như kế thừa, đa hình, hay đóng gói, khiến việc xây dựng các ứng dụng phức tạp trở nên thách thức.

4. Viết Mã Sạch (Clean Code)

Viết mã sạch là một kỹ năng quan trọng để đảm bảo rằng ứng dụng của bạn dễ bảo trì và mở rộng. Tuy nhiên, để viết mã sạch trong Power Apps, bạn cần có kiến thức lập trình sâu và khả năng tổ chức mã tốt. Điều này bao gồm việc sử dụng các biến một cách hiệu quả, tổ chức các hàm một cách hợp lý, và đặt tên biến rõ ràng.

Ví dụ về Clean Code:

// Tên biến rõ ràng
Set(SelectedCustomerID, ThisItem.CustomerID);

// Hàm tách biệt các tác vụ
UpdateCustomerInfo(SelectedCustomerID, NewData);

Kết Luận

Power Apps là một công cụ tuyệt vời để phát triển ứng dụng mà không cần nhiều kỹ năng lập trình, nhưng vẫn có nhiều yếu tố cần lưu ý. Từ việc lựa chọn giấy phép phù hợp, hiểu rõ giới hạn của SharePoint List và Dataverse, đến việc viết mã sạch và xử lý các lỗi debug, tất cả đều đóng vai trò quan trọng trong việc xây dựng ứng dụng thành công.

Dịch vụ lập trình ứng dụng

🎯 Lập trình API, Python, Node JS, Telegram Bot, Automate Workflow, Power Apps and Apps Script.

📒 Nhận dạy Lập trình Apps Script, Power Apps từ cơ bản đến nâng cao.

📞 +84 78 600 5534 (Zalo, WhatsApp, Telegram)

💻 Github

🌏 appscript.online

Viết một bình luận