Đã có gần 5 năm sử dụng Stylus, tôi cảm nhận được những cái tiện và bất tiện của ngôn ngữ này một cách khá sâu sắc.

Thời điểm 2011, đứng trên quan điểm là một lập trình viên, tôi cần một thứ nào đó có thể giúp logic-hóa CSS. Stylus là một ứng viên mạnh mẽ vì nó gọn và rất cách tân. Thời điểm đó cũng đã có SASS nhưng tôi thấy nó dùng Ruby để thông dịch - tôi thích NodeJS hơn vì nó đơn giản và tôi cũng đã sẵn đang làm việc với nó.

Điểm yếu của Stylus đó là nó ít được sử dụng bởi nhiều dự án CSS lớn như Boootstrap. Chính vì vậy việc tích hợp ngôn ngữ này vào các IDE cũng có chiều hướng ít được ưu ái. Khi xài WebStorm hay VS Code bạn sẽ thấy khó chịu với nhiều sự hiểu lầm trong việc thụt dòng (indent), code completion, chọn màu sắc... Có dấu đóng mở ngoặc nhọn {} trong mã code cũng không phải là việc tồi tệ. Đôi khi nó còn có lợi lớn trong việc gom mã (ẩn tạm thời những vùng đã làm xong) từ đó làm thông thoáng không gian làm việc.

Hiện tại thì team phát triển SASS cũng đã chuyển qua dùng Node với sự hỗ trợ thông dịch bằng một thư viện viết bằng C, tốc độ rất nhanh và ổn định: https://github.com/sass/node-sass. Đây là thời điểm tốt để chuyển qua dùng SASS.

Nói gì thì nói Stylus cũng có nhiều điều thú vị, ví dụ như việc cho phép khai báo biến ngay tại trường giá trị của thuộc tính CSS hay việc khai báo hàm tiện lợi hơn @mixin trong SASS. Ngoài ra, không sử dụng dấu chấm phẩy cũng khiến mã nguồn dễ đọc hơn tương tự như Python.

Có thể khi Stylus được hỗ trợ tốt hơn trong tương lai, tôi sẽ quay lại với người tình đáng yêu này. Bây giờ thì chúng ta tạm thời chia tay vậy nhé!