Câu hỏi tưởng kỹ thuật nhưng thực ra là câu hỏi kinh doanh: khách của Anh / Chị dùng sản phẩm ở đâu nhiều nhất.
Anh / Chị quyết theo nơi khách thật sự dùng sản phẩm, không phủ thêm nền tảng vì nghe có vẻ chuyên nghiệp. Token (giá trị thiết kế nền tảng như màu, khoảng cách, chữ) có thể dùng chung một nguồn cho nhiều nền tảng qua bước chuyển đổi tự động. Nhưng component (khối giao diện hoàn chỉnh như nút bấm, form) thì mỗi nền tảng là một khối công việc riêng. Công xây và công bảo trì nhân lên theo số nền tảng Anh / Chị thêm vào.
Câu hỏi này thường xuất hiện khi Anh / Chị bắt đầu xây dựng hệ thống thiết kế (design system) và nhận ra rằng sản phẩm mình không chỉ có website. Câu trả lời không nằm ở kỹ thuật, nó nằm ở chỗ khách của Anh / Chị đang dùng sản phẩm ở đâu và kênh nào đang thật sự tạo ra doanh thu.
Trước khi quyết định, Anh / Chị cần phân biệt rõ hai tầng trong hệ thống thiết kế:
Việc phủ đa nền tảng ở tầng token là hoàn toàn khả thi. Một bộ token trung lập theo chuẩn DTCG có thể xuất ra CSS cho web, biến màu cho iOS, đơn vị dp và sp (đơn vị độ dài chuẩn trên Android) cho Android qua công cụ dựng như Style Dictionary mà không cần chép tay từng giá trị. Component thì không như vậy: mỗi nền tảng là một khối công việc riêng, xây theo đúng công nghệ mà nền tảng đó dùng.
Một nguồn token, nhiều đầu ra nền tảng qua bước dựng biến đổi, giữ nhất quán mà không chép tay từng nơi.
Style Dictionary, Amazon Web Services
Nên phủ cả iOS và Android khi thoả mãn đồng thời các điều kiện sau:
Lưu ý thêm: iOS và Android có ngôn ngữ nền riêng. Apple có HIG (Human Interface Guidelines, hướng dẫn giao diện của Apple), Android có Material Design. Đây là quy ước mà người dùng từng nền tảng đã quen, không nên bê nguyên giao diện web vào ứng dụng gốc mà bỏ qua các quy ước này.
Trong phần lớn trường hợp thực tế, sản phẩm số chính vẫn là web hoặc web-app (ứng dụng chạy trên trình duyệt). Ứng dụng di động hoặc chưa có, hoặc có nhưng chưa phải kênh chính. Lúc đó việc phủ ngay cả iOS và Android là đầu tư vào chỗ chưa cần, trong khi nơi cần thì chưa được làm tốt.
Hướng hợp lý hơn: xây token chuẩn và trung lập ngay từ đầu, component web làm trước và làm đúng, component cho nền tảng khác dựng dần khi nhu cầu thật xuất hiện. Làm token tốt từ đầu thường không tốn nhiều hơn làm token thiếu suy nghĩ, nhưng tiết kiệm nhiều công sau này khi mở rộng. Hai câu hỏi đáng trả lời trước khi chốt phạm vi: trong sáu tháng tới, sản phẩm nào sẽ được nhiều người dùng nhất, và đội kỹ thuật có bao nhiêu người dành thời gian thường xuyên cho hệ thống thiết kế?
Chủ đề: Thư viện giao diện chỉ cho web hay cho cả ứng dụng iOS và Android. 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.
Style Dictionary, mã nguồn mở của Amazon. Tài liệu Transforms của Style Dictionary. Apple Human Interface Guidelines. Material Design của Google.
Có, ở tầng token là khả thi. Một bộ token trung lập theo chuẩn DTCG (Design Token Community Group, tổ chức chuẩn hoá token thiết kế) có thể xuất ra CSS cho web, biến màu cho iOS, đơn vị dp và sp cho Android qua công cụ như Style Dictionary mà không cần chép tay. Tuy nhiên component thì không dùng chung được giữa web và ứng dụng gốc, mỗi nền tảng cần một bộ riêng xây đúng công nghệ đó dùng.
Khác đáng kể. Ứng dụng đa nền tảng (cross-platform) như React Native hay Flutter không phải ứng dụng gốc (native) iOS hay Android thuần, nên component có thể dùng chung hơn trong cùng một stack. Nhưng vẫn cần kiểm tra kỹ từng thành phần vì hành vi giao diện trên iOS và Android vẫn khác nhau theo quy ước của từng hệ điều hành.
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ý.