2010-02-07 21 views
16

Gần đây tôi đã đọc về HAML/SASS và tôi không chắc tại sao bất kỳ ai không muốn sử dụng nó. Nó có vẻ là rất dễ dàng để chuyển đổi, làm cho mọi thứ sạch hơn và hiệu quả hơn.Điều gì sẽ là một số lý do để quyết định chống lại HAML/SASS?


Cập nhật:

gì về việc sử dụng một hay khác? Hầu hết các khiếu nại (vài khiếu nại có) tôi nghe có vẻ là về HAML, sẽ có bất kỳ vấn đề trộn và kết hợp XHTML/HAML và CSS/SASS?


Cập nhật:

Xin lỗi, một bản cập nhật cuối cùng cho câu hỏi này. Dường như với tôi rằng việc chuyển đổi từ SASS sang CSS là không đau và đơn giản. Điều gì về việc chuyển đổi từ HAML sang HTML?

Trả lời

11

Nếu bạn đang sử dụng Rails, vâng. Đi cho nó. Tuy nhiên, một số vấn đề bạn sẽ gặp phải là bất kỳ nhà phát triển nào khác được đưa vào nhóm sau cũng sẽ phải học nó. Nếu bạn đã làm việc với một đám đông Rails lớn, điều đó là tốt, nhưng HAML/SASS có thể gây nhầm lẫn cho một nhà thiết kế đã làm việc với HTML/CSS thuần túy trong nhiều năm.

Nếu bạn không sử dụng Rails, tuy nhiên, một hệ thống tích hợp HAML/SASS tốt sẽ khó đi qua. Có một số ít ở đó, nhưng tôi tưởng tượng chúng không được hỗ trợ tốt hay xa với thông số kỹ thuật.

Nhưng, vâng. HAML/SASS chắc chắn đáng giá. Vấn đề duy nhất thực sự bạn sẽ đạt được là nó chưa đạt tiêu chuẩn.

Đối với kết hợp-n-phù hợp, HAML và SASS tương tự như vậy trong phong cách mà tôi muốn nói đi cho cả hai, nhưng nó, một lần nữa, đi xuống đến sở thích cá nhân. Hãy thử sử dụng cả hai trong một ngày và nếu bạn không thích một trong số chúng, hãy quay lại. Không có vấn đề công nghệ về nó, do đó, làm những gì bạn thích.

+0

có vẻ như với tôi rằng hầu như không có đường cong học tập để chuyển đổi, vì vậy có ai đó đã làm việc với HTML/CSS thuần túy học HAML/SASS có phải là một vấn đề không? – GiH

+2

Nó thực sự không nên, nhưng có những người bướng bỉnh ra có những người không thể học các phương pháp mới. Đó là một đoạn của một con, nhưng nó là người duy nhất tôi thực sự có thể nghĩ đến. HAML/SASS khá tuyệt vời và, nếu nó kết thúc là một sự phù hợp cá nhân cho bạn (hoặc nhóm của bạn), chỉ cần đi với nó. Nó không có nhiều lỗ hổng vốn có trong hệ thống, vì vậy mọi người có vẻ như họ sẽ là rào cản thực sự duy nhất. – Matchu

+0

Bạn không thể đơn giản hơn HTML/CSS. Bạn có thực sự nghĩ rằng "Vấn đề thực sự duy nhất" để chạy một quy trình ruby ​​để thêm thẻ kết thúc cho bạn dựa trên việc phân định tab của tệp nguồn của bạn là "nó chưa được chuẩn"? –

1

tại sao điều này ..

%p 
    hello world 

tốt hơn thế này ..?

<p>hello world</p> 

đầu mối .. Nếu bạn không làm ruby ​​thì không. Thật không may, việc thêm các thẻ đóng và dấu ngoặc ôm không thực sự là khía cạnh khó khăn nhất khi tạo trang web, vì vậy hầu hết các chuyên gia sẽ không thực sự quan tâm. Sử dụng bất cứ điều gì bạn thích.

+0

Đó chắc chắn là một quyết định cá nhân, nhưng OP đã thiết lập rằng anh ấy thích HAML/SASS tốt hơn. "Nó không thực sự tốt hơn" không phải là một con hợp lệ trong trường hợp này. – Matchu

+1

Nó có thể chữa trị góc khung dựa trên RSI. –

+0

Làm thế nào để đảm bảo OP đi cùng với sở thích của mình không hợp lệ? –

6

Có rất nhiều công cụ để làm việc với HTML và CSS. Cú pháp không đẹp, nhưng những cải tiến từ HAML và SASS dường như không ấn tượng với tôi, và đối với nhiều người thì không đáng để gặp rắc rối. Tất nhiên, đối với những ứng dụng web đang phát triển với các khung công tác khác nhau (khác với Rails), thậm chí còn khó tìm ra lý do để đi đến nỗi đau khi tích hợp thứ gì đó nước ngoài. (Ví dụ: chăm sóc để giải thích những gì tôi phải làm để tích hợp SASS vào môi trường Java/Stripes/JSP của tôi? :-)

