TALL stack là gì?
Gần đây chắc các bạn cũng đã từng nghe đến TALL stack. Nhưng nếu bạn chưa biết nó là gì, thì đây rồi vào đọc đi chứ còn chờ gì nữa đây là bài viết bạn cần.
TALL stack là gì?
TALL stack là tập hợp các công nghệ mạnh mẽ và được ưa chuộng, giúp cho việc phát triển dự án hiệu quả và dễ dàng hơn.
TALL là viết tắt cho Tailwind CSS, Alpine.js, Laravel và Livewire.
Tailwind CSS: là một CSS framework utility nó được xây dựng với các class được xây dựng sẵn nhằm giúp bạn phát triển giao diện của mình nhanh hơn và dễ dàng mở rộng hơn. Cơ bản ban đầu mình khá kỳ thị nó vì các class của nó khi viết nó quá là dài và giống như bạn đang viết một cái css thuần vậy. Nhưng càng sử dụng thì bạn sẽ thấy được điểm hay của nó nhờ vào khả năng tùy biến tuyệt vời và thật sự giao diện được làm bằng Tailwind Css mang một dáng vẻ khá là hiện đại.
Alpine.js: là một minimal framework js nó khá tương đồng với Vue.js. Nhưng Alpinejs lại sử dụng DOM thực thay cho DOM ảo như Vuejs. Nhờ vậy bạn không cần phải bước chuyển, kết xuất, bla bla... build nhờ mix hoặc là vite. Nhờ vậy mà thời gian code của bạn cũng được cải thiện đáng kể. Và nó thật sự là có thể thay thế cho JQuery một cách hoàn hảo.
Laravel: một framework PHP rất mạnh mẽ, cung cấp rất nhiều tính năng và công cụ hỗ trợ cho việc xây dựng ứng dụng web, giúp cho việc phát triển dự án nhanh hơn và dễ dàng hơn.
Livewire: Là một package cho Laravel giúp bạn xây dựng một SPA một cách đơn giản hơn thay vì phải việt Front-end và Back-end riêng biệt thì ở đây nó dung hợp lại thành một anh cao to đen hôi được xây dựng chủ yếu bằng Back-end và không cần viết các Route API cho từng hành động. Thật ra với livewire các bạn có thể xóa gần như hầu hết các Folder có sẵn và xây dựng một cấu trúc riêng cho mình mà nhìn nó đơn giản hơn.
TALL stack là một giải pháp cho full-stack development khá là Drama :D.
Vì sao nói là nhiều Drama vì có kẻ khen có kẻ ghét, có kẻ thì kỳ thị. Cơ bản bất kỳ giải pháp nào đếu có ưu và nhược riêng của nó. Nếu nó không tốt thì nó cũng không được phổ biến rộng rãi đến như vậy.
Rõ ràng là khi thực hiện dự án bạn sẽ thấy Livewire cũng rẻ lộ ra nhưng yếu điểm của nó về hiệu năng cũng như tích hợp với các thư viện js mà bạn hay sử dụng.
Công nghệ nào thì cũng có ưu và nhược điểm, việc lựa chọn sử dụng hay không là tùy ở bạn.
Nếu nói ưu điểm của TALL stack thì mình có một vài đầu dòng như sau:
- Nhanh
- Cộng đồng lớn
- Tiết kiệm công và nhân lực
- Rất đơn giản
Nhược điểm:
- Hiệu năng: rõ là vấn đề hiệu năng này có thể giải quyết được, nhưng mà nếu không cẩn thận thì nó là một vấn đề khá lớn.
- Cấu trúc thư mục tương đối là không rõ ràng: Đôi khi sẽ gặp khó khăn trong việc bảo trì. Hoặc giao code cho người khác.
TALL stack hay các stack khác, cũng tùy thuộc vào yêu cầu và mục đích của từng dự án cụ thể. Nếu bạn chưa chắc chắn về lựa chọn stack phù hợp cho dự án của mình, hãy tìm hiểu và so sánh các stack khác nhau để tìm ra giải pháp tốt nhất cho dự án của bạn.
Các trang web và dự án đang sử dụng TALL stack bạn có thể tham khảo:
- https://tailwindui.com/
- https://filamentphp.com/
- https://larabelles.com/
- https://devdojo.com/
- https://devdojo.com/tails/app
- https://eventy.io/
- ..... và còn nhiều thứ xịn xò nữa
Bạn cũng có thể bắt đầu với TALL stack ở đây: