Trả lời ngắn: Windows Template Studio là tên quen thuộc của bộ tiện ích mở rộng Template Studio do Microsoft phát hành, chạy trong Visual Studio 2022 và sinh khung ứng dụng WinUI 3, WPF hoặc UWP theo từng bước của một trình hướng dẫn.
Nên dùng nếu: bạn muốn có sẵn điều hướng, mẫu MVVM, trang mẫu, dịch vụ và dự án kiểm thử thay vì tự dựng từ trang trắng. Không đủ nếu: bạn cần một công cụ còn được cập nhật liên tục, vì bản phát hành gần nhất trên kho GitHub của dự án là từ tháng 11 năm 2023.
Windows Template Studio giải quyết vấn đề gì?
Khởi tạo một ứng dụng Windows nghiêm túc không chỉ là bấm tạo project. Người viết phải tự chọn kiểu điều hướng, gắn khung MVVM, tạo trang cài đặt, nối dịch vụ lưu trữ, thêm thông báo, dựng dự án kiểm thử. Mỗi lần làm lại từ đầu là mỗi lần quên một mảnh, và cả nhóm dễ sinh ra những cấu trúc thư mục khác nhau cho cùng một loại ứng dụng.
Bộ tiện ích này biến các bước đó thành một trình hướng dẫn. Theo phần giới thiệu trên kho mã nguồn, người dùng chọn loại project, mẫu kiến trúc, các trang cần có, tính năng, dịch vụ kết nối và dự án kiểm thử, rồi để công cụ sinh mã. Sản phẩm đầu ra được mô tả là mã sạch, dễ đọc, dùng những mẫu thiết kế đã được kiểm chứng.
Điểm đáng giá thứ hai nằm ở các ghi chú trong mã. Mã sinh ra có kèm liên kết tới tài liệu và những dòng TODO chỉ ra chỗ cần hoàn thiện, nhờ đó người mới không bị lạc khi mở một project có sẵn hàng chục tệp.
Vấn đề thứ ba là tính thống nhất trong nhóm. Khi mọi project của công ty đều đi qua cùng một trình hướng dẫn với cùng mẫu kiến trúc, việc chuyển người giữa các dự án nhẹ hơn nhiều, vì cấu trúc thư mục và cách đặt tên giống nhau. Đây cũng là lý do công cụ này từng được dùng nhiều trong môi trường đào tạo.
Windows Template Studio làm tốt việc gì?
Bảng dưới dựa trên phần giới thiệu trên kho mã nguồn của dự án và trang tiện ích trên Visual Studio Marketplace tại thời điểm viết.
| Loại việc | Mức độ | Ghi chú |
|---|---|---|
| Sinh khung dự án WinUI 3 | Tốt nhất | Ba kiểu project gồm Blank, Navigation Pane và Menu Bar |
| Sinh khung dự án WPF | Rất tốt | Có thêm kiểu Ribbon so với WinUI, kèm lựa chọn Prism hoặc Code Behind |
| Áp mẫu kiến trúc | Rất tốt | MVVM Toolkit có ở cả ba framework, WPF và UWP còn có Prism |
| Thêm trang mẫu | Rất tốt | Từ trang trắng tới danh sách chi tiết, web view, cài đặt, content grid, data grid |
| Gắn tính năng dùng chung | Tốt | Lưu trữ thiết lập, thông báo, chủ đề giao diện và các tính năng hay dùng khác |
| Dựng dự án kiểm thử | Tốt | Có thể kèm dự án unit test hoặc kiểm thử giao diện kiểu Selenium |
| Giữ mã sinh ra dễ đọc | Tốt | Mã kèm liên kết tài liệu và ghi chú TODO để chỉ chỗ cần hoàn thiện |
| Cập nhật theo công nghệ mới | Kém | Bản phát hành gần nhất trên kho dự án là 5.5, từ tháng 11 năm 2023 |
| Tạo ứng dụng hoàn chỉnh | Không | Nguyên tắc của dự án ghi rõ mẫu sinh ra là điểm khởi đầu, không phải sản phẩm đã xong |
Ai nên dùng Windows Template Studio?
Lập trình viên mới với WinUI 3 là nhóm hưởng lợi rõ nhất. WinUI 3 có nhiều khái niệm phải nắm cùng lúc, từ Windows App SDK tới cách đóng gói ứng dụng. Một khung dự án chạy được, có sẵn điều hướng và trang cài đặt, giúp người mới tập trung vào nghiệp vụ thay vì loay hoay với cấu hình.
Người làm WPF lâu năm có thể dùng tiện ích này như mẫu tham chiếu. Nhóm WPF được hỗ trợ cả MVVM Toolkit, Code Behind và Prism, tức là có đường đi cho cả người thích cách cũ lẫn người muốn theo mẫu hiện đại.
Nhóm phát triển cần chuẩn hoá cấu trúc cũng nên thử. Khi mọi project đều sinh ra từ cùng một bộ lựa chọn, việc review mã và bàn giao giữa các thành viên bớt phụ thuộc vào trí nhớ của người viết đầu tiên.
Giảng viên và trung tâm dạy lập trình Windows có thêm một công cụ để học viên có project chạy được ngay trong buổi đầu. Cách này hiệu quả hơn việc bắt học viên tự dựng khung từ trang trắng rồi mất cả buổi chỉ để sửa lỗi cấu hình.
Cách dùng Windows Template Studio để có kết quả tốt
1. Chọn kiểu project theo cách điều hướng, không theo tên gọi
Trình hướng dẫn hỏi bạn muốn điều hướng của ứng dụng hoạt động thế nào, với các lựa chọn như Blank, Navigation Pane, Menu Bar, và thêm Ribbon cho WPF. Hãy nghĩ tới số lượng màn hình thật của ứng dụng: ít màn hình thì Blank đủ, nhiều nhóm chức năng thì Navigation Pane dễ sống hơn về sau.
2. Chốt mẫu kiến trúc trước khi sinh mã
WinUI 3 chỉ có MVVM Toolkit, còn WPF và UWP có thêm Code Behind và Prism. Đổi mẫu kiến trúc sau khi đã viết hàng trăm dòng là việc đắt đỏ, nên hãy quyết định ở bước này và ghi lại lý do để cả nhóm cùng biết.
3. Chỉ thêm trang và tính năng thật sự dùng
Mỗi trang mẫu và mỗi tính năng được chọn đều sinh ra tệp và mã cần bảo trì. Chọn hết mọi thứ để rồi xoá dần sẽ để lại những đoạn mã chết khó phát hiện, nhất là ở phần dịch vụ và cấu hình khởi động.
4. Đọc ghi chú TODO trong mã sinh ra
Nguyên tắc của dự án ghi rõ mẫu sinh ra phải biên dịch và chạy được ngay sau khi tạo, nhưng cũng là điểm khởi đầu chứ không phải ứng dụng hoàn chỉnh. Các ghi chú TODO và liên kết tài liệu trong mã chính là danh sách việc cần làm cho bạn.
Hạn chế cần biết
Tên đã đổi và tách thành ba tiện ích riêng
Từ bản 5.0, dự án tách tiện ích cũ thành các gói riêng cho WinUI (C#), WPF và UWP, mỗi gói cài độc lập từ Visual Studio Marketplace. Người tìm theo tên Windows Template Studio dễ tải nhầm gói cũ hoặc không biết mình cần cài gói nào.
Nhịp phát hành đã chậm lại rất nhiều
Bản phát hành gần nhất trên kho dự án là 5.5, công bố tháng 11 năm 2023, chỉ cập nhật cho gói WinUI (C#). Các gói WPF và UWP dừng ở bản 5.3 từ tháng 2 năm 2023. Nếu bạn cần bám theo các bản Windows App SDK mới, công cụ này không còn theo kịp.
Project cũ không nâng cấp lên được
Ghi chú phát hành nêu rõ các project tạo bằng tiện ích cho Visual Studio 2019 sẽ không thể cập nhật bằng tiện ích cho Visual Studio 2022. Với dự án đang chạy, đây là lý do đủ để bạn cân nhắc trước khi chuyển công cụ.
Tiện ích gửi dữ liệu telemetry về lựa chọn trong trình hướng dẫn
Phần chính sách trong kho dự án cho biết tiện ích ghi lại thông tin cơ bản về những gì người dùng chọn trong trình hướng dẫn. Đây là dữ liệu về thao tác chứ không phải mã nguồn của bạn, nhưng tổ chức có quy định nghiêm về telemetry nên biết trước khi triển khai đại trà.
Câu hỏi thực tế khi dùng Windows Template Studio
Có phải tải riêng không hay nằm sẵn trong Visual Studio?
Phải cài riêng từ Visual Studio Marketplace. Trang tiện ích ghi nhà phát hành là Microsoft và công cụ miễn phí, sau khi cài bạn sẽ thấy mẫu project tương ứng khi tạo dự án mới trong Visual Studio.
Có dùng được cho WPF không?
Được, thông qua gói Template Studio for WPF. Gói này hỗ trợ các kiểu project Blank, Navigation Pane, Menu Bar và Ribbon, cùng ba lựa chọn kiến trúc gồm MVVM Toolkit, Code Behind và Prism.
Mã sinh ra có dùng được ngay cho sản phẩm thật không?
Chạy được thì có, nhưng hoàn chỉnh thì không. Nguyên tắc của dự án ghi rõ mẫu sinh ra giữ đơn giản, phải biên dịch và chạy được sau khi tạo, đồng thời là điểm khởi đầu chứ không phải ứng dụng đã xong. Bạn vẫn phải viết phần nghiệp vụ và hoàn thiện các chỗ được đánh dấu TODO.
Windows Template Studio so với các lựa chọn cùng nhóm
Các cột Template Studio dưới đây là ba gói riêng biệt cùng thuộc dự án của Microsoft. Cột Visual Studio chỉ ghi nhãn nhóm đọc được trên TopỨngDụng, ô nào chưa có căn cứ thì để là không rõ.
| Tiêu chí | Template Studio cho WinUI (C#) | Template Studio cho WPF | Template Studio cho UWP | Visual Studio |
|---|---|---|---|---|
| Nền tảng sinh mã | WinUI 3 trên Windows App SDK | WPF | UWP | không rõ |
| Kiểu project có sẵn | Blank, Navigation Pane, Menu Bar | Blank, Navigation Pane, Menu Bar, Ribbon | Blank, Navigation Pane, Horizontal Navigation Pane, Menu Bar | không rõ |
| Mẫu kiến trúc | MVVM Toolkit | MVVM Toolkit, Code Behind, Prism | MVVM Toolkit, Code Behind, Prism | không rõ |
| Bản phát hành gần nhất theo kho dự án | 5.5, tháng 11 năm 2023 | 5.3, tháng 2 năm 2023 | 5.3, tháng 2 năm 2023 | không rõ |
| Kèm dự án kiểm thử tự động | Có, unit test và kiểm thử giao diện | không rõ | không rõ | không rõ |
| Chi phí | Miễn phí | Miễn phí | Miễn phí | không rõ |
Nếu bạn cần công cụ còn được cập nhật đều, hãy xem thêm nhóm Developer & lập trình trên site, nơi có các trình soạn thảo và môi trường phát triển như Visual Studio Code hay Android Studio để đối chiếu.
Kết luận
Windows Template Studio vẫn là công cụ đáng cài nếu bạn đang bắt đầu một ứng dụng WinUI 3 hoặc WPF và muốn có khung chạy được ngay, kèm sẵn điều hướng, mẫu kiến trúc và dự án kiểm thử. Giá trị lớn nhất không nằm ở mã sinh ra mà ở cấu trúc mà nó buộc cả nhóm phải theo.
Điểm trừ là nhịp cập nhật. Bản phát hành gần nhất trên kho dự án đã từ tháng 11 năm 2023, gói WinUI (C++) vẫn ở trạng thái sẽ làm trong tương lai, và project cũ từ thời Visual Studio 2019 không nâng cấp lên được. Trước khi đưa vào quy trình chính thức, bạn nên mở lại kho mã nguồn và trang tiện ích trên Marketplace để kiểm tra bản phát hành mới nhất cùng điều kiện sử dụng, vì đây là những thứ Microsoft có thể thay đổi mà không báo trước.




