webtrends

Σάββατο, 21 Ιουλίου 2012 07:25

Laravel - Ένα νέο και πολλά υποσχόμενο PHP Framework

To τελευταίο τρίμηνο αναζητώ ένα framework για να επιταχύνω την παραγωγή του κώδικα μου και όχι μόνο. Ήθελα να γράφω ασφαλή κώδικα και αυτό που έγραφα να μπορούσε να μεγαλώσει(scalable), να εμπλουτιστεί(addons) και τελικά να μπορέσει να συντηρηθεί πιο εύκολα. Η λύση στα προβλήματα μου σε πρώτη φασή, ήταν να αλλάξω τον τρόπο που προγραμμάτιζα. Από το γνωστό και απεχθές Spaggeti Code έπρεπε άμεσα να πάω σε OOP (αντικειμενοστραφές) Προγραμματισμό με PHP 5.3, MVC pattern logic και χρήση κάποιου Template Engine. Πολύ δουλειά και πολύ διάβασμα δηλαδή.

Πάνω στο ψάξιμο λοιπόν έπεσα στα γνώριμα - για όσους ασχολούνται - CodeIgniter, PhpCake, Fuelphp, Zend κ.α. Άρχισα να ασχολούμαι εντατικά με το CodeIgniter αφού φαινόταν ότι περιλαμβάνει τις δυνατότητες που ψάχνω....μέχρι που έπεσα πάνω σε ένα άρθρο που μίλαγε ένας Γκουρού του CodeIgniter, o Shawn McCool και γιατί το παράτησε και πήγε στο Laravel! Αυτό ήταν αρκετό για να του ρίξω μια ματιά και τελικά...να καταλήξω ακριβώς σε αυτό.

 

LARAVEL

Logo of the Laravel frameworkΘα σας πω δυο λόγια για το τι μου έκανε εντύπωση, γιατί για να αναλύσω τεχνικά αν αυτό το Framework ειναι το καλύτερο...πολύ απλά δεν ειμαι ο ειδικός για να το κάνω και μην έχοντας εμπειρία από τουλάχιστον 3,4 άλλα Framework, μάλλον θα ειναι αστοχο και άδικο.

Μου άρεσε παρα πολύ το ίδιο το site. Ο σχεδιασμός Minimal, ξεκάθαρη δομή...τα πάντα σε τάξη. Όντας περισσότερο Designer απο programmer με κέρδισε αυτόματα. Υπηρεσία που έχει τόσο γούστο "γραφιστικά" αποκλείεται να μην έχει φτιάξει και ένα αντίστοιχα τακτοποιημένο και ξεκάθαρο Framework. Πηγαίνοντας στην "Βοήθεια" της εφαρμογής...έμεινα άφωνος. Πίστευα ότι το καλύτερο Documentation/help το έχει το CodeIgniter, μέχρι που είδα αυτό. Τι ξεκάθαρο... θα μπορούσε με ένα copy/paste να γίνει βιβλίο!

code-happyΤην ίδια ημέρα πέφτω πάνω σε έναν "περιέργο" τύπο, τον Dayle Rees. Φανατικός ακόλουθος του Laravel, έχει φτιάξει ένα blog με Tutorials. Αυτό, σκέφτηκα ειναι μια πολύ καλή αρχή. Το ίδιο βράδυ πιάνω κουβέντα στο Twitter με τον Shawn McCool o οποίος με προτρέπει να ασχοληθώ με το Laravel και μου συστήνει το MIRC chat του Laravel για να ζητώ άμεση βοήθεια. Πράγμα που και έκανα και με έχει βοηθήσει πάρα πολύ.

Η κοινότητα του Laravel μπορεί να είναι πολύ μικρή...όμως είναι σίγουρα φοβερά άμεση, ευχάριστη και εξυπηρετική. Όποτε ζήτησα βοήθεια την είχα και όσο περνάει ο καιρός, επειδή ακριβώς το Framework γίνεται όλο και πιο γνωστό οι πηγές βοήθειας...αυξάνονται. Ο Dayle Rees, τα tutorials του τα έκανε PDF Βιβλίο και πρόσφατα και "αναλογικό" βιβλίο το αγαπημένο Netttus έβαλε ειδικά Tutorials για Laravel και εγώ...πιο σίγουρος απο ποτέ συνέχισα να διαβάζω...και να διαβάζω... και να ανακαλύπτω αυτό το σπουδαίο framework.

 

taylor
Taylor Otwell

 

Συμπέρασμα ως τώρα.

