Nên theo trường phái PHP nào? Framework hay CMS?

Câu chuyện kinh điển ở dự án FSOFT

Trước khi vào bài viết, KINGDOM NVHAI xin kể một câu chuyện kinh điển mà tôi nhớ mãi. Câu chuyện đó tôi sẽ đặt tên là: “Một mình chống thế giới”.

Năm 2018, dự án của khách hàng Nhật ở FSOFT có giai đoạn cần 1 trang E-Commerce. 2 anh Senior tên là Phương và Thắng đề xuất 2 giải pháp: anh Phương muốn sử dụng framework là Codeigniter, còn anh Thắng muốn dùng Magento 2. Sau một hồi tranh luận, tất cả mọi người đều nhất trí sử dụng Magento 2, không một ai theo Codeigniter. Lý do vì Magento được hỗ trợ rất nhiều trong khi Codeigniter lại của riêng 1 người code. Nói cách khác, anh Phương một mình chống cả thế giới.

Và team Magento 2 được thành lập, trong đó có tôi. Những vấn đề của Magento bắt đầu xuất hiện. Nó quá nặng. Tôi đã mất 1 tuần cài đặt mãi không được. Cuối cùng tôi xin ra khỏi nhóm Magento để sang làm Framework. Team Magento vẫn tiếp tục chạy và nghe đâu bị trễ deadline rất nhiều.

Và sau này, khi đi phỏng vấn xin việc, tôi nhận ra trận chiến giữa Framework và CMS không chỉ có trong câu chuyện tôi vừa kể. Nó còn là vấn đề giải pháp, là những ưu nhược điểm mà bạn sẽ phải phân tích với khách hàng để làm sao có lợi cho mình hay team của mình. Nếu bạn không đảm bảo giải pháp của bạn đi đúng đường, lường trước sự cố, bạn và team của bạn sẽ tự rước lấy rắc rối như team Magento bị trễ deadline chỉ vì lỗi cài đặt.

Framework vs CMS – cuộc chiến định mệnh giữa 2 phong cách và giải pháp

Khi đi phỏng vấn PHP, chắc hẳn các bạn đã từng nghe rất nhiều câu hỏi: “Em có biết Magento không?”, “Em có biết tạo plugin WordPress không?”. Đặc biệt, khi phỏng vấn ở những công ty không chuyên PHP, thường người ta sẽ có hứng thú dùng CMS hơn. Nếu bạn vào đó mà trả lời không chắc chắn, bạn sẽ rớt chắc vì người ta biết, một khi đã đi theo trường phái CMS phải nắm rất rõ CMS đó, source thế nào, plugin ra sao.

Framework thì ngược lại. Những công ty đã chọn Framework làm gốc đầu tiên thường sẽ có 1 bộ source do Senior build sẵn. Họ tuyển người vào chỉ cần đã biết về Framework đó, dạy cách sử dụng bộ source đó là ok vì bản thân Framework là gần như build lại từ đầu.

Nghe thì có vẻ dễ lựa chọn, nhưng cái oái oăm là khách hàng. Khách hàng Việt Nam ít tiền, ít hiểu biết về công nghệ thì sẽ không ý kiến gì. Thậm chí có người còn từng xài WordPress rồi nhờ công ty tôi chuyển sang Laravel vì website WordPress của họ bị virus. Nhưng khách hàng nước ngoài thì khác. Kiếm được dự án rất khó nên cái gì cũng phải chiều ý khách. Lại thêm cả PM hay những người ít kinh nghiệm PHP đòi dùng Magento như câu chuyện trên, khiến trận chiến giữa Framework và CMS trở nên rất khốc liệt, từ nội bộ đến khách hàng, từ không kinh nghiệm đến kinh nghiệm chục năm.

Vậy cái nào tốt hơn?

Ngắn gọn: CMS tốt ngắn hạn, Framework tốt lâu dài.

Nên học gì nếu theo nghiệp PHP?

Ngắn gọn: Framework chỉ cần biết Laravel, CMS chỉ cần học Magento. Mỗi cái tầm 1 năm kinh nghiệm thì ra ngoài không sợ ai cả.

Laravel: làm 1 trang web dùng Reactjs, Vuejs, chat realtime.

Magento: làm 1 plugin lấy dữ liệu, đơn hàng xuống, export file CSV.

Leave a Comment