Headless CMS vs Traditional CMS | Blog | manhhomienbienthuy

[ad_1]

Bài đăng trên phân mục Tổng hợp vào ngày 25 tháng 6 năm 2021 bởi manhhomienbienthuy. Chỉnh sửa lần cuối lúc 18:36:43 ngày 30 tháng 7 năm 2021 ( JST ) .Tuy lập trình web cũng nhiều năm, nhưng tôi không có nhiều thời cơ thao tác với CMS ( Content Management System ). Trong tâm lý của tôi thì CMS nó là cái gì đó giống như WordPress mà tôi đã từng có thời cơ dùng qua. Thế nhưng thật giật mình và cũng thật vô tình, gần đây tôi lần tiên phong được nghe đến keyword ” headless CMS “. Và đó cũng là lúc tôi nhận ra mình quá thiếu hiểu biết về quốc tế CMS này .WordPress hay rất nhiều CMS truyền thống lịch sử khác, đã sống sót hàng chục năm. Cách thức nó hoạt động giải trí, và cách mà những lập trình viên thao tác với chúng đã trở nên quen thuộc với nhiều người. Thế nhưng, với sự tăng trưởng của công nghệ tiên tiến, ngày này CMS cũng đã có những biến hóa đáng kể. Những CMS văn minh hơn, phong cách thiết kế theo kiểu headless rất khác với cách mà những CMS truyền thống cuội nguồn sử dụng. Sự độc lạ đến ngay từ tư tưởng phong cách thiết kế, điều này hoàn toàn có thể khiến nhiều người gặp khó khăn vất vả ( giống như tôi ) khi tiếp xúc lần đầu .

Trong bài viết này tôi sẽ trình bày một số hiểu biết của mình về CMS cũng như cách thức mỗi loại CMS hoạt động. Trước hết, headless CMS hay hiểu đơn giản hơn là CMS dựa trên API vẫn là CMS, tức là nhiệm vụ của chúng không khác gì các CMS truyền thống, chúng vẫn cung cấp các công cụ, giao diện khác nhau cho người sử dụng (kể cả người không biết lập trình) có thể làm việc và tạo ra các nội dung như các bài viết, blog, v.v… Thế nhưng cách thức hoạt động của chúng hoàn toàn khác nhau, và do đó, với các lập trình viên, cách tiếp cận cũng như làm việc với CMS hoàn toàn trái ngược nhau.

Bạn đang đọc: Headless CMS vs Traditional CMS | Blog | manhhomienbienthuy

Những hiểu biết cần thiết

CMS truyền thống là gì?

Trong một CMS truyền thống cuội nguồn, mọi thứ được đóng gói với nhau, và về mặt kỹ thuật, mọi tầng ví dụ frontend ( design, layout ), backend ( source code ) và tầng tàng trữ ( database ) đều link với nhau rất ngặt nghèo. Lấy ví dụ với WordPress, khi tải về và sử dụng, bạn sẽ nhận được mọi thứ như sau trong 1 gói loại sản phẩm :

  • Một theme (bao gồm HTML, CSS, JavaScript) được chuẩn bị sẵn. Có rất nhiều file dạng frontend này để thể hiện trang web.
  • Một database định nghĩa sẵn (Với WordPress là MySQL). Lưu ý rằng, các lập trình viên có thể thay đổi schema của database nhưng đồng thời cũng phải thay đổi code để trang web có thể hoạt động được.
  • Mã nguồn (PHP) lập trình sẵn toàn bộ các chức năng của trang web. Với người dùng bình thường, thì phần này có nhiệm vụ lấy dữ liệu từ database và chuyển nó cho theme để hiển thị.

Nếu một người truy vấn website sử dụng WordPress ở trên, quy trình giải quyết và xử lý hoàn toàn có thể diễn đạt như dưới đây :

  • Dữ liệu thô về các bài viết được lấy ra từ database bởi code PHP.
  • Sau đó dữ liệu này được truyền sang cho theme.
  • Theme (bao gồm HTML, CSS, JavaScript) có nhiệm vụ chuyển dữ liệu thô thành HTML và hiển thị cho người dùng.

