Γρήγορο development : 5 συμβουλές για γρήγορα αποτελέσματα

Πολλοί δεν έχουν πίστη στο λαϊκό ρητό “το γοργό και χάριν έχει”, ωστόσο είναι πάρα πολλές οι φορές που απλά πρέπει να βγει κάτι στον αέρα γρήγορα! Οι πιο σκληροπυρηνικοί developers, ανήκα και εγώ κάποτε σε αυτήν την κατηγορία, θέλουν να ξεκινάνε τα πάντα από το μηδέν έτσι ώστε να ελέγχουν πλήρως τον κώδικα και γενικότερα να φτιάχνουν τα πάντα με τα χεράκια τους. Όπως καταλαβαίνεται, αυτές οι εποχές έχουν περάσει πλέον, και γενικότερα δεν εξυπηρετεί σε τίποτα να προσπαθείς να ξανά-ανακαλύψεις τον τροχό, όταν το έχει κάνει ήδη κάποιος άλλος… Παρακάτω δίνω 5 συμβουλές που πιστεύω πως εάν ακολουθηθούν, θα έχετε σε πολύ γρήγορο χρονικό διάστημα φοβερές βελτιώσεις στους development χρόνους σας, και θα σώσετε αρκετό χρόνο από κάθε σας project (και θεωρητικά θα έχετε περισσότερο χρόνο για την οικογένεια σας και τους φίλους σας, κάτι που φυσικά δεν ισχύει γιατί τα projects δεν σταματάνε ποτέ!). Έχουμε και λέμε λοιπόν :

1. Χρησιμοποιήστε frameworks και libraries

Η πιο απλή και χρήσιμη συμβουλή. Μην ξανά-ανακαλύπτετε τον τροχό όπως έγραψα και παραπάνω, το έχουν ήδη κάνει άλλοι για εσάς, εκμεταλλευθείτε το! Σε όλες τις server-side τεχνολογίες υπάρχουν frameworks που σας βοηθάνε να γράψετε ποιοτικότερο κώδικά πολύ πιο γρήγορα, πολύ πιο εύκολα και μάλιστα επαναχρησιμοποιήσιμο (σε αρκετές περιπτώσεις τουλάχιστον). Στις web εφαρμογές το pattern που έχει επικρατήσει πλέον, είναι το MVC (Model-View-Controller), και όλες οι server-side τεχνολογίες έχουν αναπτύξει πολλά και διάφορα frameworks γύρω από αυτό. Έτσι από την Ruby με το Rails ως και την PHP με το CakePHP, το αγαπημένο μου (αν και έχω καιρό να ασχοληθώ) CodeIgniter ή το πολύπλοκο Zend, δεν υπάρχει περίπτωση να μην βρείτε κάποιο framework που να κάνει την δουλειά σας πιο γρήγορα και παραγωγικά. Μέχρι και η Microsoft εισήγαγε MVC δυνατότητες στη ASP.ΝΕΤ, οπότε ποιος ο λόγος να μην εκμεταλλευθείτε το συγκεκριμένο pattern;

Στην client-side μεριά τώρα, αν δεν θέλετε να χρησιμοποιήσετε για διάφορους λόγους CSS frameworks/libraries, θα είσασταν αρκετά περίεργοι (για να μην γράψω κάτι πιο χοντρό), εάν προσπαθούσατε να κάνετε όλα αυτά τα ωραία Javascript animation/εφέ και AJAX κολπάκια χωρίς την χρήση κάποιας library… Και εδώ οι επιλογές είναι πάρα πολλές με σημαντικότερες το jQuery, MooTools, Prototype και YUI, οπότε δοκιμάζετε και κρατάτε αυτήν που σας ταιριάζει και που κάνει  γρηγορότερα την δουλειά!

2. Χρησιμοποιήστε έναν πολύ καλό text editor ή κάποιο IDE

