Khi tìm một nền tảng bán hàng để lập trình riêng, bạn sẽ gặp những cái tên gắn chặt với từng ngôn ngữ: PHP có WooCommerce và Magento, còn hệ sinh thái Ruby on Rails có Spree Commerce. Đây không phải công cụ kéo thả cho người không biết code, mà là một bộ khung (framework) dành cho lập trình viên muốn kiểm soát tận gốc cách cửa hàng vận hành.
Spree Commerce hoạt động theo cách nào
Spree được Sean Schofield khởi tạo năm 2007 và đến nay có hơn 800 người đóng góp. Điểm cốt lõi để hiểu đúng Spree nằm ở chữ Rails engine (động cơ Rails — một module có thể gắn vào ứng dụng Rails sẵn có). Thay vì là một phần mềm trọn gói cài lên hosting rồi dùng ngay, Spree là tập hợp các gem (thư viện Ruby) mà bạn nhúng vào một ứng dụng Rails. Nhờ vậy, mọi tầng — sản phẩm, giỏ hàng, đơn hàng, thanh toán — đều là code Ruby bạn có thể đọc, ghi đè và mở rộng.
Phiên bản hiện tại là dòng Spree 5, với bản phát hành mới nhất khoảng 5.4 ra mắt đầu năm 2026. Đây là dự án còn phát triển tích cực, hậu thuẫn chính đến từ Vendo — đơn vị duy trì bản Enterprise. Từ Spree 5, dự án chia thành hai nhánh: Community Edition miễn phí cho cửa hàng đơn (single-tenant) và Enterprise Edition trả phí cho các kịch bản phức tạp như marketplace nhiều người bán hay nền tảng SaaS nhiều khách thuê chung.

Headless và API-first nghĩa là gì ở đây
Spree đi theo kiến trúc API-first (ưu tiên giao diện lập trình ứng dụng — backend phơi ra REST API trước, giao diện gắn sau). Nó có hai bộ API tách bạch: Storefront API phục vụ phần hiển thị cho khách (web, app di động), và Platform API để quản trị cửa hàng và nối với hệ thống bên thứ ba. Cả hai có đặc tả OpenAPI 3.0 đầy đủ, import thẳng vào Postman để thử.
Cách dùng linh hoạt: bạn có thể chạy Spree kiểu monolith (khối liền — backend và giao diện chung một ứng dụng Rails, có sẵn page builder kéo thả nội dung), hoặc tách hẳn headless — dùng Rails chỉ làm backend rồi dựng storefront riêng. Spree cung cấp sẵn TypeScript SDK, CLI để khởi tạo dự án, và một starter Next.js để bạn không phải gọi API thủ công từ con số không. Nếu bạn đang cân nhắc giữa các giải pháp storefront tách rời, bài so sánh các nền tảng thương mại điện tử sẽ giúp đặt Spree cạnh những lựa chọn khác.
Ưu điểm của Spree Commerce
- Tuỳ biến tới tận lõi. Vì là Rails engine, bạn ghi đè được gần như mọi hành vi — quy trình đặt hàng, cách tính giá, luồng thanh toán — bằng code thuần Ruby, không bị khoá trong giới hạn của plugin.
- API sạch, hợp làm headless. REST API có đặc tả chuẩn giúp nối với Next.js, app native hay hệ thống ERP gọn gàng, ít chỗ phải vá víu.
- Đa cửa hàng, đa tiền tệ, đa ngôn ngữ. Những năng lực này nằm sẵn trong nền tảng, hợp cho dự án bán xuyên biên giới hoặc nhiều thương hiệu.
- Mã nguồn mở thật, giấy phép rõ. Core Spree dùng giấy phép BSD-3-Clause (một giấy phép mã nguồn mở được OSI công nhận), bạn tự host và sở hữu dữ liệu, không lệ thuộc một nhà cung cấp đóng.
Nhược điểm và những điểm cần cân nhắc
- Bắt buộc biết Ruby on Rails. Đây là rào cản lớn nhất. Không có đội Rails hoặc không thuê được người Rails, dự án Spree gần như bất khả thi để vận hành lâu dài.
- Cộng đồng nhỏ hơn PHP. So với hệ sinh thái WooCommerce hay Magento, lượng lập trình viên, extension và tài liệu tiếng Việt quanh Spree mỏng hơn nhiều — tìm người bảo trì ở Việt Nam khó hơn.
- Cần hạ tầng và DevOps. Ứng dụng Rails không chạy trên shared hosting rẻ tiền; bạn cần server có Ruby, cơ sở dữ liệu, hàng đợi job, và người biết triển khai.
- Tính năng nâng cao có thể tốn phí. Marketplace nhiều người bán, B2B, hay mô hình SaaS multi-tenant thuộc nhánh Enterprise — dùng cho mục đích phân phối lại hoặc SaaS có thể phát sinh chi phí giấy phép thương mại.
Spree Commerce so với WooCommerce
Hai nền tảng giải quyết cùng bài toán bán hàng nhưng phục vụ hai kiểu đội ngũ khác nhau.
| Tiêu chí | Spree Commerce | WooCommerce |
|---|---|---|
| Ngôn ngữ | Ruby (trên Rails) | PHP (trên WordPress) |
| Kiến trúc | API-first, headless hoặc monolith | Plugin gắn vào WordPress, có REST API |
| Ai hợp dùng | Đội lập trình Rails cần tuỳ biến sâu | Chủ shop, người không chuyên code, agency WordPress |
| Hosting | Server có Ruby, cần DevOps | Shared hosting phổ thông là chạy được |
| Cộng đồng tại VN | Hẹp | Rất rộng, nhiều người bảo trì |
| Chi phí khởi đầu | Tốn nhân lực kỹ thuật | Thấp, vào nhanh |
Nói gọn: WooCommerce thắng về độ dễ tiếp cận và hệ sinh thái sẵn có, hợp đa số shop vừa và nhỏ. Spree thắng khi bạn đã có đội Rails và cần một backend thương mại điện tử kiểm soát được từng dòng logic. Nếu hướng của bạn là một web bán hàng theo yêu cầu trên nền WordPress quen thuộc, WooCommerce thường là điểm khởi đầu thực tế hơn cho thị trường Việt Nam.