Để quản trị những nội dung của website ( ví dụ những bài blog ), những CMS truyền thống lịch sử thường có 1 dashboard được cho phép quản trị viên hoàn toàn có thể dễ dang thêm bớt nội dung cũng như chỉnh sửa việc hiển thị website cho người dùng. Dưới đây là dashboard của WordPress :

dashboard

Chỉ bằng một vài thao tác đơn thuần, một người thậm chí còn không cần biết về lập trình cũng hoàn toàn có thể thuận tiện tạo nội dung cũng như chỉnh sửa giao diện của website. Khi một bài post được lưu, nó sẽ được tàng trữ vào database để sử dụng về sau. Toàn bộ quy trình hoàn toàn có thể miêu tả trong hình vẽ dưới đây :

wordpress

Như đã nói ở trên, quy mô CMS truyền thống cuội nguồn này đã sống sót rất lâu. WordPress, một đại diện thay mặt tiêu biểu vượt trội cho CMS truyền thống lịch sử đã được tăng trưởng đâu đó vào năm 2003, đến nay đã được 18 năm. Tuy nhiên, quốc tế công nghệ tiên tiến luôn tăng trưởng không ngừng, và nhu yếu của người dùng cũng biến hóa theo. Do đó, trong nhiều trường hợp, CMS truyền thống lịch sử không hề cung ứng được những nhu yếu về hiệu suất, sự mềm dẻo. Đó là nguyên do headless CMS sinh ra .

Headless CMS là gì?

Headless CMS tập trung chuyên sâu vào việc tạo, chỉnh sửa và biên tập và tàng trữ nội dung của website. Headless CMS phá vỡ mối link ngặt nghèo giữa backend và frontend. Nó chỉ lưu chữ nội dung, phân phối một dashboard được cho phép tạo và chỉnh sửa và biên tập nội dung và ở đầu cuối là phân phối API được cho phép lập trình viên sử dụng để tăng trưởng frontend của riêng mình. Headless CMS không cung ứng một giao diện dựng sẵn .Khi bạn tạo nội dung bằng headless CMS, bạn tạo ra tài liệu thô ( text, hình ảnh, v.v… ) chứ không tạo ra giao diện cho những nội dung đó. Headless CMS sử dụng API để đưa những tài liệu đó ra phía frontend, và do đó, nó hoàn toàn có thể được hiển thị ở bất kỳ đâu : website, mobile app, thậm chí còn là trên những thiết bị đeo mưu trí, bất kể thứ gì có liên kết Internet là hoàn toàn có thể sử dụng được. Tuy nhiên quan tâm rằng, những lập trình viên sẽ phải tự dựng frontend để hoàn toàn có thể làm được việc đó .

Việc tiếp cận như thế này khác hoàn toàn với cách làm truyền thống của WordPress, nơi mà backend và frontend liên kết chặt chẽ với nhau (coupling). Dưới đây là mô tả quy trình hoạt động của một headless CMS.

Xem thêm: Pamphlet là gì? Ấn phẩm được sử dụng nhiều trong ngành quảng cáo

headless

