skip to main content

προγραμματίζουμε

Στην ίδια λογική που εφαρμόζουμε στα προηγούμενα βήματα, ανάλυση και σχεδιασμό, συνεχίζουμε και στο κομμάτι του προγραμματισμού. Δηλαδή, προγραμματίζουμε ειδικά πάνω στις ανάγκες του κάθε πελάτη. Σίγουρα έχουμε έτοιμη μια κοινή βάση πάνω στη οποία ξεκινάμε, η οποία όμως έχει σχεδιαστεί και κατασκευαστεί από εμάς έτσι ώστε να καλύπτει όλες τις βασικές ανάγκες διαχείρισης και προβολής μιας σύγχρονης ιστοσελίδας. 
Αλλά, ας τα παρουσιάσουμε όλα τα σχετικά με τον προγραμματισμό στοιχεία με μια πιο λογική σειρά.

HTML CSS

Η html είναι η γλώσσα που χρησιμοποιείται ευρέως για την παρουσίαση των ιστοσελίδων. Η τεχνολογία της είναι ή ίδια σχεδόν από την δημιουργία του διαδικτύου η πιο πρόσφατη όμως έκδοσή της, η html5, είναι σαφώς πιο εξελιγμένη και ικανή για την καλύτερη δυνατή παροχή  των δεδομένων σε ένα οποιαδήποτε μέσο. Ναι. Σε οποιοδήποτε. Όχι μόνο σε ένα web browser αλλά σε όλο και περισσότερες συσκευές και συστήματα συναντούμε πλέον όλο και περισσότερη αποδοχή και χρήση της html. Στη ουσία ο κώδικας της html είναι αυτό που δίνει κάποιες βασικές οδηγίες στον σύστημα προβολής σχετικά με το περιεχόμενο καθώς και το ίδιο το περιεχόμενο. Αυτό το περιεχόμενο ταξιδεύει στο διαδίκτυο χωρίς στοιχεία μορφοποίησης μέχρι να φτάσει στη συσκευή προβολής, έστω των web browser οπότε παρουσιάζεται σύμφωνα με τις οδηγίες παρουσίασης.  Εδώ έρχεται ο ρόλος του css που δεν είναι άλλως από το σύνολο των οδηγιών που χρειάζεται ο browser για να αποτυπώσει το περιεχόμενο της html με το επιθυμητό οπτικό αποτέλεσμα. Και το css έχει πρόσφατα αναβαθμιστεί σημαντικά στην έκδοση css3 προσφέροντας έτσι ιδιαίτερα σημαντικές δυνατότητες στους web developers για να καταφέρουν να παρουσιάσουν το περιεχόμενο με τρόπους που παλιότερα ή δεν ήταν καν εφικτοί ή που απαιτούσαν ιδιαίτερα επίπονες διαδικασίες.

Jquery

Όλα τα δεδομένα που παρουσιάζονται στην οθόνη του υπολογιστή, στον browser δηλαδή, είναι στην ουσία μια στατική απεικόνιση του περιεχομένου που επιτρέπει στον επισκέπτη να διαβάσει/παρακολουθήσει/πλοηγηθεί σε ότι τον ενδιαφέρει. Από μόνο του αυτό το περιεχόμενο έχει πολύ περιορισμένες δυνατότητες interaction με τον χρήστη (το css3 δίνει κάποιες δυνατότητες διάδρασης που είναι όμως πολύ περιορισμένες).
Τις ανάγκες διάδρασης έρχεται να καλύψει η Javascript που είναι μια γλώσσα που εκτελείται στον browser κατά  της διάρκεια της προβολής μιας ιστοσελίδας. Έτσι μπορούμε να δημιουργήσουμε κάποια κινούμενα μέρη στη σελίδα (πχ μια αλληλουχία εναλλασσόμενου περιεχομένου) ή τη δυνατότητα δημιουργίας κάποιου πιο ειδικού animation που να ενεργοποιείται από την δράση του επισκέπτη (πχ κάποιο κλικ).
Το jquery είναι στην ουσία μια βιβλιοθήκη που βοηθάει τους javascript προγραμματιστές να γράφουν τον κώδικά τους πιο γρήγορα, πιο καθαρά και πιο άμεσα συμβατά με όλους τους browsers.

PHP, MySQL, Apache

