2011-10-29 2 views
9

Có một số mẫu ứng dụng (và một đá quý Rails) thêm HTML5 Boilerplate vào một ứng dụng Rails. Vì vậy, tôi đã điều tra và tổng hợp phân tích của HTML5 Boilerplate for Rails. Có vẻ như HTML5 Boilerplate không thêm nhiều mà không phải là đã có trong một ứng dụng Rails mới. Có gì hữu ích:Giá trị của HTML5 Boilerplate cho một ứng dụng Rails là gì?

tập tin mẫu humans.txt

dụ tập tin index.html cho một bố cục ứng dụng mặc định đoạn mã

viewport metatag

Google Analytics

có một số CSS trợ giúp như bình thường hóa CSS, trình giữ chỗ CSS Truy vấn phương tiện truyền thông và các lớp trợ giúp CSS nhưng dường như bạn sẽ có được tất cả chúng thứ hai với bộ công cụ CSS như Skeleton, Twitter Bootstrap hoặc Zurb Foundation.

Cuối cùng, HTML5 Boilerplate có rất nhiều thành phần cho các trang web cần hỗ trợ IE6, 7 và 8 chẳng hạn như nhận xét có điều kiện của IE, Modernizr và Chrome Frame. Nhưng nếu tôi không hỗ trợ IE6 và tôi đang sử dụng Twitter Bootstrap hoặc Zurb Foundation, tôi không nghĩ rằng tôi cần những thứ này.

HTML5 Boilerplate là một dự án tốt có nhiều đầu vào cộng đồng. Có rất nhiều lời khuyên tốt trên trang web của nó. Nhưng đối với một dự án Rails?

Tôi có thiếu gì đó không? Giá trị của HTML5 Boilerplate cho một ứng dụng Rails là gì?

+1

HTML5 Boilerplate không có nghĩa là để được sử dụng. Nó có nghĩa là để được đọc. Nó có nghĩa là một danh sách kiểm tra các tính năng bạn nên biết. Nếu tôi sử dụng HTML5 boilerplate tôi sẽ vứt bỏ 80% của nó bởi vì nó cồng kềnh như địa ngục, tuy nhiên 20% còn lại là hữu ích cho tôi, và tôi có thể đã quên 1% hoặc 2% của 20% mà không có HTML5 Boilerplate – Raynos

Trả lời

5

HTML5 Boilerplate có một vài tính năng khác nhau, thường được vay mượn từ các dự án khác.

  • Một máy chủ tập tin cấu hình để thiết lập timeout, biến sendfile trên, gzipping, hết hạn máy chủ, vv Tôi tin repo của họ có một vài phiên bản khác nhau của những tập tin này cho một vài máy chủ khác nhau (apache, nginx, nút, lighttpd). Bạn có thể tìm thấy các tệp cấu hình ở đây: https://github.com/h5bp/server-configs. Từ sự hiểu biết của tôi, Rails không có bất kỳ loại tương đương nào cho điều này.

  • Nó cũng đi kèm với một bản dựng tùy chỉnh của Modernizr để kiểm tra các tính năng HTML5 và CSS3 trong trình duyệt và sau đó thêm các lớp học vào thẻ <html> của bạn để bạn có thể sử dụng chúng trong bảng định kiểu hoặc tệp javascripts. Điều này cho phép bạn nhắm mục tiêu các trình duyệt có kiểu dự phòng hoặc tương tác nếu nó không hỗ trợ tính năng bạn đang cố gắng sử dụng. Một ví dụ cho CSS có thể là một cái gì đó như border-image mà không có hỗ trợ rộng rãi. Bạn có thể áp dụng border-image: cho các trình duyệt có thể sử dụng nó và cho những người khác bạn sẽ sử dụng lớp mà HTML5Boilerplate cung cấp (html.no-borderimage) để cung cấp kiểu sao lưu. Bạn cũng có thể kiểm tra các lớp này từ JavaScript của mình để chắc chắn bạn không nhắm mục tiêu các trình duyệt có mã họ không cần (hoặc không thể trả lời). Rails không có bất cứ điều gì trong nội bộ mà sẽ làm điều này ra khỏi hộp.

  • Respond.js cũng được đóng gói với Modernizr cung cấp cho bạn hỗ trợ truy vấn phương tiện trong các trình duyệt chưa có. Bạn đã đề cập bạn không nhắm mục tiêu IE6 nhưng IE7 & IE8 không hỗ trợ Truy vấn phương tiện (cũng không làm tốt số lượng trình duyệt trên thiết bị di động) và Respond.js sẽ cung cấp cho bạn hỗ trợ đó. Rails cũng không có bất cứ thứ gì tích hợp để xử lý.

  • Modernizr dựa trên yepnope.js để tải các thành phần bên ngoài để có sẵn cho bạn. Thư viện này cho phép bạn kiểm tra các tính năng và tải các tập lệnh/kiểu nhất định dựa trên kết quả của thử nghiệm đó. Điều này rất hữu ích nếu bạn đang đưa vào các tệp mà chỉ một số trình duyệt cần. Rails không làm điều này.

  • Sửa lỗi PNG. Bạn có thể không cần điều này nếu bạn không hỗ trợ IE6 nhưng nó đi kèm với một số sửa chữa png cho các trình duyệt cũ (ho IE6). Rails không thực sự xử lý loại điều này trên giao diện người dùng trên chính nó.

Cuối cùng bạn có thể lấy các phần bạn cần và đưa chúng vào ứng dụng của bạn mà không cần đưa vào toàn bộ HTML5 Boilerplate (và fwiw, đó là những gì tôi thường làm). Điều đó nói rằng, câu hỏi của bạn là "HTML5 Boilerplate giá trị gì mang lại cho ứng dụng Rails?" và câu trả lời là "rất nhiều", tùy thuộc vào việc các công cụ này có hữu ích hay không dựa trên những gì bạn đang làm. HTML5 Boilerplate không nhất thiết chồng chéo Rails theo bất kỳ cách nào.

Bạn có thể có được một danh sách đầy đủ các tính năng, mã hóa khuyến nghị phong cách tại HTML5 Boilerplate Docs

Bạn cũng sẽ có thể được quan tâm đến HTML5 Boilerplate for Rails Developers