Xin chào các bạn, như tiêu đề bài viết, hôm nay mình sẽ phân biệt về Framework, CMS cũng như tại sao lại cần chúng thay vì chúng ta có thể Code chay, Code thuần từ đầu đến cuối một dự án.
Mục đích mình viết bài này là bởi vì hồi năm 2 đại học, khi code xong một trang web bằng html, css, js, php, mysql thuần, mình lại nghe nói tới là cần phải học Framework hoặc CMS để có thể đi làm được và sẽ được các công ty chú ý hơn. Lúc đó mình chẳng hiểu tại sao có thể code thuần thì cần gì phải Framework, cần gì phải CMS cho lằng nhằng, bây giờ thì đỡ ngơ hơn rồi =))
Những nội dung có trong bài này:
- Phân biệt Framework và CMS
- Tôi có thể tự code thuần, tại sao tôi phải học Framework, CMS ???
1 – Phân biệt Framework và CMS
- Framework: Đầu tiên các bạn hãy hiểu nó là một bộ khung đỡ, bộ khung này cung cấp cho chúng ta một cấu trúc cơ bản để thể xây dựng ứng dụng một cách linh hoạt, tối ưu, chuyên nghiệp, ổn định, dễ bảo trì…vv.. Giúp chúng ta tiết kiệm được rất nhiều thời gian, giảm thiểu số lần phải viết đi viết lại những đoạn mã code thông dụng.
– Một số framework ví dụ: Laravel, Codeigniter, Yii, CakePHP….
- CMS: Viết tắt của Content Management System, dịch sang tiếng Việt của mình là Hệ Thống Quản Trị Nội Dung. Đối với CMS, chúng ta có thể dễ dàng quản lý, chỉnh sửa nội dung của trang web mà rất rất ít phải đụng tới code, có khi là không phải đụng tới luôn. Vì vậy đối những bạn làm SEO, Test hay bất cứ ai không biết code, vẫn có thể làm được một trang web với CMS. Mọi thao tác đều là kéo thả hoặc là làm việc với giao diện ứng dụng.
– Một số CMS ví dụ: Wordpress, NukeViet, Magento, Joomla….
- Note: có lẽ các bạn đã hiểu được phần nào sự khác nhau giữa 2 thằng trên rồi, nếu vẫn còn mơ hồ, thì mình có một cách giải thích khá dễ hiểu như sau:
Hãy tưởng tượng bây giờ bạn đang có rất nhiều tiền đi, bạn muốn có một căn nhà mới để ở. Có 2 phương án cho bạn lựa chọn:
Thứ nhất bạn có thể tìm mua một căn nhà đã được xây sẵn rồi sau đó bạn chỉ cần trang trí nhà cửa, sắp xếp nội thất trong nhà…bla..bla..
Thứ 2, bạn có thể tìm mua một mảnh đất, mua tất cả những vật liệu xây dựng cần thiết để tự tay xây lên căn nhà theo ý của bạn.
Việc làm một trang web cũng như bạn xây lên một căn nhà vậy, nếu bạn đi theo cách đầu tiên, thì đó được gọi là CMS, còn đối với cách thứ 2, thì đó lại là Framework. Dễ hiểu phải không nào ^^
2 – Tôi có thể code thuần, tại sao tôi phải học Framework, CMS ???
Sau khi đã phân biệt Framework và CMS ở phần trên, câu hỏi tiếp theo đặt ra là tại sao chúng ta lại phải làm việc với chúng, chúng ta đủ sức để Code thuần, Code chay cơ mà. Mình đã từng nghĩ như thế đấy =))
Chúng ta thử phân tích nhé:
– Bây giờ ta có một tháng để code ra một trang web, dùng code thuần ta có thể mất tới 20 ngày thôi. Nhưng dùng Framework lại có thể chỉ mất 15 ngày, thậm chí với CMS, chỉ 5 ngày (5 ngày là nhiều rồi đấy, mình chỉ ví dụ thôi =)).
– Các bạn thấy đấy, dĩ nhiên ta nên chọn cách tối ưu thời gian nhất, để dành thời gian còn lại làm những việc khác, học những thứ khác…v..v.. Nhưng phải chắc chắn là kiến thức lập trình thuần bạn phải nắm vững thì hãy làm Framework, CMS nhé. Cái gì cũng phải đi lên từ gốc cả. không ai trèo cây từ ngọn cả đâu ^^.
"Qua một ngày, nếu không học thêm được điều gì mới, bản thân ta đã bị lặp lại ngày hôm qua, thật lãng phí."
– Một điều nữa, khi đi làm thực tế, không phải một dự án chỉ có mỗi một mình chúng ta làm, mà là rất nhiều người cùng làm. Khi làm Teamwork như vậy, việc sử dụng Framework, CMS sẽ rất có ích vì công việc được làm theo một form chuẩn, một mô hình chuẩn. Thậm chí, khi team bạn có một người nghỉ việc, hay là bạn join vào một team mới, việc làm quen với code của Project theo chuẩn Framework, CMS sẽ giúp bạn tiết kiệm rất nhiều thời gian và dễ dàng làm việc hơn.
...
– Trên đây là những gì mình hiểu và học hỏi được, nếu có gì sai sót, hy vọng sẽ nhận được góp ý từ các bạn.
– Trên thực tế, khi đi làm, tùy vào mỗi công ty mà bạn sẽ phải follow theo cách làm việc ở đó, Framework, CMS hay là code thuần cũng được. Hãy cứ làm và học hỏi, bởi vì kiến thức không bao giờ là đủ !!!
...
Done, hy vọng bài viết này có thể giúp được phần nào đó cho những bạn chưa hiểu về Framework cũng như CMS, đồng thời cũng giúp những bạn mới bước chân vào lập trình, đứng trước ngưỡng cửa của giai đoạn phát triển sự nghiệp bản thân và đang cần một sự định hướng cụ thể cho công việc sau này. Cảm ơn các bạn đã đọc bài viết của mình.
Best Regards – Trung Quân – Green Cat