PowerApps: Tạo ứng dụng di động không cần viết code

Việc “nhà phát triển không chuyên” cũng có thể phát triển ứng dụng di động có thực? Hay đó chỉ là sự thêu dệt?

Nếu là thêu dệt, thì đó là sự tiếp nối của cái mà Microsoft và các hãng khác đã theo đuổi trong nhiều thập kỷ. Trong những ngày đầu của máy tính, chúng ta nói về người dùng, nhà phát triển và người dùng có kỹ năng hay “power user” – thuật ngữ chỉ người có thể dùng các công thức trong bảng tính (Excel) hoặc tạo kiểu cách cho tài liệu văn bản (Word).

Sau đó, “power user” học Visual Basic, ngôn ngữ lập trình Basic cho Excel và Word, và tất cả các tính năng mẫu biểu (form) và kịch bản của Microsoft Access. Rồi họ sử dụng những chương trình đó để làm việc với dữ liệu trong cơ sở dữ liệu SQL Server. Kết quả của những nỗ lực này thường không thể bảo trì, không thể kiểm soát, và kém bảo mật.

Do sự phức tạp của các thiết bị di động, thậm chí các nền tảng phát triển ít viết code cũng có thể làm nản chí những người không phải lập trình viên, còn các nền tảng thực sự không code thường hạn chế các tính năng của ứng dụng. Với PowerApps, Microsoft cố gắng tạo ra một nền tảng phát triển di động phù hợp cho những người sử dụng có kỹ năng xưa, hoặc các nhà phát triển không chuyên. Câu hỏi đặt ra là họ có thành công không và đến mức độ nào.

Ai cũng lập trình được

Theo Microsoft, PowerApps là một dịch vụ để tạo, quản lý và sử dụng các ứng dụng tùy chỉnh chạy được trên nhiều nền tảng. Ứng dụng tạo với PowerApps có thể chạy trên Windows 8.1 trở lên, trên các phiên bản mới nhất của iOS và Android, và trong trình duyệt Web. PowerApps là dịch vụ trên Azure Cloud, có môi trường thiết kế PowerApps Studio là ứng dụng trên Windows Store.

Những người vẫn còn dùng máy tính để bàn chạy Windows 7 hẳn sẽ phản đối ầm ĩ vì không thể sử dụng các ứng dụng trên Windows Store. Microsoft cho biết PowerApps Studio sẽ làm việc trên môi trường thiết kế PowerApps dựa trên đám mây Real Soon Now.

Quay trở lại giao diện web của PowerApps (web.powerapps.com), hiện có bốn ứng dụng mẫu. Nhấn vào ứng dụng bất kỳ để tải bản “Preview” (dùng thử) của ứng dụng với dữ liệu mẫu. Đừng hy vọng tìm được mã nguồn và các thành phần thiết kế từ ứng dụng.

Ứng dụng Budget Tracker hiển thị ở đây có hai định dạng máy tính bảng (tablet) và điện thoại di động (smartphone). Để thêm một khoản chi, sử dụng dấu cộng lớn bên cạnh Expense, form nhập liệu mở ra sẽ cố gắng kích hoạt webcam trên máy tính để bạn có thể đưa hóa đơn mua hàng lên trước mặt mà chụp hình. Tính năng này có ý nghĩa hơn với smartphone hoặc tablet, khi đó bạn có thể chụp hóa đơn nằm trên bàn.

Tuy ứng dụng này không thật độc đáo, nhưng nó làm việc được và có thể có ích. Ba ứng dụng kia cũng vậy.

Ứng dụng đầu tiên

Để tạo ứng dụng đầu tiên, Microsoft khuyến nghị bạn cài PowerApps Studio for Windows trên máy tính bảng, máy tính xách tay hay máy tính để bàn và tải dữ liệu từ một bảng đầy dữ liệu nằm ở kho lưu trữ trên mây. PowerApps Studio sẽ tạo ứng dụng từ dữ liệu này.

Ứng dụng kết quả sẽ có ba màn hình: một để duyệt danh sách hồ sơ, một xem chi tiết, và một chỉnh sửa. Nếu trình trợ giúp không thực hiện đúng như bạn muốn, bạn có thể điều chỉnh bố cục thủ công. Những người quen thuộc với Microsoft Access sẽ thấy dễ dàng với việc này.

Việc tạo ứng dụng tự động từ dữ liệu nghe có vẻ ấn tượng nhưng thực sự chẳng có gì mới. Công nghệ này đã có từ phiên bản Access ban đầu hồi năm 1992.

Ngoài ra, việc tạo ứng dụng từ dữ liệu còn có một nhược điểm rất lớn, ít nhất là trong phiên bản hiện tại của PowerApps: Bạn sẽ không thể uỷ thác việc sàng lọc và sắp xếp nguồn dữ liệu. Nếu không uỷ thác, việc sàng lọc và sắp xếp sẽ diễn ra trên thiết bị sau khi tải về hết dữ liệu, điều đó sẽ rất chậm khi có nhiều dữ liệu trên mây. Và đám mây để làm gì nếu không có thật nhiều dữ liệu? Nói chung chỉ thử nghiệm tạo ứng dụng từ dữ liệu cho biết thôi, đừng sử dụng phương pháp này cho bất kỳ ứng dụng thật sự nào có bộ dữ liệu lớn.

Ngoài tạo ứng dụng từ dữ liệu, PowerApps còn cho phép bạn tạo ứng dụng smartphone hoặc tablet từ đầu hoặc từ ứng dụng mẫu có sẵn. Nó hiện có hai mẫu.

