Я изучаю методы оформления приложения Rails для мобильного использования.
Идея общая: использование одного набора стилей для мобильных браузеров и другого набора для традиционных.
Из того, что я могу сказать, есть два основных способа сделать это в Rails:
Использование вспомогательного метода для обнаружения пользовательского агента и последующего преобразования коммутатора.
application_controller.rb
private
def mobile?
request.user_agent =~ /Mobile|webOS/
end
helper_method :mobile?
application.html.erb
<% unless mobile? %>
<%= stylesheet_link_tag "core" %>
<%else%>
<%= stylesheet_link_tag "mobile" %>
<meta name="viewport" content="width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/>
<% end%>
Или с использованием медиазапросов в таблицах стилей
body {
// basic styles
}
@media all and (max-width: 600px) {
body {
// extra styles for mobile
}
}
@media all and (min-width: 600px) {
body {
// extra styles for desktop
}
}
Мой вопрос: каковы компромиссы? Один метод в целом лучше или есть хорошие варианты использования для обоих.
Заранее спасибо