Αλήθεια. Δεν μπορώ να καταλάβω τι έκανα τόσα χρόνια. Νιώθω ντροπή, για τον κώδικα που έχω γράψει μέχρι σήμερα, μόνο παρακολουθώντας τον κώδικα που έχει γράψει για το Laravel o δημιουργός του, ο Taylor Otwell. Απίστευτα εύκολος, ξεκάθαρος κώδικας. Επιγραμματικά:

  • Ο κώδικάς του διαβάζεται απο μη προγραμματιστές και βγαίνει νόημα.
  • Έχει μια χαρά Template Εngine (Blade) ενσωματωμένο. Θεέ μου πόσες χιλιάδες τσάμπα αρχεία εχω φτιάξει μέχρι σήμερα. Όλα δείχνουν απλά και όλα γίνονται εύκολα μόλις καταλάβεις την λογική του.
  • Έχω ερωτευτεί τα Routes. Μπορείς να πεις όπως θες τους Controllers σου και να έχεις ότι URL θες για τις μηχανές και το κοινό. 
  • Έχω καταλάβει καλύτερα από ποτέ το OOP μόνο παρατηρώντας τον τρόπο που λειτουργεί το Laravel.
  • Ο εφιάλτης μια φόρμας και του ελέγχου των πεδίων της....απλά δεν υπάρχει πια. Θες μερικά λεπτά για να κάνεις αυτό που θα σου έπαιρνε μια ώρα.
  • Ο τρόπος για να συνδεθείς στην βάση και να εκτελείς Μysql Queries...ειναι απλά ένα έργο τέχνης όταν πρόκειται για το "Eloquent".
  • Bundles! Είναι υπέροχο να δίνεις κάτι πίσω στην κοινότητα, πόσο μάλλον να βρίσκεις "addons" που με μια εντολή θα βρίσκονται στην εφαρμογή σου διαθέσιμα. Δεν χρειάζεται κάθε φορά να ανακαλύπτεις τον τροχό, μπορεί κάποιος άλλος να το έχει κάνει πριν απο εσένα.
  • Φίλτρα. Πριν και μετά απο κάθε κάλεσμα, φτιάχνεις ένα το συνδέεις με όποιο route ή group(!) route θέλεις. Θες να προστατέψεις το "admin" φάκελο σου να είναι προσβάσιμο μόνο απο "admin" χρήστες. Ειναι μισή γραμμή στην κυριολεξία.
  • Θέλεις να κάνεις μια απλή σελίδα επικοινωνίας και σου φαίνεται ανούσιο να φτιάχνεις Controller για κάτι τέτοιο; Στο Laravel μπορείς να φτιάξεις εφαρμογές MV και να κάνεις εντελώς γαργάρα το "C" της εξίσωσης. Απλό, άμεσο και στην τελική...λογικό!
  • Artisan. Η γραμμή εντολών για εκτέλεση δημιουργία δομών Βάσης, Tasks, Tests κ.λ.π.
  • Build in Testing(PHP unit).

 

Και αυτά ειναι μόνο κάποια απ' όλα όσα κάνει αυτό το σπουδαίο εργαλείο. Αν ρίξετε μια ματιά στους συνδέσμους, του άρθρου του Shawn ή στο Netttus, θα πάρετε μια πολύ καλή εικόνα γιατί αυτό το Framework...ήρθε για να μείνει. To πιο ξεκάθαρο μάθημα με βιντεο που έχω δει μέχρι σήμερα ειναι αυτό του Andrew Perkins και πιστέψτε με έχω δει οτιδήποτε υπάρχει για το Laravel σε μορφή μαθήματος, κειμένου, βίντεο κ.α. (http://andrewperkins.net/laravel). Αυτά που παρουσιάζω εδώ, είναι αυτά που κυρίως έχω ανακαλύψει σε μόλις λίγες ημέρες πειραματισμών και βέβαια κάποια απ' αυτά που με έχουν ενθουσιάσει πιθανολογώ ότι γίνονται και σε άλλα Framework οπότε don't shoot me, απλά όπως ανέφερα το άλμα μου ήταν τεράστιο.

 

Ειμαι σίγουρος ότι βρήκα ένα Framework που ακόμα και αν δεν είναι το καλύτερο που υπάρχει - χαζομάρες, το καλύτερο είναι! - , θα με βοηθήσει να κάνω καλύτερα από ποτέ την δουλειά μου. Και τελικά αυτό είναι που παίζει ρόλο. Αν διαβάζεις αυτό το Laravel Review σημαίνει ότι το ψάχνεις. Δες το Laravel...και θα με θυμηθείς.

 

Happy Coding!

Διαβάστηκε 3327 φορές

Lollypop :: Κατασκευή Ιστοσελίδων

Τσαμαδού 82-84 Πειραιάς, 18534

Τηλ 211 790 5890
Φαξ 211 770 5763

Χάρτης Lollypop