Σελίδα 1 από 3

AJAX ή κλασικό "static" design

Δημοσιεύτηκε: Τετ Νοέμ 29, 2006 8:50 pm
από drcypher
Το AJAX είναι μια τεχνική προγραμματισμού σε Web εφαρμογές που επιτρέπει ασύγχρονη επικοινωνία με τον server και δυναμική ανανέωση τμημάτων μιας σελίδας.

Παράδειγμα μικροεφαρμογών AJAX στην τρέχουσα μορφή του site είναι δυο μενού στα αριστερά της κεντρικής:
  • Online list: Υπάρχει ένα κυκλικό κουμπάκι (υποννοείται "refresh") με το οποίο ανανεώνεται μόνο το συγκεκριμένο κομματάκι της σελίδας, χωρίς να ξαναφορτώνεται όλο το περιεχόμενο
  • Ημερολόγιο: Το ημερολόγιο (το οποίο προς το παρόν δεν κάνει τίποτα παραπάνω από το να δείχνει τις ημέρες του μήνα) επιτρέπει την δυναμική πλοήγηση ανάμεσα σε μήνες, και πάλι ανανεώνοντας μόνο το συγκεκριμένο κουτάκι.
Βρίσκομαι ενώπιον ενός σοβαρού διλήματος. Όλο και περισσότερα κομμάτια του site εμφανίζονται ως υποψήφια να υλοποιηθούν με AJAX.

Τα προτερήματα είναι τα εξής:
  1. Γρηγορότερη απόκριση στον χρήστη (καθώς κατεβάζει μόνο τα κομματάκια html που χρειάζεται και όχι όλη τη σελίδα)
  2. Πιο βολική πλοήγηση (ειδικά σε περιπτώσεις που κάτι χρειάζεται να προστεθεί στη σελίδα ή να τροποιποιηθεί χωρίς να επηρεαστεί η υπόλοιπη σελίδα)
  3. Δυνατότητα πιο ευέλικτου σχεδιασμού user interface, καθώς οι προϋποθέσεις δυναμικού περιεχομένου ικανοποιούνται από τη στιγμή που δεχόμαστε το AJAX.
  4. Λιγότερη επιβάρυνση του server (σε μνήμη και χρόνο, το τελευταίο, δε, επηρεάζει και τον χρόνο αναμονής του χρήστη) καθώς εκτελεί λιγότερες εργασίες και λιγότερα SQL ερωτήματα (που γενικά αργούν).
Τα μειονεκτήματα είναι τα εξής:
  1. Browsers που δεν έχουν ενεργοποιημένη Javascript (προσοχή: όχι Java!) δεν θα μπορούν να δουν τη σελίδα
  2. Σε πρώτη φάση είναι είτε δύσκολο είτε αδύνατον να κρατήσετε bookmarks με την standard μέθοδο. Αν αυτό θεωρείται σημαντικό πρόβλημα, υπάρχει ούτως ή άλλως λύση
Με άλλα λόγια το βασικό μειονέκτημα είναι το (1). Απενεργοποιημένη Javascript μπορεί κανείς να έχει
  • Επειδή ο browser του είναι παλιός:
    • Internet Explorer < 5
    • Mozilla < 1.0
    • Netscape < 7
    • Opera < 7.6
    • Safari < 1.2
    Λύση: Αναβαθμίστε τον Browser σας. Γενικά αν έχετε κάτι από τα παραπάνω η ασυμβατότητα με AJAX είναι το τελευταίο πρόβλημα που έχετε ;)
  • Για λόγους ασφαλείας: Αρκετά sites εκμεταλλεύονται την Javascript για να προκαλέσουν ζημιά. Το semfe.gr δεν είναι τέτοιο, αλλά συχνά η υπερβολή οδηγεί σε πλήρη απενεργοποίηση της Javascript από χρήστες.
    Λύση: Προς το παρόν δεν υπάρχει. Τουλάχιστον μέχρι οι browsers να επιτρέψουν (απ)ενεργοποίηση της Javascript per domain, και όχι γενικά :)
Σημείωση: Παρακαλώ να ψηφίσετε στο Poll για τον εαυτό σας. Αν π.χ. συμφωνείτε με το AJAX αλλά φοβάστε ότι ίσως άλλοι θα έχουν προβλήματα, ψηφίστε "Ναι" και κάντε ένα post με το σχόλιό σας ;)