Khi nào nên và không nên chọn Spree
Nên chọn khi: đội ngũ thạo Ruby on Rails; bạn cần tách storefront ra một frontend riêng (Next.js, app); logic bán hàng phức tạp vượt khả năng plugin; hoặc bạn muốn một backend API dùng chung cho nhiều kênh.
Không nên chọn khi: không có người Rails; ngân sách và thời gian hạn chế; chỉ cần một cửa hàng tiêu chuẩn lên sóng nhanh; hoặc bạn ưu tiên tìm được người bảo trì dễ dàng trong nước. Trong những trường hợp đó, bạn có thể nhờ Web22 làm website trên nền quen thuộc, dễ bảo trì hơn là tự dựng trên framework Rails. Trong nhóm framework Rails, nếu bạn còn phân vân giữa các lựa chọn cùng ngôn ngữ, có thể tham khảo thêm Sylius bên phía PHP để thấy cách một nền tảng tương tự được tổ chức.
Câu hỏi thường gặp
Spree Commerce có miễn phí không?
Community Edition miễn phí cho cửa hàng đơn, dùng giấy phép mã nguồn mở. Các tính năng Enterprise như marketplace nhiều người bán hay mô hình SaaS multi-tenant thuộc nhánh trả phí.
Spree còn được phát triển không?
Còn. Dòng Spree 5 ra mắt năm 2025 và liên tục cập nhật đến đầu 2026, với storefront mới, page builder và starter Next.js. Dự án vẫn hoạt động tích cực.
Người không biết code có dùng Spree được không?
Gần như không nên. Spree là framework cho lập trình viên Rails. Người không chuyên kỹ thuật sẽ thấy WooCommerce hoặc các nền tảng kéo thả phù hợp hơn nhiều.
