PHP Framework za moje potrebe

Prije nekoliko mjeseci napisao sam svoj Framework, organizovao datoteke, odredio neke svoje metode programiranja i sl. To sve lijepo funkcionise, napravio sam jednu kompleksniju web aplikaciju i sada istrazujem PHP Framework-ove.
Pronasao sam dvije teme (ja mislim) na ovom forumu u kojima se raspravlja o ovome, ali ja bih volio da odgovara mojim potrebama.

Znaci meni treba Framework koji omogucava:

  • lak rad sa AJAX-om, JSON-om, to je kljucni dio, jer imam dosta sadrzaja koji se dinamicki ucitava
  • neku vrstu integracije sa jQuery-om
  • pravljenje aplikacija sa vise jeizika
  • mozda integracije sa socijalnim mreza (Facebook, Google)
  • dobra podrska, dosta primjera

Yii Framework mi je zapao za oko (ali izgleda da im je potrska losa), vidim da se ljudi uglavnom odlucuju za Zend, ali mi se iz nekog razloga ne svidja. Sta vi mislite?

Podrska od Yii-a losa? Ne bas. Ako si dobar u PHP-u (OOP), ne bi ti smjelo biti problema.

OOP mi nije problem, usavrsio sam dok sam pisao svoj Framework. Onda sta kazete na Yii, ne vidim nikoga na forumu da radi sa njim

Ovaj forum je zaostao. :smiley: Yii je definintivna preporuka.

Sto vise citam o Yii-u sve mi se vise svidja. Samo Freelanceru vise traze Codeigniter i CakePHP Developeri. Koji je razlog tome? Vidim da je Yii razvijen krajem 2008, CakePHP 2005, Codeigniter 2006, pa predpostavljam da je to razlog.

Ali Zend

Zend je previše Enterpreise orijentiran. Mali timovi ne mogu profitirati od njega.

Yii je odličan, i radio bih s njim ali nažalost nije u skladu sa nekim mojim razmišljanjem o izradi Web 2.0 aplikacije.
Problem je u sučelju koje je dosta kompleksno a server-side framework tu malo može pomoči.
PHP Framewroci su napravljeni sa pogleda server side developera a ne web front-end ili frond-end server side developera.
U praksi 80% posla se može obaviti na klijent strani na server strani potreban je kvalitetan servis. Kako to objasniti server side developeru?
Postojeći PHP frameworci pokušavaju arhikteturu front enda uklopiti u server side što je totalna glupost.
Da frameworku ali frameworku koja kompletno odvaja javascript od server side arhikteture.
Recimo u Yii framework generira svoj JS, to su komponente usko vezane za framework.

Rješenje sam vidio u svojem frameworku, Javascript je totalno odvojen od frameworka i nema generiranja JS koda na server strani, ima propertija koje se ubacuju u JS, to je sve. To je omogučilo izradu komponenta. No bilo koji JS developer bez znanja frameworka može početi pisati svoj kod.
I još tome sam dodao par JSON servisa kao dio frameworka.
Cijena je strašna cijelom frameworku je sve podređeno od Modela, to Template engine, server strana je totalno zapostavljena, glavno da izrada sučelja bude brza, jednostavna i fleksebilna.

To sam izradio za jedan projekt, dali ću dalje koristit i razvijati vidjeti ću na temelju ovog projekta, no ako želiš pravi RIA Web 2.0 prilagođen PHP framework onda zaboravi na postojeća rješenja.
Ili evanutalno napravi neki microframework za rad u Zendu, YII ili Simfony koji će biti prilagođen izradi sučelja.

Probaj
http://kohanaframework.org/
znam da je ndot koristio za svoju mrezu
http://www.ndotsocial.com/products/sandwich-opensource-social-media-application.html
i sve druge projekte.