+1

Sự khác biệt từ HTML đến HAML về cơ bản là mỹ phẩm, bạn nói đúng về điều đó. Tuy nhiên, SASS cung cấp chức năng không tồn tại trong CSS như biến, mixin, số học (cho kích thước và màu sắc), vòng lặp, và nhiều hơn nữa. Nó thực sự đặt CSS ở một cấp độ hoàn toàn khác.Phiên bản mới 3 của Sass thực sự hỗ trợ hai chế độ cú pháp, và bây giờ họ đang thúc đẩy cú pháp SCSS (CSS-lookalike với dấu ngoặc nhọn) vì mọi người đã bị treo lên trên cú pháp SASSpace nhận biết và không nhận ra có nhiều hơn nữa hơn là một cú pháp khác mà họ có thể không thích. –

+0

Sass không phải "tích hợp" vào môi trường của bạn. Nó chỉ tạo ra các tệp CSS tĩnh, vì vậy bạn có thể sử dụng bất kỳ phương thức nào để gọi nó. Tôi thường luôn sử dụng la bàn (một thư viện các chức năng kiểu dáng) trên đầu trang của sass, cung cấp một lệnh 'compass watch' để tự động biên dịch các tệp sass khi lưu. [bình chọn bạn -1 vì bạn đã có 6 (!), và nó không được thông báo đầy đủ ... không có cảm giác khó khăn. :-)] –

+2

@Andrew bởi "tích hợp" Tôi chủ yếu có nghĩa là "tích hợp vào quá trình xây dựng", mà tôi nghĩ rằng một công cụ như vậy sẽ phải, theo một cách nào đó. Hoặc là nó trở thành một phần của quá trình xây dựng ứng dụng, nếu không nó sẽ trở thành một bản dựng * riêng biệt. Dù bằng cách nào, nó phải "tích hợp" vào cách tôi làm công việc của mình. Ví dụ, công cụ "biên dịch tự động" sẽ hoàn toàn vô dụng trong loại môi trường xây dựng mà tôi thường sử dụng (và tôi thích). Câu hỏi đặt ra là đưa ra ý kiến, vì vậy hãy giảm ý kiến ​​của tôi dựa trên * của bạn * sự hiểu biết rõ ràng chưa đầy đủ về tình huống * của tôi có vẻ vô lý. – Pointy

5

Tôi đã tham gia các dự án tình nguyện mà đường cong cú pháp của HAML (khoảng trống cú pháp, tạo tự động của các thẻ vv) đã được xem như một rào cản: một điều nữa cho một lập trình viên mới vào dự án để tìm hiểu.

Cá nhân, tôi nghĩ SASS đáng giá, nhưng tôi lên không trung về HAML: đã sửa mẫu HAML trước khi có vẻ như việc gõ bạn không phải làm với HAML được khắc phục bằng thời gian bạn bỏ ra gỡ lỗi tại sao có lỗi trên mẫu của bạn.Đây có thể là quan điểm của một newbie (HAML).

+5

Tôi đồng ý, tôi thấy HAML khó làm việc hơn HTML thuần túy. Mỗi lần có một lỗi trong trình duyệt, bạn phải ánh xạ đầu ra HTML trở lại HAML gốc ... Tôi chỉ không hiểu lợi ích của nó là gì. Cú pháp mới, khoảng trắng không thể chấp nhận được và không bị suy nghĩ, lớp gỡ lỗi thêm. –

1

HAML/SASS có thể thực sự tuyệt vời để sử dụng, nhưng chúng sẽ giới thiệu các phụ thuộc cả về mặt kỹ thuật lẫn tri thức. Đây có thể không phải là vấn đề nếu môi trường dev và prod của bạn được kiểm soát và có thể dự đoán đủ, với người mới nhận đủ sự huấn luyện (hoặc được xem xét kiến ​​thức chủ đề trên đường vào tổ chức) để chạy trên mặt đất, nhưng tất cả đều là nguyên Được công nhận.

3

Tôi sẵn sàng đồng ý với câu hỏi; nó dễ chuyển đổi, cú pháp không phức tạp, và nó không làm cho mọi thứ sạch hơn và hiệu quả hơn. Nó cũng làm cho việc tạo ra HTML không hợp lệ trở nên khó khăn hơn.

Tôi cũng nghĩ rằng đường cong học tập đủ nông mà một lập trình viên không thể xử lý nó, có lẽ là một lập trình viên bạn tốt hơn mà không có trong nhóm của bạn. Điều đó nghe có vẻ khắc nghiệt, nhưng tôi tin điều đó.

Điều duy nhất tôi có thể thấy là nếu bạn đang phát triển trong ASP.NET hoặc một cái gì đó mà trang bị thêm Haml và Sass sẽ là một nỗi đau, là cách bất ngờ cho bất kỳ ai khác sử dụng nền tảng này, và có thể làm việc vặt duy trì trong môi trường sản xuất. Trên Rails mặc dù, đi cho nó.

