Chuyển đổi hệ thống blog PHP Laravel sang Go Gin
Ngày cập nhật: 2023-04-16 | Số lần đọc: 5385 | Số từ: 582 | Phân loại: Tự xây dựng blog
Tìm kiếm
Ý tưởng này nảy ra cách đây hai tháng, khi tôi đã dùng Go Gin để tạo một trang web giới thiệu sản phẩm song ngữ tiếng Anh và tiếng Trung. Dựa trên kiến trúc code đó, tôi cũng triển khai một phần chức năng blog, nhưng sau đó phải tạm gác lại vì công việc khác gấp rút. Đến dịp Quốc Khánh năm nay, tôi không quá bận rộn nên đã dành thời gian rảnh để phát triển thêm vài tính năng mới. Tuy nhiên, khoảng cách đến phiên bản chính thức vẫn còn khá xa. Lý do là hiện tại hệ thống blog cũ có quá nhiều chức năng phức tạp và đa dạng, khiến việc tái thiết kế không hề dễ dàng như mong đợi.
- Làm quen với Go & Gin trong lập trình web – Blog này ban đầu được xây dựng dần dần trong quá trình tự học PHP và Laravel. Tôi từng cân nhắc chuyển hướng sang ASP.NET, nhưng cuối cùng vẫn quyết định tiếp tục với Go, bởi những ưu điểm vượt trội của ngôn ngữ này.
- Hỗ trợ đa ngôn ngữ: Trước đây chỉ hỗ trợ tiếng Trung, lần này sẽ bổ sung thêm tiếng Anh. Một trong những lý do lớn nhất là vấn đề kiểm duyệt nội dung tại Trung Quốc, vì vậy việc di dời blog sang nước ngoài bất cứ lúc nào đều là một lựa chọn khả thi.
- Thay thế PHP bằng Go – Hiệu suất của PHP với Laravel bị đánh giá là yếu kém, hơn nữa việc nâng cấp phiên bản thường gây phiền toái cho phía máy chủ. Với Go, cả hai vấn đề này đều có thể được giải quyết một cách hoàn hảo.
- Giao diện hiện đại với Tailwind CSS / Material Design – Sử dụng thư viện Flowbite giúp việc thiết kế trở nên thú vị hơn rất nhiều so với việc bó buộc trong các thành phần của Bootstrap.
- Loại bỏ các công cụ thừa thãi – Để thuận tiện cho việc mở nguồn về sau.
- Chuyển hướng AMP sang trang gốc – Việc duy trì AMP tốn nhiều công sức mà lại không mang lại lợi ích rõ rệt, đặc biệt là đối với tôi thì không cần thiết.
- Tận hưởng quy trình phát triển – Thay vì chờ đợi khoảnh khắc phát hành phiên bản cuối cùng, tôi muốn tận hưởng niềm vui trong suốt quá trình xây dựng.
- Phát hiện yêu cầu mới trong quá trình phát triển – Ví dụ như khi cần đặt chữ cái đầu của tiêu đề tiếng Anh thành in hoa, tôi đã tạo ra một công cụ trực tuyến nhỏ để chuyển đổi chữ hoa/chữ thường.
Chiến lược phát triển nhanh
- Phát hành mỗi tuần một phiên bản – Mục tiêu này nhìn chung khó đạt được, vì tôi chỉ có thể làm việc vào buổi tối khoảng hai giờ mỗi ngày. Vì vậy, tôi sẽ cắt giảm một số chức năng không cần thiết để đẩy nhanh tiến độ. Ví dụ như loại bỏ chức năng bình luận hoặc RSS.
- Sử dụng website tiếng Anh như môi trường thử nghiệm – Vì lượng truy cập không cao, tôi có thể thoải mái thử nghiệm ở đây. Khi mọi thứ ổn định, sẽ đồng bộ sang website tiếng Trung.