Điều cần quyết định sớm là cấu trúc token có chừa đường hay không. Còn dựng đủ ngay hay để sau thì tính theo nhu cầu thật.
Nên tính từ đầu ở phần cấu trúc, dù chưa cần dựng đủ giao diện tối hay từng thương hiệu ngay. Cách làm là đặt mọi giá trị màu sắc, kích thước, khoảng cách ở tầng token gốc (nơi lưu giá trị thô), rồi điều khiển chúng qua tầng token ngữ nghĩa. Token là giá trị thiết kế được đặt tên, như một màu hay một cỡ chữ. Token ngữ nghĩa là token đặt theo vai trò, như "màu nền chính". Nhờ vậy, khi đổi chủ đề giao diện (sáng, tối) hoặc thêm thương hiệu, Anh / Chị không phải sửa component (thành phần giao diện dùng lại, như nút bấm, ô nhập liệu). Nếu bỏ qua tầng ngữ nghĩa và để component đọc thẳng màu thô, việc thêm chế độ tối hay thương hiệu thứ hai về sau gần như là 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, muốn đổi chủ đề chỉ cần đổi chỗ trỏ ở 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 từ ngày đầu. 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 khó quay lại, và chọn sai ở bước này sẽ đẩy chi phí sửa lên rất cao về sau.
Đ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. Vì vậy chừa đường từ đầu là quyết định an toàn hơn, kể cả khi hôm nay mới có một thương hiệu và một chế độ.
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 hoặc đã trả lời được, rồi bấm Tải bản gửi nhanh để gửi đi, hoặc bấm In nếu cần bản giấy.
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. Lý do là 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 cho token ngữ nghĩa trỏ 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ý.