The King is dead! RIP 2006-2012

Ένα μεγάλο ευχαριστώ σε όλη την παρέα
Περισσότερα στο lexx.gr

Ποιο είναι το καλύτερο PHP Framework;

15 Jun 2010 by lexx

Πάμε πάλι. Έκανα μια βουτιά λοιπόν στα php framework (overview) και αποφάσισα να γράψω ένα σύντομο θέμα όπου θα εκφράσω κάποιες απόψεις και προβληματισμούς. Όποιος έχει χρησιμοποιήσει κάποιο php framework ας αφήσει ένα σχόλιο με τις εμπειρίες του για να γίνει κουβέντα.

Δεν υπάρχει ΤΟ καλύτερο framework

Αυτό είναι κάτι που όλοι οι developer λογικά συνειδητοποιούν σε κάποιο σημείο, Δεν υπάρχει εργαλείο που να τα κάνει όλα και να συμφέρει. Αν θες να κάνεις ένα γρήγορο site της σειράς, θα πας σε κάποιο CMS τύπου Wordpress, Drupal (Όχι Joomla, προς θεού). Άντε να δοκιμάσεις το cakephp το οποίο περοσφέρεται για γρήγορο development λόγω του automagic (the dark side) :P. Αν θες από την άλλη κάτι για πιο enterprise κατάσταση, το Zend ίσως να είναι μια σοφή επιλογή. Αν σε ενδιαφέρει το μικρό footprint και το performace, πολλοί προτείνουν το Code Igniter. Anyway, you got the point. 

To σημαντικότερο είναι να ξέρεις εσύ τι θέλεις να πετύχεις και μετά να διαλέξεις εργαλείο.

Πως διάλεξα framework για το επόμενο μου project

Πρώτα από όλα έθεσα κάποιο χαρακτηριστικά που με ενδιφέρουν πάνω από όλα.

  • PHP 5 
  • OO MVC (το έχουν όλα σχεδόν σε κάποιο βαθμό)
  • Performance
  • Scalability
  • Community

Αρχικά το framework θέλω να είναι στημένο πάνω σε PHP5 για λόγους performance αλλά και maintability λόγω του πιο ώριμου OO μοντέλου από την PHP4.

Στο θέμα του performance μου γυάλισε το Yii, το οποίο σαρώνει στα benchmarks. Το ίδιο και το Code Igniter. Επίσης πάρα πολύ ενδιαφέρον μου φάνηκε το Kohana. Τα πιο δημοφιλή framework, Zend, Cakephp, Symphony είναι σχετικά απογοητευτικά στο performance.

Το community/documentation είναι αυτό που θα σφραγίσει την τελική επιλογή γιατί στα δύσκολα φαίνεται η αξία του.

To scalability είναι μια τεράστια κουβέντα που δεν θα ξεκινήσω τώρα.

Τέλος θα σας πρότεινα να τσεκάρεται και μια πιο hybrid λύση. Το Silverstripe, το οποίο είναι ένα CMS που βασίζεται πάνω σε αυστηρές OO αρχές και είναι φτιαγμένο με το Sapphire framework (ένα custom framework της εταιρίας)

Α, ξέχασα να σας πω πιο διάλεξα για την ώρα. My winner is:

Yii cause its also hot. More about it soon.

Να κάνω το δικό μου framework;

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

Περιμένω με αγωνία τις απόψεις και εμπειρίες σας επί του θέματος!

ps. Δεν δίνω link σε όλα γιατί μπορείτε να τα βρείτε από το overview.