2011-07-21 8 views
7

Rozglądam się po metodach stylizacji aplikacji Rails do użytku mobilnego.Przełączanie w stylu mobilnym w Rails 3, metoda pomocnicza w stosunku do zapytań o media

Pomysł jest powszechny, przy użyciu jednego zestawu stylów dla przeglądarek mobilnych i innego zestawu dla tradycyjnych.

Z tego co mogę powiedzieć, istnieją dwa podstawowe sposoby na zrobienie tego w Rails:

stosując metodę pomocnika wykryć agenta użytkownika, a następnie preform przełącznika.

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%> 

lub przy użyciu nośnika zapytań w arkuszach stylów

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 
} 
} 

Moje pytanie brzmi, jakie są kompromisów? Czy jedna metoda jest ogólnie lepsza, czy też istnieją dobre przykłady użycia dla obu.

Z góry dziękuję

Odpowiedz

9

To zależy.

Na moim personal website używam zapytań o media do zmiany stylów w przeglądarkach mobilnych. Działa to całkiem dobrze w tym przypadku, ponieważ strona zawiera bardzo niewiele obrazów, a większość zmian stylu ma na celu zmniejszenie rozmiaru czcionki w witrynie i zmniejszenie jej rozmiarów.

Niestety, jednak, zapytania o media dotyczą not every mobile phone understands. Co więcej, w zależności od tego, co robisz z zapytaniami o media, możesz być sacrificing performance by using media queries. Na przykład, zmniejszanie wyświetlania dużych obrazów lub ukrywanie zawartości negatywnie wpływa na wydajność w telefonach komórkowych z ograniczeniami sieciowymi.

W przypadku skomplikowanych witryn internetowych można również renderować zupełnie różne witryny internetowe w celu dostosowania funkcji mobilnych. Korzystanie z podejścia "pomocnika" pozwala dostosować więcej niż tylko arkusz stylów. Dzięki temu użytkownicy mobilni uzyskują dostęp do "normalnej" strony internetowej na swoim telefonie, przekazując dodatkowy parametr, który jest brany pod uwagę w metodzie mobile?.

Podsumowując: jeśli jest to proste, zapytania o media są łatwym sposobem dostosowania wyglądu ekranu, jednak wrażenia z telefonu komórkowego będą prawdopodobnie bardziej holistyczne niż tylko drobne modyfikacje ekranu. Próba użycia CSS w celu dostosowania całego doświadczenia nie jest dobrym pomysłem.

Powiązane problemy