Φυσικά και μπορείτε να κάνετε την δουλειά σας με το Notepad των Windows, το ερώτημα όμως είναι πόσο γρήγορα την κάνετε? Το θέμα text editor ή IDE είναι κάτι καθαρά προσωπικό και ο καθένας έχει τις προτιμήσεις του. Προσωπικά προτιμώ τους text editors μιας και είναι πιο ελαφριοί από τα IDE (επίσης δουλεύω ελάχιστα σε server-side επίπεδο πλέον), ενώ θέλω οπωσδήποτε να υποστηρίζουν και τα παρακάτω χαρακτηριστικά :

  • syntax highlighting
  • auto-fill
  • syntax suggestions

Τα IDE έχουν συνήθως και άλλα πιο εξεζητημένα χαρακτηριστικά, όπως FTP access, διαγνωστικά εργαλεία, εργαλεία για debugging και διάφορα άλλα που αν και χρήσιμα, συνήθως κάνουν αρκετά πιο βαριές τις εφαρμογές, κάτι που δεν μ’ αρέσει. Έτσι προτιμώ να χρησιμοποιώ τον Ε Τext Εditor (μοιάζει με το TextMate), Intype (project που δυστυχώς αργοπεθαίνει) και Notepad ++ από τα διάφορα IDE όπως Εclipse, NetBeans, Aptana Studio και Komodo IDE. Όπως και να έχει δοκιμάστε μερικά από αυτά, βρείτε πιο σας ταιριάζει και γράψτε πιο γρήγορα κώδικα!

3. Reusable code ή free code

Έχετε γράψει κάτι ανάλογο παλιότερα; Τότε απλά προσαρμόστε το στις καινούργιες απαιτήσεις σας και ξανά-χρησιμοποιήστε το! Επίσης, ρίχνετε πάντα μια ματιά σε code snippets που μπορείτε να χρησιμοποιήσετε. Το μόνο που πρέπει να προσέξετε πάρα πολύ σε αυτήν την περίπτωση είναι η άδεια χρήσης τους. Καλό είναι επίσης να δίνετε και credits στους δημιουργούς (έστω και εάν δεν το ζητάνε), αλλά να το αναφέρεται και στους υπόλοιπους εμπλεκόμενους στο project (εάν υπάρχουν).

4. Σωστά debugging tools

Το θέμα debugging είναι και αυτό αρκετά προσωπικό. Σε server-side επίπεδο μπορείτε να το κάνετε είτε μέσω των errors/warnings που παίρνεται κατευθείαν από τον server και την server-side γλώσσα που χρησιμοποιείται, είτε μέσω IDE εργαλείων που ανέφερα και πιο πάνω.

Σε client-side επίπεδο τώρα, απλά πρέπει να έχετε το Firebug! Ειλικρινά δεν μπορώ να καταλάβω πως μερικοί συνάδελφοι δεν το χρησιμοποιούν… Το Web Developer Toolbar είναι και αυτό ένα πολύ αξιόλογο εργαλείο, ωστόσο πιστεύω πως το Firebug κάνει τα πάντα και συμφέρει… Για Internet Explorer τώρα (και μόνο για να λύσετε προβλήματα που έχουν προκύψει στον συγκεκριμένο browser), μπορείτε να χρησιμοποιήσετε την Internet Explorer Toolbar, η οποία όμως δεν θα σας βοηθήσει και πολύ, ωστόσο κάτι είναι και αυτό. Τέλος περιμένω να δω και το Opera Dragonfly, αν και πιστεύω πως πολύ δύσκολα θα καταφέρει να κερδίσει τον συνδυασμό Firefox/Firebug. Δεν είναι άλλωστε τυχαία η επιλογή του συγκεκριμένου συνδιασμού από όλους σχεδόν τους web designers/developers…

5. On-line collaboration