2

Tôi không nghĩ rằng việc sử dụng HAML sẽ mang lại nhiều lợi ích cho dự án.

SASS, mặt khác, có hiệu quả giới thiệu các biến và tính toán và các tính năng hữu ích khác giúp bạn tiết kiệm thời gian và công sức trong thời gian dài cho các dự án lớn hơn.

Sử dụng SASS cực kỳ thông minh với bất kỳ dự án nào lớn hơn một biểu mẫu một trang đơn giản.

2

Tôi đã thử sử dụng SASS nhưng thấy rằng việc chỉnh sửa CSS bằng cách sử dụng MacRabitt's CSSEdit (Chỉ Mac) là cách dễ dàng và hiệu quả hơn cho cách tôi làm việc. Tôi là một người rất trực quan và muốn có một bản xem trước trực tiếp khi thực hiện các thay đổi đối với các bản định kiểu và không cảm thấy muốn đầu tư nhiều thời gian vào một thứ gì đó mà tôi không gặp phải vấn đề gì.

0

Từ góc nhìn của nhà phát triển, Haml và Sass hoàn toàn đá. Tuy nhiên: từ quan điểm của một nhà thiết kế, Haml và Sass có thể không đọc được. Nó thực sự phụ thuộc vào ai trong đội của bạn.

Nếu đó là một nhóm các nhà phát triển và/hoặc nhà thiết kế không ngại học DSL, thì hãy hoàn toàn tìm hiểu nó.

Nếu bạn có một nhóm hỗn hợp, nơi các nhà thiết kế đưa CSS và HTML của họ làm việc cho các nhà phát triển dịch sang Haml/Sass, chắc chắn.

Nếu bạn có một nhóm thiết kế chuyển công việc cho nhà phát triển VÀ công việc quay trở lại nhà thiết kế, bạn có thể không muốn sử dụng điều này vì nhà thiết kế có thể không sử dụng được công cụ của họ để chỉnh sửa tệp.

Nếu bạn có một nhóm nhỏ, nơi người tiếp thị và doanh nghiệp cần chỉnh sửa các trang web và họ chỉ biết HTML và một chút CSS nhẹ, thì có thể bạn không nên sử dụng Haml/Sass.

Tuy nhiên, bạn không thể thực hiện tuyên bố về chăn ở đây. Hãy xem xét rằng ít nhất với Rails bạn có thể trộn các kiểu mẫu trong các khung nhìn của bạn. Vì vậy, một số mẫu của bạn có thể là HTML thuần túy bị mắc kẹt trong các tệp .erb và các trang khác là tệp .haml. Bạn có thể có partials được một loại chèn vào các mẫu khác. (Tôi nghĩ rằng các loại trộn có lẽ là một thực hành tồi, nhưng nếu bạn chỉ cần "hoàn thành công việc" thì đó là một lựa chọn.)

+0

cảm ơn, tôi đã thực sự cập nhật câu hỏi của tôi theo câu trả lời của bạn. Làm cách nào để chuyển từ HAML sang HTML dễ dàng? – GiH

+1

Bạn có nghĩa là chỉ cần lấy lại HTML? Haml cuối cùng kết thúc bằng HTML. (Trình duyệt web của bạn không biết Haml là gì.) Bạn chỉ có thể hiển thị trang và sau đó thực hiện Xem Nguồn trong trình duyệt của mình và sao chép những gì bạn cần. Hoặc, trong Rails, chỉ cần hiển thị mẫu của bạn trở lại chuỗi và lưu mẫu đó vào một tệp ... Nếu bạn đang nghĩ đến việc chuyển đổi Haml -> Erb, hm, tôi không biết bất kỳ tiện ích nào ngoại tuyến. – Amy

2

Một điều mà hầu hết mọi người không nhận ra là HAML sucks for content. Thật tuyệt vời cho việc đánh dấu cấu trúc, nhưng đừng cố gắng và đẩy nó quá xa. (Bạn cũng có thể kết hợp HTML & khớp với HTML trong tệp HAML của mình!)

Sass hoàn toàn không thể thiếu, đặc biệt là về lâu dài. Nó không chỉ là viết các bảng định kiểu khi bạn có nó trong đầu, mà còn giữ chúng trên đường. Sass3 mới đưa câu hỏi cú pháp ra khỏi phương trình: bạn có thể chọn lựa nếu bạn thích cú pháp SCSS xoăn hơn.

0

Tôi đang sử dụng SASS trên dự án Django ngay bây giờ. Tôi thích nó và tôi sẽ tiếp tục sử dụng nó. Tuy nhiên, một vấn đề mà tôi đã tìm thấy là các thông báo lỗi không phải lúc nào cũng trực quan đặc biệt, đặc biệt nếu bạn rời khỏi }.

Các vấn đề liên quan