Archive for Απρίλιος 2012|Monthly archive page

Σκέψεις για responsive web design

Τον τελευταίο χρόνο μία από τις πιο hot τεχνολογίες στο web είναι το responsive design.

Εν ολίγοις, χρησιμοποιώντας τις δυνατότητες που προσφέρει η HTML5 μπορεί κανείς να προσαρμόζει αυτόματα το layout της σελίδας αναλογα με τις διαστάσεις τις συσκευής (οθονη Η/Υ, tablet, smartphone κλπ). Η τεχνική είναι 100% client -side και δεν χρειάζεται να γίνει τίποτα από την μεριά του server. Ολα ξεκίνησαν από αυτο το αρθρο ενώ το θέμα πήρε μεγαλύτερη έκταση με αφορμή το redesign της Boston Globe.

Το βασικό πλεονέκτημα είναι ότι δίνει μια κομψή λύση σε ένα πρόβλημα που ταλαιπωρεί τους πάντες εδώ και χρόνια, στο mobile και όχι μόνο. 100% html/css, (σχεδόν) χωρίς scripting, χωρίς έξτρα server-side πολυπλοκότητα, χωρίς ατελείωτα detections στον server, στo cdn κλπ. Write once, play everywhere.

Υπάρχει όμως -κατά τη γνώμη μου- ένα βασικό πρόβλημα:

Για το responsive, όλα είναι θέμα επανατοποθέτησης του περιεχομένου. Δηλαδή δεν λαμβάνονται καθόλου υπόψη οι διαφορές στις συνθήκες χρήσης της κάθε συσκευής. Στο pc κάθεσαι σε μία καρέκλα και έχεις ποντίκι. Στο tablet η χρήση είναι υπό πιο χαλαρές συνθηκες και υπάρχει μόνο touch. Αντίθετα στο mobile βιάζεσαι και θέλεις με λίγες κινήσεις να δεις κάτι πολύ συγκεκριμένο. Για να ικανοποιήσεις όλες τις παραπάνω συνθηκες πρέπει ουσιαστικά να ξεκινήσεις με λευκή κόλλα για κάθε τύπο συσκευής. Πρέπει να επιλέξεις ποιο περιεχόμενο ή service έχει νόημα να βάλεις, πως θα φτάσει σε αυτό ο χρήστης (δομή/navigation) καθώς και το πως αυτό θα εμφανιστεί στην οθόνη. Δεν μεταφέρονται τα πάντα από το web στο tablet ή στο smartphone. Τα παραπάνω, σε συνδυασμό και με τη διαφορά μεταξύ ποντικιού και touch, επιβάλλουν εντελώς διαφορετικό front-end για κάθε περίπτωση και όχι απλά επανατοποθετηση περιεχομένου. Νομίζω ότι αν επιχειρήσει κανείς κατι τέτοιο μόνο με responsive, θα καταλήξει με κάτι που θα είναι υπερβολικά πολύπλοκο και fat.

Πιστεύω ότι είναι πολύ πιο αποτελεσματικό και τελικά λιγότερο χρονοβόρο οι τρεις διαφορετικές υλοποιήσεις (pc, tablet, mobile) να γίνονται server side πατώντας σε ένα κοινό back-end που θα περιέχει το business logic του site. To responsive είναι μια καλή λύση για sites που έχουν απλή δομή και σχετικά ομοιογενές περιεχομενο. Στις πιο σύνθετες περιπτώσεις οι «παραδοσιακές» μέθοδοι εξακολουθούν κατά τη γνώμη μου να είναι πιο αποτελεσματικές.

Advertisements