Để hoàn tất việc tải về ứng dụng mẫu, bạn cần cung cấp một kết nối đến một đám mây nơi mà PowerApps có thể sao chép dữ liệu ngẫu nhiên cho ứng dụng, để làm nguồn dữ liệu cho nó.

Kết nối là dịch vụ trên Internet mà bạn có thể cung cấp thông tin đăng nhập cho PowerApps. Hiện có 33 kết nối phổ biến, trong đó có nhiều dịch vụ của Microsoft, chẳng hạn như AzureBlob, Office 365, OneDrive, SharePoint và SQL Azure. Còn có khá nhiều dịch vụ của bên thứ ba, chẳng hạn như Box, Facebook, Google Drive và Salesforce. Nhưng không có các cơ sở dữ liệu thật sự như SQL hoặc NoSQL, ngoại trừ SQL Azure. Hoàn toàn không có bất cứ dịch vụ nào trên AWS, ngay cả SQL Server cũng không.

Điều bạn có thể làm với tính năng này là khai báo một Swagger API để tạo kết nối của riêng mình. Hầu hết lập trình viên chuyên nghiệp đều có thể làm việc này. Nhà phát triển không chuyên có thể sẽ thấy việc này quá khó.

Một khi đã có kết nối, bạn có thể tạo nguồn dữ liệu trên dịch vụ đó. Tùy chọn đơn giản nhất là tạo một bảng tính Excel có một bảng duy nhất và không sử dụng bất kỳ công thức nào. Tên bảng cần phải dùng tiếng Anh; nội dung các ô có thể dùng ngôn ngữ bất kỳ.

Với SQL Azure, bạn có thể làm các tác vụ CRUD trên bảng SQL và thực thi các thủ tục (stored procedure). GetItems gọi trên SQL Azure trả về số lượng mẫu tin tối đa xác định, nó hỗ trợ việc lọc và sắp thứ tự dữ liệu trên máy chủ.

Nói chung, PowerApps cần các nguồn dữ liệu để có các bảng (table) và mẫu tin (record). Công thức PowerApps có thể thao tác các con số và văn bản giống như công thức Excel, và chúng có thể tham chiếu đến các bảng và cột của nguồn dữ liệu. Công thức PowerApps có lẽ nằm trong khả năng của hầu hết các nhà phát triển không chuyên.

PowerApps Studio cho phép bạn làm việc với các điều khiển và các mẫu biểu (form) trực quan, thêm màn hình mới, gắn các điều khiển với các trường (field), và sử dụng các công thức. Loại công việc này thường được thực hiện bởi nhà thiết kế, nhưng cũng giống như việc tạo các form Access, chắc chắn nhà phát triển không chuyên có thể làm được.


Trong PowerApps Studio, bạn có thể chỉnh sửa các form trực quan, thêm màn hình mới, thêm các điều khiển, và gắn các trường dữ liệu với các điều khiển.

PowerApps và luồng công việc

PowerApps có thể kích hoạt “luồng công việc” Microsoft Flow, thường là từ một nút trong một ứng dụng. Luồng làm việc chạy xuyên nhiều ứng dụng: Một luồng điển hình có thể bao gồm việc tạo một tập tin trên Dropbox, gửi một email với Office 365 Outlook, và xóa tập tin đó khỏi Dropbox nếu bị từ chối. Luồng ban đầu là một phần của PowerApps, nhưng giờ là một dịch vụ riêng biệt.

Một khi ứng dụng đã sẵn sàng để chạy, bạn có thể chia sẻ nó với nhiều đồng nghiệp cùng lúc, nhóm người dùng trong Azure Active Directory, hoặc tất cả người dùng trong công ty. Bạn có thể cấp quyền truy cập khác nhau, từ “có thể sử dụng” đến “có thể sử dụng và chia sẻ” đến “có thể chỉnh sửa”. Tùy chọn cuối cùng cho phép người dùng hoặc nhóm thành viên chạy ứng dụng tuỳ chỉnh nó, và chia sẻ một phiên bản mới của ứng dụng. Tuy nhiên có một hạn chế trong việc chỉnh sửa: Bạn có thể làm hỏng ứng dụng hoặc ghi đè lên những thay đổi của người khác nếu cùng một lúc có nhiều hơn một người thay đổi ứng dụng. Hãy đóng ứng dụng trước khi người khác chỉnh sửa nó.

Liệu Microsoft có thành công trong việc tạo ra một nền tảng phát triển di động phù hợp cho nhà phát triển không chuyên? Có thể, ở chừng mực nào đó. Có một vài tính năng mà các nhà phát triển không chuyên có thể thấy khó trong bài đánh giá này, bao gồm việc tạo các API tùy chỉnh theo các đặc tả Swagger. Nhưng những người biết tạo bảng tính Excel và form Access đều có thể sử dụng hầu hết các tính năng của PowerApps.

Hiện giờ, PowerApps vẫn còn đang trong giai đoạn phát triển với một số hạn chế nhưng nó là một khởi đầu đầy hứa hẹn. Hãy chờ xem Microsoft có thể đẩy việc phát triển ứng dụng không code đi bao xa và đến mức độ nào.

Nguồn PCWorld VN

One thought on “PowerApps: Tạo ứng dụng di động không cần viết code

  • 17/09/2016 at 7:53 pm
    Permalink

    dạ cho em hỏi. Khi em đang kí tài khoản powerapps thì nó bảo phải sử dụng email từ trường học. Vậy cái đó là gì vậy ạ?

    Reply

Gửi bình luận tại đây