Các headless CMS vẫn phân phối một dashboard tương tự như WordPress để quản trị viên hoàn toàn có thể tạo vào chỉnh sửa và biên tập nội dung. Ngoài ra nó còn cung ứng API để cho phép người dùng lấy tài liệu để hiển thị. Thậm chí nhiều headless CMS còn sử dụng GraphQL để cho phép lập trình viên frontend hoàn toàn có thể thuận tiện hiển thị nội dung theo ý mình hơn. Bằng cách này, nội dung từ CMS hoàn toàn có thể được sử dụng để làm mọi thứ : blog, landing page, SEO, trang tin tức, v.v…Ngoài ra, về mặt kỹ thuật, bằng cách tiếp cận mới của headless CMS, mã nguồn cần sử dụng và maintain cũng giảm đi ( hoặc tối thiểu được chia ra thành backend và frontend riêng ). Một số headless CMS ví dụ Crafter CMS còn bá đạo hơn khi phân tách trọn vẹn dashboard và content API, tức là những thành phần của nó trọn vẹn độc lập với nhau và hoàn toàn có thể thuận tiện tăng cấp cũng như customize ( tư tưởng phong cách thiết kế có phần giống microservice ) .Một headless CMS được cho phép bạn trọn vẹn trấn áp việc hiển thị nội dung. Do đó nó không bị phụ thuộc vào vào một công nghệ tiên tiến có sẵn nào. Lập trình viên hoàn toàn có thể thuận tiện lựa chọn và sử dụng công nghệ tiên tiến nào tương thích nhất, thành thạo nhất. Ngoài ra, vì sự phụ thuộc vào lẫn nhau thấp, headless CMS hoàn toàn có thể thuận tiện tăng cấp những thành phần trong tương lai .

So sánh CMS truyền thống và headless

Mỗi loại CMS có những ưu và điểm yếu kém riêng, và sẽ tương thích với từng bài toán đơn cử. Sẽ thật phiến diện nếu nói rằng headless CMS là công nghệ tiên tiến mới và nó sẽ thay thế sửa chữa CMS truyền thống lịch sử trong tương lai .

CMS truyền thống

Ưu điểm

  • Ưu điểm lớn nhất của CMS truyền thống là nó đã quá quen thuộc với cả người dùng và lập trình viên. Nên để bắt đầu với nó là một điều khá dễ dàng
  • Mọi thứ được đóng gói vào 1 hệ thống, rất dễ dàng để quản trị trang web bao gồm cả nội dung và giao diện
  • Một người ít hiểu biết về kỹ thuật, không biết về lập trình cũng có thể sử dụng được

Nhược điểm

  • Gò bó, không mềm dẻo khi mọi thứ đều được đóng gói sẵn mà bạn chỉ có thể customize một phần của nó mà thôi
  • Chỉ có thể tạo ra website (mặc dù cùng nội dung có thể được hiển thị ở các thiết bị khác nhưng sẽ khó khăn)
  • Thường hiệu suất không cao do khả năng scale kém (vì các thành phần dính liền vào nhau)
  • Yêu cầu lập trình viên phải có hiểu biết về CMS đang làm việc, đổi sang CMS khác gần như phải học lại từ đầu.
  • Lượng code lớn, rất tốn chi phí để maintain

Các trường hợp nên dùng CMS truyền thống

  • Bạn muốn xây dựng một website mới và không nhu cầu tìm hiểu sâu về công nghệ đằng sau
  • Bạn đã có hiểu về về một CMS nhất định (ví dụ WordPress và ngôn ngữ PHP)
  • Bạn có thể thuê gia công một công ty chuyên làm CMS truyền thống (tôi biết một số công ty chuyên nhận làm WordPress hoặc Drupal) với một chi phí hợp lý
  • Bạn chỉ có 1 trang web chạy độc lập và không có nhu cầu liên kết với các hệ thống khác. Lưu ý rằng các CMS truyền thống mặc dù khó liên kết với hệ thống ngoài do thiếu API nhưng nó lại có thể dễ dàng cài đặt thêm plugin để làm việc đó (tuy nhiên hiệu suất không so được với headless CMS)

Headless CMS

Ưu điểm

  • Nội dung có thể được hiển thị ở bất kỳ đâu
  • Lập trình viên không cần quan tâm đến backend và chỉ cần tập trung vào frontend
  • Có thể tự do sử dụng ngôn ngữ, thư viện hay framework nào để lập trình
  • Dễ dàng tạo và biên tập nội dung và không cần lo lắng về các thành phần khác (ví dụ frontend) do mọi thứ được xây dựng không phụ thuộc vào nhau

Nhược điểm