ovo mi je takodje jako bitno, ali evo gledam jednu igricu gdje je koristem Yii framework
monsterstep.com/index.php?r=level
izgleda da izgradnja front end-a nije toliko kompleksna cak iako je Yii zaduzen za generisanje JS

Namjeravam u buducnosti praviti online multiplayer igrice kao sto su slagalica i conquiztador, samo sto bi bile u Flash, pa me interesuje da li Yii ima podrsku za takve tipove web aplikacija. Koliko bi mi Yii olaksao izradu aplikacija i kako je rijesena live komunikacije izmedju klijenta i servera (kako utice na opterecenje servera).

Izgleda da cu za svoj sljedeci projekat koristiti Yii

Malo sam pretjerao kad sam rekao da je 80% posla na klijent strani, no da uzmemo da je 33% posto posla na klijent strani potrošit ćeš 66% vremena na rad na klijent strani jer frameworci nisu prilagođeni.

Mislim da ako gledaš malo unaprijed, dolaze vremena MVC patterna na front endu, backbone.js, YUI 3 isto već ima.
Ne kažem da ćemo svi ići tim putem, no sučelje se sve više odvaja od server strane. U RIA alatima tipa Silverlight ili Flex to je već odavno napravljeno.

Sadašnji PHP frameworci imaju svoj način rada, svoj market share i nemogu odjedamput skrenuti i prilagoditi se za izradu RIA sučelja, rade to polagano, no nikad neće doći do neke razine koje bi omogučila da gurnu razvoj na server strani u drugi plan.
I još ktome da bi razvio svoje sučelje moraš imati iste temelje kao što ima i onaj ko radi u tom frameworku na server strani.

Mislim idealni PHP framework za izradu RIA sučelja bi po meni bio neki gdje mogu sutra početi raditi na sučelja a sve ono što je na server strani mogu gurnuti u drugi plan.

Eto za svoju aplikaciju gdje sam baš malo experimetirao sa čim jednostavnijim sučeljem napravio sam si template engine.

Vao moja aplikacija sad ima pristup input field koja na klik izbacuje alert.
To bi za mene sa strane koda bio idelan pristup.
Jednostavno, fleksibilno i brzo i jedino što čovjek mora znati da mora extetendati jednu klasu i napravi template js i php file.

A odvajanje js i template dovodi opet do lakšeg održavanja, fleksibilnijeg koda a neki JS frameworci zahtjevaju taj način rada.
Ako netko želi može totalno izbaciti js template file i JS stavljati u php template file njegov izbor.

Čemu jedan developer mora znati kako naprednije stvari kako framework funkcionira a treba mu samo za izradu sučelja.
Gdje pobogu naći JS file od Zend, Yii ili Synfonia, samo na to potrošiš par sati.
Zato jer je sve prilagođeno liku za kojeg se pretpostavlja da je slabiji iz Javascripta.

Prioritet mi je da se JA mogu lako snaci, da su svi dijelovi aplikacije logicki rasporedjeni.

Framework sa kojim trenutno radim (moj framework) uglavnom je zaduzen za serverski dio, dok sam klijentski dio zapostavio (postoji, ali ne toliko). Volio bih vidjeti kako si ti to rijesio, mozda da se ipak fokusiram na razvoj svog Framework-a. Imam rjesenja koja sam po mom misljenju dobro uradio, ali postoje stvari koje bih mijenjao (medjutim nisam siguran kako).

Ono sto ocekujem od frameworka je da mi olaksa izradu kompleksnih sajtova, da se lakse snalazim, a da ne razmisljam gdje sta staviti.

A drži se frameworka, pa kad vidiš da možeš krenuti sa svojim softawareom, da te framework samo koči onda kreneš razviti nešto svoje.

Recimo baš smo nedavno pričali u jednoj temi o Joomla komponentama i pričao o jednoj firmi kako ima dobre komponente ali njihove komponente iako su u Joomli imaju svoj microframeork za rad.
Znaći iako rade u Joomli imaju svoju filozofiju razvoja.