Όλα τα παραπάνω αφορούν στο προγραμματιστικό κομμάτι που καθορίζει και επηρεάζει την εμφάνιση του περιεχομένου στην οθόνη. Πέρα από αυτά όμως υπάρχει και ένα άλλο μεγάλο και καθοριστικό κεφάλαιο στη διαδραστικότητα αλλά και στη συντήρηση μιας ιστοσελίδας. Το κεφάλαιο αυτό αφορά στη γλώσσα προγραμματισμού που χρησιμοποιείται στο παρασκήνιο προκειμένου να «σερβίρει» το κατάλληλο περιεχόμενο στον κάθε επισκέπτη. Η επιλογή μας για αυτό το κομμάτι είναι: η γλώσσα PHP, η βάση δεδομένων MySQL και ο webserver Apache. Τα βασικά στοιχεία της PHP και της MySQL μπορείτε να τα βρείτε σε διάφορους δικτυακούς τόπους καθώς είναι η επιλογή μάλλον της πλειοψηφίας των web προγραμματιστών. 
Το σημείο όμως που υπερτερούμε στο συγκεκριμένο κομμάτι,1 είναι η διάθεση και η δυνατότητα για συνεχή αναβάθμιση των υπηρεσιών μας που, σε συνδυασμό με τους dedicated server που μας παρέχει η Datahost, μας οδηγεί σε εγκατάσταση νέων (ή και παλιότερων) ειδικών μηχανισμών/συστημάτων που επιτρέπουν την εξειδίκευση της κάθε ιστοσελίδας.
Ενδεικτικά αναφέρουμε κάποια συστήματα που λειτουργούν εγκατεστημένα στους server μας: ImageMagic, ffmpeg, mencoder, tcpdf, fontforge. Φυσικά αυτά, με τον τρόπο που παρουσιάζονται εδώ δεν είναι παρά κάποιες ακόμη άγνωστε λέξεις. Για το λόγο αυτό σας παροτρύνουμε να διαβάσετε στο blog μας μερικά από τα case studies στα οποία αναφέρονται, ανάμεσα σε άλλα, και κάποια ειδικά τεχνολογικά χαρακτηριστικά.


CMS

Το CMS (content management system) είναι να το σύστημα μέσω του οποίου γίνεται η διαχείριση του περιεχομένου μιας ιστοσελίδας. Σε αυτό το σύστημα έχει πρόσβαση ένας ή περισσότεροι διαχειριστές και μπορούν, μέσω τυποποιημένων διαδικασιών, να τροποποιούν τα κείμενα, τις εικόνες και όλα τα απαραίτητα στοιχεία μιας ιστοσελίδας. Υπάρχουν διαθέσιμα πολλά δωρεάν, ή επί πληρωμή, cms με πολλές δυνατότητες ενσωματωμένες, όπως για παράδειγμα  τα: Drupal, Wordpress, Joomla. 
Στη gravity επιλέξαμε να μην χρησιμοποιούμε έτοιμα cms αλλά να φτιάξουμε το δικό μας. Με αυτόν τον τρόπο μπορούμε να έχουμε καλύτερο έλεγχο όλων των υπηρεσιών και των συστημάτων των ιστοσελίδων που κατασκευάζουμε, αφαιρώντας περιττά στοιχεία και προσθέτοντας άλλα, ειδικά φτιαγμένα για τις ανάγκες του κάθε πελάτη.
Μέσω του cms μας, οι πελάτες μας έχουν τη δυνατότητα να διαχειριστούν στο σύνολό τους τα κείμενα της σελίδας (στατικές σελίδες, άρθρα, microcopy), να προσθέσουν και να επεξεργαστούν εικόνες, αρχεία προς download, links, videos (είτε μέσω εξωτερικού παρόχου είτε φιλοξενούμενα στο server μας). Μπορούν επίσης να δημιουργήσουν νέες επιλογές στα μενού, να επεξεργαστούν τα meta tags τους και τα urls τους.
Επίσης, μέσω του cms γίνονται και όλες οι άλλες ενέργειες που αφορούν σε ειδικούς μηχανισμούς της σελίδας, όπως: αποστολή newsletter σε εγγεγραμμένους χρήστες, διαχείριση εγγεγραμμένων χρηστών/προϊόντων/παραγγελιών κλπ. 
Περαιτέρω περιγραφή του cms δεν έχει ιδιαίτερη σημασία καθώς, όπως αναφέρουμε και παραπάνω, όλες οι δουλειές μας είναι custom. Συνεπώς είναι πολύ πιθανό να σχεδιάσουμε κάτι εντελώς προσαρμοσμένο στις δικές σας ανάγκες που να μην συμβαδίζει καθόλου με ότι έχουμε ήδη εντάξει στο cms μας.