Είναι σημαντικό να αποκριθείτε το γρηγορότερο καθώς πρέπει να πάρω μια απόφαση για να συνεχίσω το σχεδιασμό ;)

Δημοσιεύτηκε: Τετ Νοέμ 29, 2006 8:53 pm
από drcypher
Δεν ξέρω αν είναι εμφανές ή προφανές, αλλά είμαι υπέρ :)

Να μην ξεχάσω και ένα σχόλιο: Π.χ. με ajax θα πατάτε να δείτε τα Μαθήματα ή το Πρόγραμμα Διδασκαλίας, τους Φακέλους με Υλικό, κτλ. και αντί να κάνει refresh όλη η σελίδα θα αλλάζει μόνο το κεντρικό κομμάτι.

Δημοσιεύτηκε: Τετ Νοέμ 29, 2006 9:05 pm
από Skliraios
εγω συμφωνω,μεχρι να βαλω και τη dsl ,θα βοηθαει πολυ καθως δε μου τρωει bandwith νομιζω το οποιο ειναι υπερπολυτιμο

Δημοσιεύτηκε: Τετ Νοέμ 29, 2006 9:34 pm
από Remali tis Fokionos Negri
Ε, μα ναι! Σιγά το πρόβλημα να ανανεωθεί ο browser...

Έχω καταλάβει ελάχιστα απ' όσα είπε ο Κώστας, αλλά για να το λέει, κάτι παραπάνω ξέρει. Άσε που αυτός κι ο Wizz θα κάνουν τη βρώμικη δουλειά! Α στα διάλα, στη καμπούρα μου θα το βάλω αυτό το ... πώς το λένε ... το java-
strιp;!;

Δημοσιεύτηκε: Τετ Νοέμ 29, 2006 10:44 pm
από O kanenas
Κι εγώ ναι ψήφισα. Δεν είναι καμια φοβερή δουλειά ένα update. Άσε που καλό είναι να πηγαίνουμε στο περίπου μαζί με την τεχνολογία και όχι να μένουμε 10 χρόνια πίσω (ναι, ποιος μιλάει τώρα...)

Δημοσιεύτηκε: Τετ Νοέμ 29, 2006 10:54 pm
από O_Xamenos
εγω ψηφισα οχι!!!η συνδεση μου πηγαινει πιο αργα και απο ριπλευ

Δημοσιεύτηκε: Τετ Νοέμ 29, 2006 11:31 pm
από antony07
Εγώ πάλι ναι!
Δεν βλέπω κάποιο λόγο να μην χρησιμοποιήσουμε το Web 2.0! Ο broswer μοιάζει όλο και περισσότερο με ένα πρόγραμμα,κάτι που είναι τρομερά εύχρηστο.
Και αφού πρόκειται για αναβάθμιση (δεν θα σκοτωθούν οι admins να γράφουν κώδικα),γιατί όχι?

Δημοσιεύτηκε: Τετ Νοέμ 29, 2006 11:37 pm
από Wizard
Η αλήθεια είναι ότι κώδικας πρέπει να γραφτεί και μάλιστα πολύς :P
Αλλά δεν είναι αυτό το θέμα. Το βασικό είναι κάτι να είναι εύχρηστο, κυρίως γρήγορο και να μπορούν όλοι να το χρησιμοποιούν.
Πλέον δε νομίζω ότι υπάρχει άνθρωπος που να μην έχει έναν browser πιο σύγχρονο από αυτούς που αναφέρει ο drcypher (τουλάχιστον τα στατιστικά πρόσβασης λένε ότι δεν υπάρχει). Συνεπώς ο μόνος τρόπος να έχει κάποιος απενεργοποιημένη τη javascript είναι να έχει πάει στις ρυθμίσεις και να το έχει κάνει.
Στην τελική ας επιλέξει για το semfe.gr να χρησιμοποιείται.
Εγώ πάντως είμαι υπέρ.
O_Xamenos, μάλλον δεν κατάλαβες. Χρησιμοποιώντας ajax θα τα κάνουμε αόρατα.... εεεε θα είναι πιο γρήγορο το site. Και δε νομίζω ότι δεν έχεις ie 5 τουλάχιστον!
Δοκίμασε π.χ. να πας στον επόμενο μήνα στο ημερολόγιο από την κεντρική σελίδα.
Θα προτιμούσες να ξανακατεβ΄σαεις όλη τη σελίδα?
;)

