DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > PHP
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

PHP PHP aplikacije, Smarty, PEAR

Odgovori
 
Alati teme Način prikaza
Staro 02. 09. 2007.   #1
kaspar
novi član
 
Avatar kaspar
 
Datum učlanjenja: 17.09.2006
Poruke: 5
Hvala: 0
0 "Hvala" u 0 poruka
kaspar is on a distinguished road
Default frameworks

Evo da prilozim i ja svojih par centi.

U globalu frameworke mozes da podelis po stepenu automatizacije koju ti pruzaju i, takodje u globalu, je taj stepen automatizacije povezan sa nivoom slobode koju ti omogucavaju u smislu organizaovanja samih elemenata od kojih pravis svoju aplikaciju. Takodje razlikuju se znacajno i po kvalitetu implementacije, dokumentacije, organizacije ...

Po automatizmu Cake prednjaci, iza njega je CI a posle toga na zacelju nepravedno zapostavljeni Zend Ja poslednjih nekoliko meseci radim u Cake frameworku i mogu da podelim detaljnije iskustva o njemu, CI sam video ali nisam detaljnije ulazio u problematiku a za Zend se sve vise interesujem.
Cake je port Railsa na PHP i samim tim tezi funkcionalnostima koji trenutno ima Rails, sam potencijal PHP-a je drasticno manji od Ruby-ja pa mi se cini da su nacin na koji se implementiraju resenja u Cake-u jako konfuzni i nepregledni. Ovo je veoma vazno jer zbog nedostatka dokumentacije i potrebe da se stalno ulazi u kod da bi se videlo kako odredjeni metodi u stvari funkcionisu. Za svakog neiskusnog programera u PHP-u ovo je prosto nemoguca misija.
Druga stvar koja kod Cake ne valja je to sto verzija 1.2.x.x obecava puno funkcionalnosti ali za sada je kvalitetno implementiran jako mali broj njih, u sustini ovo nije ni cudo jer je jos uvek u alpha verziji ali ipak za nekog ko zeli da koristi iste funkcionalnosti treba naglasiti da one uglavnom rade ali znaju nekada da debelo namuche.
Ono sto ipak izdvaja Cake kao framework jeste implementiran ActiveRecord koji omogucava da se na jednostavan nacin prave relacije izmedju tabela i automatski izvlace podaci iz zavisnih tabela. Poslednjih par nedelja sam radio na nekim behaviorima za Cake kako bi na efikasan nacin implementirao multijezicnost i uvideo da je sama implementacija sloja ka bazi jos uvek nedovrsena i malo zbunjujuca za nadogradjivanje jer mi se cini da ne postoji sistematicnost u implementaciji pa se u pojedinim kontekstima kod ponasa potpuno drugacije od onoga sto ja od njega ocekujem.
Sto se generisanja sadrzaja tice u poslednjih par commita je dodata mogucnost da se kreiraju templejti za CRUD viewe tako da se to sada moze prilagoditi dizajnu pogotovo za admin deo gde se dizajn prakticno prenosi sa projekta na projekat.
U globalu Cake jako moze da podigne produktivnost za programere ili timove koji se baziraju na implementaciji sajtova jer se dosta koda koji se kreira na projektima moze da ponovo koristi, komponente, helperi, view-i, takodje postoji i dosta kod koji moze da se nadje po internetu, mada iskreno mislim da je uglavnom jako loseg kvaliteta i ja sam najcesce video ideju i napisao svoj kod umesto da uzimam tudje komponente, behaviore ...
Sto se tice razvoja neke globalne logike aplikacije izvan MVC frameworka Cake mi deluje veoma skuceno, primer je recimo implementacija CMS-a u kome bi MVC deo bio samo element za izvrsenje akcija a logika aplikacija stajala iznad toga, u Cake mislim da je to jako tesko izvesti zbog doslovnog pracenja principa "Convention over Configuration" koji prakticno namece neke principe po kojima moras da se ponasas ako zelis da stvari rade. Mozda ja jos uvek nisam shvatio nacin na koji mogu ovo da uradim bezbolno.

U poslednje vreme se sve vise interesujem za Zend framework koji je nesto za sta predvidjaju da ce da ostavi PHP u zivotu . Uglavnom su PHP programeri jako malo koristili OO model koji je dosao sa PHP5, inace sam PHP5 nije nesto preterano uspeo da preuzme dominaciju od PHP4 ali to je neka druga prica. Zend Framework koristi sve potencijala OO modela i sam po sebi zahteva 5.1.4 ili cak 5.2 pa navise da bi radio jer koristi PDO drajvere i ostale PHP novotarije Ono sto sam o Zendu uspeo da zakljucim je da pruza veliku slobodu za projektovanje logike na visem nivou iznad MVC koncepta jer praktivno tera korisnika da koristi MVC kao element svoje aplikacije a ne da mu aplikacija bude u MVC konceptu. Kod je jako kvalitetan, baza profesionalnih developera koji ucestvuju u razvoju je siroka i ozbiljna a i zajednica mi se cini sve veca. Zend za sada nema implementiran ActiveRecord (bar kako sam ja shvatio) ali mislim da postoje neke nezavisne implementacije. Ono sto je vidljivo kao sloj ka bazi koji bi se koristio u kombinaciji sa ZF je Doctrine ORM PHP sloj http://www.phpdoctrine.org/ koji je trenutno u 1.0RC1 verziji.

CI nisam probao ali mislim da je on negde izmedju Cake i ZF po automatizaciji, cini mi se da je dosta kvalitetniji kod od Cake-a i da ima dosta bolju dokumentaciju ali ne tako veliku bazu korisnika.

Krajnji zakljucak:
za brzu implementaciju jednostavnih sajtova sa osnovnim funkcionalnostima treba koristiti Cake jer znacajno podize produktivnost i ponovno koriscenje koda.
Za nesto ozbiljnije kao sto je recimo izrada proizvoda na kojem bi se zasnivao razvoj firme ipak mislim da za sada treba pribeci nekom drugom resenju. Mozda se sa vremenom Cake dovoljno razvije ali mislim da ce Zend da ga pregazi na polju ozbiljnih PHP aplikacija veoma brzo.


Koliko teksta a slika nigde
kaspar je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum

Slične teme
Tema Početna poruka teme Forum Odgovori Poslednja poruka
Izbor mobilnog operatera? 3banchi Komunikacije 36 21. 10. 2010. 09:39
Izbor tehnologije za velike Web aplikacije toxonics Programiranje 75 16. 01. 2006. 15:34
Izbor internet provajdera je bitan :) BluesRocker Opušteno 2 19. 09. 2005. 13:48


Vreme je GMT +2. Trenutno vreme je 18:45.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.