Xem thêm: PAL – Wikipedia tiếng Việt

  • Không thể preview nội dung (mặc dù có nhiều CMS vẫn cho làm việc này nhưng sẽ cần phải thao tác rất nhiều)
  • Sẽ khó khăn khi bắt đầu, và sẽ tốn công sức cho các thao tác tích hợp, cấu hình CMS và lập trình frontend

Các trường hợp nên dùng headless CMS

  • Trang web cần sử dụng các framework JavaScript mới như React, Angular or VueJs
  • Bạn có nhu cầu hiển thị nội dung trên nhiều loại thiết bị khác nhau như website, mobile app, IoT, v.v…
  • Bạn có sẵn một website hoặc ứng dụng sử dụng những công nghệ hiện đại (Node.js, Django, React, Vue) và muốn thêm tính năng blog và một số tính năng CMS khác
  • Bạn muốn lập trình viên tập trung vào kỹ thuật và mọi người đang làm việc thay vì mất thời gian vào việc tích hợp công nghệ đó với một công nghệ khác (sử dụng bởi CMS)
  • Bạn muốn trang web của bạn dễ dàng maintain và scale
  • Bạn muốn kiểm soát ở mức tối đa việc nội dung sẽ được hiển thị như thế nào

Không có cầu vấn đáp đúng chuẩn headless CMS hay CMS truyền thống lịch sử là tốt hơn. Nó phụ thuộc vào vào từng bài toán đơn cử, và cần được xem xét kỹ lưỡng từng góc nhìn. Ngoài ra, có một phương áp thứ 3, đó là không sử dụng CMS và sẽ lập trình hàng loạt website của bạn từ đầu. Tuy nhiên, nội dung này hơi ngoài lề và không tương quan đến bài viết này nên xin phép không bàn sâu thêm ở đây .

Kết luận

Trong quốc tế IT, không có một công cụ nào hoàn toàn có thể xử lý mọi yếu tố, và cũng không có công cụ nào tốt nhất cho một yếu tố nào đó. Chỉ có công cụ này tốt hơn công cụ kia ở từng góc nhìn nhất định. Hy vọng bài viết này sẽ cho những bạn những hiểu biết cơ bản về CMS và bạn sẽ có lựa chọn cho mình khi gặp bài toán tương tự như .

[ad_2]

Related Posts

Trò chơi thiết kế váy công chúa

[ad_1] ContentsNhững hiểu biết cần thiếtCMS truyền thống là gì?Headless CMS là gì?So sánh CMS truyền thống và headlessCMS truyền thốngHeadless CMSKết luậnRelated posts:Giới thiệu game thiết…

Trò chơi Barbie trị thương

[ad_1]  ContentsNhững hiểu biết cần thiếtCMS truyền thống là gì?Headless CMS là gì?So sánh CMS truyền thống và headlessCMS truyền thốngHeadless CMSKết luậnRelated posts:Giới thiệu game…

Trò chơi tiệm kem mùa đông

[ad_1] ContentsNhững hiểu biết cần thiếtCMS truyền thống là gì?Headless CMS là gì?So sánh CMS truyền thống và headlessCMS truyền thốngHeadless CMSKết luậnRelated posts:Giới thiệu game tiệm…

Trò chơi nước ép hoa quả

[ad_1]  ContentsNhững hiểu biết cần thiếtCMS truyền thống là gì?Headless CMS là gì?So sánh CMS truyền thống và headlessCMS truyền thốngHeadless CMSKết luậnRelated posts:Giới thiệu game…

Trò chơi thủy thủ mặt trăng 6

[ad_1] ContentsNhững hiểu biết cần thiếtCMS truyền thống là gì?Headless CMS là gì?So sánh CMS truyền thống và headlessCMS truyền thốngHeadless CMSKết luậnRelated posts:Giới thiệu game thủy…

Trò chơi đại lộ tử thần

[ad_1] ContentsNhững hiểu biết cần thiếtCMS truyền thống là gì?Headless CMS là gì?So sánh CMS truyền thống và headlessCMS truyền thốngHeadless CMSKết luậnRelated posts:Giới thiệu game đại…

Leave a Reply