Sanity: Một CMS tư duy như một lập trình viên

Hầu hết các nền tảng CMS đều đẩy bạn vào thế bí.

Bạn hoặc là chọn quyền kiểm soát tự lưu trữ (self-hosted) với cái giá phải trả là chi phí bảo trì nặng nề. Hoặc bạn chọn các nền tảng SaaS được quản lý, nơi bạn phải "thuê" sự linh hoạt từ một chủ nhà.

Cả hai lựa chọn đều tạo ra khoảng cách giữa nội dung và frontend của bạn. Các lập trình viên phải dành quá nhiều thời gian để chuyển đổi dữ liệu giữa các thế giới khác nhau.

Sanity thay đổi logic này.

Nó không phải là một trang web được gắn thêm một CMS. Nó là một nền tảng nội dung cung cấp sức mạnh cho trang web của bạn.

Dưới đây là lý do tại sao nó hoạt động khác biệt:

  • The Content Lake: Sanity xử lý hạ tầng và dữ liệu của bạn. Dữ liệu của bạn luôn được quản lý theo phiên bản và được cung cấp thông qua các API.
  • The Studio: Giao diện biên tập là một ứng dụng React. Nó nằm trong kho lưu trữ mã nguồn (code repository) của bạn. Bạn quản lý phiên bản và triển khai nó giống như bất kỳ phần nào khác trong ứng dụng của mình.
  • Customization: Nếu bạn cần một công cụ cụ thể, hãy tự xây dựng nó. Bạn có thể tạo các thành phần nhập liệu (input components) tùy chỉnh hoặc các bộ chọn màu đặc trưng cho thương hiệu bằng chính những công cụ bạn dùng cho frontend.
  • GROQ: Ngôn ngữ truy vấn này cho phép bạn xác định chính xác hình dạng dữ liệu tại thời điểm bạn yêu cầu. Điều này giúp ngăn chặn việc lấy thừa dữ liệu (over-fetching) và giải quyết các vấn đề về cấu trúc dữ liệu ngay lập tức.

Kiến trúc này mở rộng cùng với bạn.

Một thương hiệu nhỏ có thể sử dụng nó cho một trang web marketing đơn giản. Một công ty toàn cầu như PUMA có thể sử dụng nó để quản lý 55.000 nội dung trên nhiều thị trường khác nhau từ một nguồn duy nhất.

Nó cũng chuẩn bị cho bạn sẵn sàng cho tương lai của AI.

Hầu hết các nền tảng CMS lưu trữ nội dung trong các khối HTML lộn xộn. Điều này khiến việc tích hợp AI trở nên khó khăn. Sanity sử dụng JSON có cấu trúc. Điều này giúp nội dung của bạn sẵn sàng cho các mô hình ngôn ngữ mà không cần dọn dẹp thêm.

Một lời cảnh báo:

Sanity mang lại sự linh hoạt cực cao. Đây là một con dao hai lưỡi.

Nếu bạn không coi việc mô hình hóa nội dung (content modeling) là một quyết định kiến trúc nghiêm túc, bạn sẽ tạo ra một mớ hỗn độn. Bạn phải lập kế hoạch cho các loại tài liệu (document types) và quy ước đặt tên trước khi bắt đầu. Bạn cũng cần dành thời gian để xây dựng một trải nghiệm mượt mà cho các biên tập viên của mình.

Sanity là một nền tảng, không phải là một sản phẩm hoàn chỉnh.

Nếu bạn muốn một công cụ phát triển cùng với các nhu cầu kỹ thuật của mình thay vì chống lại chúng, thì đây chính là nó.

Source: https://dev.to/fredcorr/sanity-and-the-case-for-a-cms-that-thinks-like-a-developer-547i

Optional learning community: https://t.me/GyaanSetuAi