Câu hỏi không phải dựng đủ ngay hay để sau, mà là cấu trúc token có chừa đường hay không.
Nên tính từ đầu ở cấu trúc, dù chưa cần dựng đủ giao diện tối hay từng thương hiệu ngay lập tức. Bí quyết nằm ở chỗ mọi giá trị màu sắc, kích thước, khoảng cách cần đặt ở tầng token gốc và được điều khiển qua tầng token ngữ nghĩa, để sau này đổi chủ đề hoặc thêm thương hiệu không phải đụng vào component. Nếu bỏ qua tầng ngữ nghĩa và cho component đọc thẳng màu thô, việc thêm chế độ tối hay thương hiệu thứ hai sau này gần như đồng nghĩa với làm lại từ đầu.
Câu hỏi này xuất hiện thường xuyên khi một dự án design system (hệ thống thiết kế) còn non trẻ: có nên dựng cả giao diện sáng tối và hỗ trợ nhiều thương hiệu ngay từ đầu, hay cứ làm cho xong bản chính rồi tính sau? Câu trả lời thẳng: không cần dựng đủ ngay, nhưng cấu trúc phải chừa đường từ đầu. Sự khác biệt nằm ở tầng token ngữ nghĩa.
Một design system có cấu trúc token vững cần ít nhất ba tầng rõ ràng.
Khi cấu trúc này đứng vững, đổi chủ đề đồng nghĩa với thay ánh xạ ở tầng ngữ nghĩa. Component không cần biết có bao nhiêu chủ đề đang tồn tại.
Đặt mọi giá trị ở tầng token gốc, điều khiển chủ đề và thương hiệu ở tầng ngữ nghĩa, component lõi không đổi.
Material Design 3; Nathan Curtis, EightShapes
Hiểu sai này dẫn đến nhiều hệ thống có chế độ tối trông kỳ lạ, chữ khó đọc, màu thương hiệu bị lệch sắc. Chế độ tối đúng nghĩa là một bộ token ngữ nghĩa riêng, trong đó mỗi vai trò màu được trỏ sang một giá trị token gốc khác, phù hợp với nền tối.
Ví dụ: "màu nền chính" ở chế độ sáng trỏ về giá trị trắng nhạt, ở chế độ tối trỏ về giá trị xám đậm, không phải giá trị nghịch đảo toán học của màu trắng nhạt. Đây là lý do cần tầng ngữ nghĩa ngay từ đầu, kể cả khi chưa có kế hoạch làm chế độ tối trong sáu tháng tới.
Với các ngành có yêu cầu tương phản cao như tài chính hoặc y tế, nên kiểm tra tương phản đọc được ở cả hai chế độ từ giai đoạn thiết kế nền tảng, không để đến lúc ra mắt tính năng mới phát hiện.
Lỗi tốn kém thường gặp ở các hệ thống xây vội là nhân đôi component cho mỗi thương hiệu. Một thương hiệu con ra đời, nhóm sao chép toàn bộ thư viện component và chỉnh màu. Từ đó trở đi, mọi cập nhật phải làm hai lần, rồi ba lần.
Cách đúng: giữ một bộ component lõi dùng chung, mỗi thương hiệu có bộ token ngữ nghĩa riêng trỏ về token gốc của thương hiệu đó. Khi component hiển thị, nó chỉ hỏi "màu nền chính là gì?", còn câu trả lời phụ thuộc vào bộ token ngữ nghĩa nào đang được nạp.
Không phải mọi thứ đều phải làm đủ ngay ngày một. Có những phần hoàn toàn có thể để lại cho giai đoạn sau mà không ảnh hưởng cấu trúc.
Điều không thể để sau: quyết định đặt tầng ngữ nghĩa vào cấu trúc hay không. Đây là quyết định một chiều, và chọn sai ở bước này sẽ kéo chi phí sửa lên rất cao về sau.
Nếu Anh / Chị chắc chắn chỉ có một thương hiệu và một chế độ trong toàn bộ vòng đời sản phẩm, đây là trường hợp hiếm có thể cân nhắc cấu trúc đơn giản hơn. Nhưng đa số doanh nghiệp đang phát triển sẽ cần ít nhất một trong hai: chế độ tối hoặc thương hiệu con, nên chừa đường từ đầu thường là quyết định an toàn hơn.
Chủ đề: Sáng tối và đa thương hiệu: tính từ đầu hay bổ sung sau?. Cẩm nang Sinh Vũ, sinhvu.com
Bấm chọn từng mục Anh / Chị thấy đúng, rồi bấm in hoặc lưu thành PDF để mang theo.
Nếu Anh / Chị đánh dấu phần lớn ở nhóm dấu hiệu trên, đây là lúc nên trao đổi kỹ hơn. Sinh Vũ có thể cùng Anh / Chị soi lại và đề xuất hướng đi.
Material Design 3, Design tokens overview. Nathan Curtis, Tokens in Design Systems (EightShapes). Color tokens và hướng dẫn sáng tối trong design system (Bootcamp). Kinh nghiệm thực hành Sinh Vũ qua các dự án đa thương hiệu.
Có. Dù chỉ có một thương hiệu và một chế độ hôm nay, tầng ngữ nghĩa vẫn cần được giữ ngay từ đầu vì chi phí chừa đường lúc này gần như bằng không, trong khi chi phí gắn thêm về sau rất cao. Khi thêm chế độ tối hay thương hiệu thứ hai, Anh / Chị chỉ cần ánh xạ lại token ngữ nghĩa sang bộ giá trị mới, không cần sửa component nào.
Không nên. Đảo màu tự động thường cho ra tương phản sai, chữ khó đọc, và màu thương hiệu bị lệch sắc. Chế độ tối đúng nghĩa là một bộ token ngữ nghĩa riêng trỏ về token gốc phù hợp, không phải phép nghịch đảo kỹ thuật. Với nhóm ngành có yêu cầu tương phản cao như tài chính hoặc y tế, điều này càng quan trọng hơn.
Không. Đây là lỗi tốn kém thường gặp ở các hệ thống làm vội. Với cấu trúc token đúng, Anh / Chị chỉ cần một bộ component lõi dùng chung, còn thương hiệu được tách bằng cách thay bộ giá trị token ngữ nghĩa. Mỗi thương hiệu con có bộ token ngữ nghĩa riêng trỏ về token gốc của thương hiệu đó.
Bài viết là thông tin tham khảo. Phạm vi, giá và cam kết cụ thể của Sinh Vũ ghi trong hồ sơ đề xuất và hợp đồng đã ký.