Το θέμα συνεργασίας αλλά και γενικότερα project management, είναι ένα από τα πιο δύσκολα, ιδιαίτερα όταν οι εμπλεκόμενοι βρίσκονται σε διαφορετικές πόλεις, έχουν διαφορετικά time zones κτλ. Φυσικά με το πατροπαράδοτο e-mail μπορείτε να λύσετε τέτοια προβληματάκια, όταν όμως το project είναι μεγάλο και η ομάδα αποτελείτε από πολλά μέλη, τότε η χρήση e-mail πιο πολύ θα καθυστερεί παρά θα βοηθάει την κατάσταση… Αντιθέτως web collaboration εργαλεία, όπως το Basecamp για παράδειγμα, μπορούν να οργανώσουν καλύτερα ένα project σε όλα τα επίπεδα, όπως σε επίπεδο συνεργασίας, to do tasks, project status, ανταλλαγή αρχείων, ενημέρωση των μελών κτλ. Γιατί λοιπόν να σπαταλάτε πολύτιμο χρόνο στο παλιομοδίτικο e-mail; Προσωπικά εκτός από το Basecamp το οποίο χρησιμοποιώ για το CSS3.gr μου αρέσει πολύ και το Google Groups το οποίο χρησιμοποιώ σε μικρότερα projects αλλά πολλές φορές και μόνος μου!

Αυτά τα λίγα από εμένα. Όποιοι έχετε βάλει στόχο να κάνετε γρήγορα κάποια πράγματα ακολουθήστε μερικές από τις παραπάνω συμβουλές, όλο και πιο γρήγοροι θα γίνεται 😉

Ο καζαμίας 2008 του web developer

Το ξέρω πως έχω να γράψω καιρό, ωστόσο μία η προσαρμογή στην καινούργια δουλειά, μία η  μετακόμιση σε νέο σπίτι (χωρίς internet access προς το παρόν!) καθώς και διάφορες άλλες υποχρεώσεις, άφησαν το blog μου λίγο πίσω! Μην ανησυχείτε όμως το παρακάτω post θα σας καλύψει πλήρως, μιας και θα σας ενημερώσει για το τι θα γίνει στο μέλλον, και πιο συγκεκριμένα μέσα στο 2008! Έχουμε και λέμε λοιπόν :

  • Ο Internet Explorer 8 και ο Firefox 3 θα κονταροχτυπηθούν αλύπητα για μία ακόμη φορά για την πολυπόθητη θέση του default web browser στα συστήματα μας! Το περίεργο είναι πως ο Internet Explorer 8 έχει αυτήν την φορά καλύτερη rendering μηχανή από τον Firefox 3, ο οποίος όμως παραμένει σταθερά η default λύση των web developers (σε όλες τις πλατφόρμες, συμπεριλαμβανομένου πλέον και του OS X).
  • Ο Safari κερδίζει όλο και περισσότερους χρήστες! Με τις πωλήσεις της Apple να πηγαίνουν από το καλό στο καλύτερο, καθώς και με τις φορητές εκδόσεις του Safari browser για iPod touch, iPhone (generaton 1 και 2 πλέον) καθώς και του νέου ultra-portable laptop της, ο Safari έχει ήδη καταφέρει να κερδίσει ένα σεβαστό ποσοστό χρηστών όπου πλέον κανένας web developer δεν μπορεί να αγνοήσει!
  • Μετά την Microsoft και την καινούργια ASP.ΝΕΤ η οποία και μεταπήδησε σε λογική MVC, η Zend, εταιρεία και δημιουργός της PHP λανσάρει και αυτή πλέον το επίσημο MVC PHP framework! Όλοι δείχνουν να ακολουθούν τον δρόμο που χάραξε η Ruby και το Rails σε αυτόν τον τομέα!
  • Οι πρώτες CSS3 εντολές υποστηρίζονται ήδη από πολλούς mainstream browsers, και τα πρώτα tutorials και τεχνικές έχουν κάνει ήδη την εμφάνιση τους! Το web design αποκτά ακόμα περισσότερα όπλα στο οπλοστάσιο του!
  • Το ελληνικό internet παραμένει άσχημο και στάσιμο, με τις ελληνικές εταιρείες να μην μπορούν ακόμα να καταλάβουν ούτε να εκμεταλλευτούν τις δυνατότητες του. Ευτυχώς υπάρχουν πάντα και οι ευχάριστες εξαιρέσεις!

Καλό 2008 και είμαι περίεργος να δω σε πόσα από τα παραπάνω θα πέσω μέσα…

Δωρεάν, On-line course για όσους θέλουν να μάθουν Ruby on Rails!