Μόνο τον sparc περιμένω να δω τι θα πει :P

Δημοσιεύτηκε: Πέμ Νοέμ 30, 2006 12:03 pm
από O_Xamenos
O_Xamenos, μάλλον δεν κατάλαβες. Χρησιμοποιώντας ajax θα τα κάνουμε αόρατα.... εεεε θα είναι πιο γρήγορο το site. Και δε νομίζω ότι δεν έχεις ie 5 τουλάχιστον!
Δοκίμασε π.χ. να πας στον επόμενο μήνα στο ημερολόγιο από την κεντρική σελίδα.

ενταξει τοτε....λεω ναι!!!βεβαια δεν μπορω να ξαναψηφισω

Δημοσιεύτηκε: Πέμ Νοέμ 30, 2006 6:11 pm
από Wizard
O_Xamenos έγραψε: ενταξει τοτε....λεω ναι!!!βεβαια δεν μπορω να ξαναψηφισω
Η ψήφος σου διορθώθηκε ;)

Δημοσιεύτηκε: Πέμ Νοέμ 30, 2006 6:50 pm
από O kanenas
Και τότε ποιος έχει ψηφίσει όχι? :twisted:  :P
Ας μας πει τους λόγους.

Δημοσιεύτηκε: Πέμ Νοέμ 30, 2006 6:56 pm
από el_greco
Τι το κουράζουμε; αφού η πλειοψηφία είναι... σοβιετικού τύπου! Κλεισ'το το ρημάδι το poll και πέρνα σε ajax!

Εκτός αν πεταχτεί κανείς και πει "στ'@@ μου που είστε 13, εγώ είμαι ένας και θα γίνει αυτό που λέω εγώ!!!" :P :P

Δημοσιεύτηκε: Πέμ Νοέμ 30, 2006 7:53 pm
από sparc
στ'@@ μου που είστε 13, εγώ είμαι ένας και θα γίνει αυτό που λέω εγώ!!! Περάστε σε AJAX επιτέλους...

Γράφω κώδικα σε AJAX πολύ καιρό τώρα και θέλω να δώσω μία συμβουλή, dr όσο απλοϊκή και αν σου φαίνεται αρχικά η υλοποίηση σε AJAX, μη βιαστείς να κάνεις patchαρίσματα εδώ και 'κει χωρίς κάποιο οργανωμένο και "scalable" σχέδιο από πίσω. Θα το βρεις μπροστά σου και θα πετάξεις πολύ κώδικα.
Υπό φυσιολογικές συνθήκες θα έπρεπε να ξαναγράψεις το portal από την αρχή...

Δημοσιεύτηκε: Σάβ Δεκ 02, 2006 12:45 am
από lookfwd
Με το AJAX δεν δουλεύουν τα κουμπιά back, forward και το history εκτός και αν χρησιμοποιηθούν hidden frames. Καλό είναι αλλά στην αρχή ίσως πρέπει να χρησιμοποιηθεί επιλεκτικά.

Δημοσιεύτηκε: Σάβ Δεκ 02, 2006 8:51 pm
από drcypher
Σωστό κι αυτό. Με μια πρόχειρη αναζήτηση στο Google, βρήκα κάποια πράγματα. Δυστυχώς τα hidden iframes απαιτούνται από τον γνωστό browser-φασίστα-που-πάντα-εκπλήσσει-με-το-πόσα-features-υλοποιεί-όπως-θέλει
τον Internet Explorer.

Υπάρχει μια ενδιαφέρουσα σελίδα που αναφέρει κάποια επιπλέον τεχνικά προβλήματα που προκύπτουν από την υιοθέτηση του AJAX. Τα πιο σημαντικά (όπως τα αξιολογώ εγώ) είναι:
  • Not using links I can pass to friends or bookmark
  • Not cascading local changes to other parts of the page
  • Blocking Spidering
  • Breaking the back button
Έχω σκεφτεί κάποια πράγματα. Όταν υπάρξει πρόοδος θα σας ενημερώσω.