Ειδικές εφαρμογές

Δεν θα μπορούσαμε να αποκαλούμαστε custom web αν δεν αντιμετωπίζαμε την υπόθεση ειδικές εφαρμογές ως ένα σημαντικό προτέρημά μας. Πιστεύουμε πως η διαφοροποίηση είναι σημαντικός παράγοντας επιτυχίας (όχι μόνο στις ιστοσελίδες αλλά γενικά). Έτσι πάντα, σε κάθε δουλειά μας, προσπαθούμε να βρούμε και να εφεύρουμε τους τρόπους που μπορεί να ξεχωρίσει η ιστοσελίδα του πελάτη μας από τις υπόλοιπες. Εκτός από το προφανές κομμάτι του σχεδιαστικού, υπάρχουν και μια σειρά από ειδικές εφαρμογές που προτείνουμε στον πελάτη μας, πάντα μετά από τη σχετική ανάλυση, έτσι ώστε να μπορέσει μέσα από την ιστοσελίδα του να οργανώσει ή να επικοινωνήσει καλύτερα τη δουλειά του. 
Οι ειδικές εφαρμογές που σχεδιάζουμε για τον κάθε πελάτη αξιοποιούν την εμπειρία μας και τις γνώσεις μας σε όλο το φάσμα τους, είτε αφορά σε απλό προγραμματισμό (php, javascript, ajax), σε σχεσιακές βάσεις δεδομένων, σε σύνδεση λογισμικών, στην τεχνολογία των emails, στην ανάλυση στατιστικών δεδομένων, στα social media αλλά και σε θεωρητικό επίπεδο, στη συμπεριφορά των επισκεπτών μιας ιστοσελίδας, σε δυνατότητες και τρόπους προώθησης, σε εναλλακτικές τεχνολογίες κλπ.
Έτσι, ενδεικτικά, σας αναφέρουμε κάποιες, άσχετες μεταξύ τους, ειδικές εφαρμογές που έχουμε υλοποιήσει σε συνεργασία με τους πελάτες μας:
  • Σύστημα επιλογής και δέσμευσης θέση σε πλάνο θεατρικής αίθουσας (ticketservices.gr)
  • Σύστημα αυτόματου υπολογισμού κόστους εκτύπωσης με δυναμικά κριτήρια (pressxpress.gr)
  • Ηλεκτρονική κοινότητα χρηστών: members/chat/blog/forum/friendships (bestrong.org.gr)
  • Σύστημα αυτόματης δημιουργίας pdf αρχείων προς εκτύπωση τυπογραφείου βάσει σχεδιαγραμμάτων πελατών (b2b για το typografisa.gr)
  • Encode/rencode/transform/host/stream videos (για το Ίδρυμα Μιχάλης Κακογιάννης)
  • Σύστημα εσωτερικής και εξωτερικής επικοινωνίας και προβολής τοπικών αλλά συνδεδεμένων οργανώσεων (spitha-kap.gr)
  • Σύστημα μαζικού ή μεμονωμένου upload και reencode του συνόλου του έργου του κου Μίκη Θεοδωράκη ώστε να αναπαράγεται ελεύθερα από τη σελίδα της Σπίθας (spitha-kap.gr)
  • Σύστημα αυτόματης διάθεσης προηχογραφημένων ραδιοφωνικών εκπομπών σε ραδιοφωνικούς σταθμούς (poteoposprin.gr /offline)
  • Σύστημα διαχείρισης σπουδών/ύλης/καθηγητών/σπουδαστών/εργασιών/προγράμματος (arcadiacenter.edu.gr /offline).
  • Σύστημα δυναμικής/μαζικής διαχείρισης προϊόντων για πωλήσεις λιανικής/χονδρικής/εξαγωγών (gregioeshop.gr)
Αν έπρεπε να περιγράψουμε όλα αυτά που εννοούμε σχετικά με τις ειδικές εφαρμογές που αναλαμβάνουμε με λίγες μόνο λέξεις, θα λέγαμε: Ναι, μπορούμε να το υλοποιήσουμε!