Για όσους ενδιαφέρονται να μάθουν να προγραμματίζουν στην γλώσσα προγραμματισμού Ruby και φυσικά στο διάσημο Rails Framework, το site Ruby Learning κάνει την καλύτερη προσφορά αυτήν την στιγμή! Όπως αναφέρει σε πρόσφατο post του, μπορείτε να γραφτείτε εντελώς δωρεάν στο course με τίτλο The Free Online Ruby Programming Course – FORPC101, το οποίο ξεκινάει την Δευτέρα 7 Ιανουαρίου 2008! Το πρώτο tutorial είναι ήδη έτοιμο ενώ ο κύριος Satish Talim, υπεύθυνος του course και των μαθημάτων, έχει προς το παρόν 1730 μαθητές! Όποιος ενδιαφέρεται να γίνει συμμαθητής μου τον περιμένω 😉 .

Νέα προηγούμενων εβδομάδων

Παρακάτω μπορείτε να διαβάσετε πάρα πολύ περιληπτικά (στην κυριολεξία) τα νέα των προηγούμενων εβδομάδων!

  • Gran Paradiso Alpha 8 : Η νεότερη alpha version του Gran Paradiso (ή αλλιώς Firefox 3). Δεν την δοκίμασα αλλά άκουσα πολύ καλά λόγια (ιδιαίτερα από χρήστες Mac).
  • e-Bay Desktop (beta) : Ένας browser από το γνωστό site αγοροπωλησιών και πλειστηριασμών, που φυσικά θα κάνει ευκολότερη (και ασφαλέστερη σύμφωνα με το site) την ζωή των χρηστών του.
  • FatFreecart : Άλλη μία πολύ καλή ιδέα και υλοποίηση! Με το FatFreecart μπορείτε πανεύκολα και μέσα σε δευτερόλεπτα να δημιουργήσετε το δικό σας mini e-comerce site έτσι ώστε να πουλάτε πανεύκολα τα T-shirt και CD σας. Οι υπηρεσίες συναλλαγής που υποστηρίζει είναι το PayPal και το Google checkout.
  • Microsoft Office live (beta) : Η λύση της Microsoft στον γρήγορο και εύκολο σχεδιασμό web site. Η δωρεάν υπηρεσία προσφέρει 500MB storage και 25 custom e-mail.
  • Joost (beta) : Το Joost, ή αλλιώς η on-line δωρεάν τηλεόραση (όπως αυτοδιαφημίζεται), βγαίνει επιτέλους από την κλειστή beta, και πλέον ο καθένας μπορεί να χρησιμοποιήσει δωρεάν την πρώτη public beta (τώρα πως το κατάφεραν αυτό -να πηγαίνουν από beta σε beta – είναι άλλο θέμα)! Η υπηρεσία είναι αρκετά εντυπωσιακή και αξίζει να της ρίξετε μια ματιά, ιδιαίτερα εάν έχετε γρήγορη σύνδεση.
  • Δωρεάν βιβλίο Ruby on Rails από το Sitepoint.com : To Sitepoint.com δωρίζει την PDF έκδοση του βιβλίου της “Build your own Ruby on Rails web applications”! Προλάβετε γιατί η προσφορά ισχύει για 48 μέρες ακόμα! Πολύ καλή κίνηση από το Sitepoint.com (και είχα πληρώσει αρκετά δολάρια για το ίδιο βιβλίο πριν από 2 μήνες)!!!
  • Filespot : Μια πολύ ενδιαφέρουσα και με πολλές προοπτηκές online υπηρεσία διαχείρισης αρχείων. Το interface του αντιγράφει αρκετά τον Windows Explorer των Vista! Όποιος το έχει δοκιμάσει ας κάνει ένα comment.
  • 2007 Web Awards : Όλες οι κατηγορίες και υποψιφιότητες των Web Awards για το έτος 2007!
  • Σεμηνάρια από το Πολυτεχνείο : Σεμινάρια (επί πληρωμής δυστυχώς) του Εθνικού Μετσόβιου Πολυτεχνείου για διάφορους τεχνολογικούς κλάδους! Με χαρά είδα πως και το web design και το web development περιλαμβάνονται!