logo
08.07.2010 11:49
1
Ahoj,

jelikož spousta firem požaduje umět pracovat s nějakým PHP frameworkem, tak jsem se to hodlal naučit. Jenže mě hned odradil článek na root.cz srovnání rychlostí, kde vlastně bylo vidět, že jeden z nejpoužívanějších frameworků ZEND je šíleně pomalý. Tak jsem začal hledal Framework a zaujal mě především svojí rychlostí nette. Jenže tam jsem vyhořel na dokumentaci, nesplácal bych v tom ani jednoduchou aplikaci, a tak jsem hledal dál. Narazil jsem na CakePHP, což byla taková zlatá střední cesta v dokumentaci a rychlosti.

Teď plánuji vytvořit online hru a ptám se, jestli je vůbec výhodné to dělat ve Frameworku ? Přece jen Frameworky mají spousta výhod pro tvorbu stále se opakujících funkcí, jenže to zrovna v online hře nebude. Jaký na to máte názor ? Podlě mě by byla lepší volba klasické PHP 5 OOP, jaký názor na to máte Vy ? Navíc sám ještě žádný framework neumím, což ale by zase nebyl problém se doučit.

Co se právě děje na Webtrhu?

08.07.2010 12:00
2
Jenže předpokládám že s tou prvotinou neplánuješ nějaký megalomanský komerční úspěch (a pokud by náhodou byl, tak by pak z toho měly asi být i peníze na HW)

Tím spíš že to bereš i jako předmět učení, tak bych ve výkonu neviděl problém... stejně bys sám musel udělat alespoň částečně nějaký podobný rámec/kostru s hlavními funkcemi ... resp. mám nějaký hlavní index a k tomu nějaký souhrn objektů a funkcí, které by myslím i šly označit za takový pseudo-framework

Myslím že nejde jen o opakování, ale i tak celkově myslim že PBBG zas tak moc odlišné od jiných webaplikací nebude

Takže shrnutě - nebránil bych se tomu být tebou

Jinak ještě link: http://community.bbgamezone.net/index.php
08.07.2010 12:23
3
Právě že mám tu online hru už ve Wordu a Excelu tak propracovanou, že si i myslím, že by to mohlo mít velký úspěch. Nejde jenom o nějakou blbůstku, ale o projekt, který budu programovat tak 2 měsíce než z toho vyleze nějaká zkušební beta verze. A nerad bych pak narážel na problémy s tím, že tahle věc ve frameworku ani udělat nejde atd... člověk pak ztratí víc času než co nažene na zjednodušených formulářích (např)
08.07.2010 13:08
4
Můžu se tě zeptat co by nemělo jít udělat? Framework ti poskytuje nástroje pro pro práci s daty, základní MVC strkturu, ORM apod. Pořád můžeš z toho frameworku využít jen ten MVS model a nic jiného. Nevím co by tam nemělo jít udělat.
08.07.2010 13:10
5
Původně odeslal Lighter
A nerad bych pak narážel na problémy s tím, že tahle věc ve frameworku ani udělat nejde atd...
jestli by neco v tom frameworku udelat neslo tak yb to pak byl ale pekelne spatny framework :)
08.07.2010 13:16
6
Původně odeslal AlesiBoss
jestli by neco v tom frameworku udelat neslo tak yb to pak byl ale pekelne spatny framework :)
souhlasím, to by byl framework nebo nástroj určený pro specifické použití
08.07.2010 13:27
7
Jak jsem psal, s Frameworkem zkušenost nemám, ale z toho co jsem vyčetl např na root.cz jsem se dozvedel, že né každý framework zvládne vše (nebo k tomu není patřičná dokumentace). A rapidně zpomalit svoji aplikaci jen díky tomu, abych měl model MVC, který mi zas tak nebodne když natom budu makat já sám, mi taky nepřijde moc dobré.
08.07.2010 13:33
8
Ono by se to ale postupem mělo zrychlit + zrychlení díky tomu že používáš framework

Ty populární by také měly být dokumentované nebo s nějakou komunitou

Pokud něco spešl nezvládne, tak by sis to asi prostě dodělal sám

Řekl bych, že u něčeho komplexnějšího se robustnější model hodí, na flexibilitu atd., ne jen na to aby kodér něco nepomrvil
08.07.2010 14:18
9
Já si vývoj většího projektu bez frameworku nedokážu představit. Jen by to zdržovalo. Rozhodně se to vyplatí. Od Nette jsem taky upustil kvůli dokumentaci, už mě štvalo všechno hledat na fóru nebo v API, které taky snad není aktualizované a proto se teď učím Zend. Je to framework mnoha funkcí. Je u něj dobrá dokumentace, zaručená komunita a podpora. Zaručený další vývoj, opravy atd.
08.07.2010 16:21
10
napis si svuj... nevyhodou je, ze objevujes kolo, vyhodou je, ze to kolo muze byt kulatejsi a hlavne to, ze se to nemusis ucit...

kdyz se nad tim zamyslis, tak toho zase neni tolik - odchytavani chyb, logovani, sablony, sessiona, nejake orm, router, to je vse, co je pro zacatek nutne a nemusi to byt ani nijak extra vychytane, staci kdyz to splni ucel a usetri ti to praci..

prosim zadne flamovani - je to muj nazor, respektujte ho. samozrejme to doporucuju jenom pokud se na to citis, pokud php moc neumis, tak doporucuju kohanu...
08.07.2010 17:59
11
Rozhodl jsem se pro samotný PHP 5 OOP. Ze zkušebního programu v cakePHP jsem sice udělal blog do pár minut, ale online hra je něco jinýho, funkce budou uplne jiný a routování vubec nepotřebuju. Však online hry co znám taky nejedou na frameworku, a navíc budu mít vše rychlý.
08.07.2010 18:05
12
Nechci tu nějak chytračit, ale podle mého je hloupé řešit rychlost frameworku. Pokud vám opravdu nejde o setiny, tak mnohem více zatěžuje špatné dotazy na sql, obrázky, javascript... Příjde mi to takové na hlavu, vybírat si podle toho jak je to rychlé. Hlavně by to člověk měl umět a mělo by se mu v tom dobře pracovat.
08.07.2010 18:57
13
Pooky: To není pravda, pokud ti pár update dotazů přes ZEND zabere přes 1 sekundu, tak co pak větší projekty ? Navíc při větší návštěvnosti potřebuješ při středním projektu server, protože ti obyč hositng utáhne pár userů.
08.07.2010 19:07
14
To by mě zajímalo jak může pár UPDATE dotazů "přes Zend" zabrat víc jak 1s.
08.07.2010 20:21
15
To spíš vypadá na špatně nasázené indexy nebo něco takového. Zapnul jsi cachování metadat tabulek?
08.07.2010 20:35
16
http://www.root.cz/clanky/velky-test...tte-php-a-ror/
08.07.2010 20:41
17
jestli uz mas tu hru tak promyslenou a od zacatku vis, ze to bude bomba a trhak, proc nesahnes po nejakem 'lepsim' jazyku, nez li je PHP?
ptas se jakym? uplne jedno - Python, Java, .Net..na robustnejsi aplikace budou vzdy vhodnejsimi kandidaty..
08.07.2010 21:01
18
mallox: Nikde jsem nepsal že to vím, ale že si to myslím. Sám umím pouze PHP a novej jazyk se kvuli tomu učit nehodlám, by se vše akorát oddálilo.
08.07.2010 21:07
19
psal jsi ze to mas jiz pripravene a propocitane, tak ze nejake podklady mas..to uz o necem napovida..
to mas podobne jako kdyby sis koupil sedaci soupravu do obyvaku a chtel ji odvezt feldou..
no flame..good luck
08.07.2010 21:20
20
No tak to pozoor. Moje PHPčko tady zase nikdo pomlouvat nebude. Je pravda že osobně mám .NET raději, ale PHP je na to stejně dobrý jako jakýkoliv jiný jazyk. Možná samotné není tak super nadupaný jako .NET ale aby se to alespoň trošku spravilo tak od máme Zend a jiné :)
08.07.2010 22:25
21
mallox: No jistě, připravené a propracované to mám po herní stránce, ale bohužel jsem od boha nedostal schopnost odhadnout, kolik lidí moji hru bude hrát a ani jsem nedělal průzkum trhu abych se poptal lidí, takže ano, opravdu nevím, jaký to bude mít uspech.
09.07.2010 08:27
22
php se pro webove aplikace hodi stejne jako cokoliv jineho - a mimochodem - vite, ze java je jazyk navrzeny puvodne pro lednicky a chytre karty? :-)

ale drzme se tematu - soucasne velke webove frameworky jsou proste pomale - zkuste si napsat svuj a budete koukat - navic - kdyz je potreba psat neco fakt vykonove narocneho a je treba cachovat jako o zivot (napriklad zmena dat muze probehnout i kazdou vterinu a cteni probiha minimalne 100x do vteriny), tak je treba nahodit zakladni jadro co nejrychleji a tady maji vsechny velke frameworky proste smulu - nemluve o tom, ze je treba obcas dodrzovat urcite konvence, aby se dalo profitovat i z opcode cache v APC (coz znamena napriklad zadny autoload apod.)

nicmene k routovani - mozna nepotrebujes, ale hodit se ti urcite jednou bude, takze si tu podporu napis - treba velmi jednoduchou, ktera jenom proleti konfigurak, podiva se, jestli url nevyhovuje patternu a provede preg_replace - takhle to mam ja a prestoze je to primitivni, tak mi to zatim na vsechno stacilo a vykonove je to naprosta bomba... urcite se ti to jednou bude hodit, to ti garantuju

BTW: hod mi do PM info o tom tvym projektu, treba bych do toho s tebou sel, ale urcite by to nebylo hned, mam tak na tyden na dva jeste plno...
09.07.2010 12:55
23
1) Pokud ve frameworku něco "nejde udělat", ocitáš se ve stejné situaci jako bez něj. V PHP jsou frameworky dost komplexní (Zend) i proto,že řeší bordel jazyka a prostředí. V Javě se frameworky obvykle soustředí na jednu věc a kombinuje se jich více do sebe (znám jen okrajově).

2) To na co se daný framework soustředí dělá stoprocentně lépe, než bys to dokázal ty.

3) Pokud se chceš soustředit na hru, soustřeď se na ní. A vše ostatní nech na něčem, co napsal někdo lepší než ty. Neexistuje například důvod, proč bys měl znovuobjevovat MVC a způsoby práce s databází, starej se raději o doménové objekty ve své hře.
09.07.2010 12:58
24
vedouci: Jasně já věřím že máš pravdu, protože sis udělal svuj mini framework namíru, díky tomu je náročnost menší. Každopádně já nejsem ještě na tak dobrým programátorským levelu, abych si vytvořil nějakej svůj vlastní. Proto jsem se rozhodl jet na klasickém PHP OOP. Pokud se kouknu na známé hry jako travian, webgame... nevypadá to, že by jely taky na frameworku (možná při jejich vzniku frameworky ještě moc rozšířené nebyly) a přece jen to zvládly.

Do svého projektu nehledám nikoho.
09.07.2010 14:21
25
Ja proste nedokazu zkousnout ze jen "hello world" v temer jakemkoli FW trva vic jak 10ms. Za tu dobu musi byt zpracovan vstup + minimalne dva jednoduchy selecty a vygenerovan vystup na obrazovku a do cache. Takze si svuj jednoduchy FW pisu sam. Pouzivam jednoduche principy tvorby FW a linkuju si z toho pripadne pomocne funkce z projektu publikovanych pod MIT licenci. Vysledkem je jednoduchy FW kde svuj mizerny kod znam do posledniho pismenka (to teda asi pekne kecam). Cely FW je opravdu rychly , bezpecny (hmm no snazim se) co dela jen to co potrebuju. (autentifikaci,zpracovani vstupu,dotazy do databaze,prace s poly,cache,tvorba jednoduche Glib grafiky, a par drobnosti)
A to v php programovat vlastne moc neumim.. urcite nesaham lidem typu p. Vrana nebo Grudl ani po nehty u malicku. Myslim ze tahle cesta je i pro tebe spravna ...minimalne se tim naucis i to php.
P.S.: zachytil jsem ze bys to nejradsi bastlil do jednoho chumlu .. zapomen na to ! To je cesta do pekla.. v urcite fazi vyvoje zjistis, ze jses v koncich a ze nedelas nic jineho nez ze zjistujes co to vlastne dela... Pis si ke vsemu kodu masivni komentare. (zase se tim ucis a obcas behem komentovani prijdes na lepsi reseni)
09.07.2010 15:14
26
NextClick: Jasný, s tím se počítá, každopádně si myslím, že spousta programátoru je z těch frameworků tak zblbá, že úplně zapomínají na to, že OOP v PHP5 je vcelku promakaný. Je jasný, že nebudu všechno mastit do indexu bez komentářů, však to ani v OOP nejde. I to klasické má nějaká pravidla, která si můžu změnit (pač na tom budu makat jen já), a pak je stačí jen dodržovat. A nakonec to dopadne tak že si většinu funkcí udělám sám a sám se v tom vyznám a ještě to bude mít i tu potřebnou rychlost (já bych teda hru, kde se čeká 3 - 5s na odezvu nehrál) a to je vcelku reálná doba když si uvedomím, kolik všeho probehne třeba při takovém boji. Nějaké zpoždění bude na hostingu, potom framework, potom uživatelova odezva a to je vražedná kombinace.
09.07.2010 18:00
27
Připadá mi to jako dost pokroucená logika, programátor by měl programovat a ne znovu objevovat kolo. Proč nepoužívat něco, co je vyladěné, ozkoušené a funkční? U "vlastního" frameworku si uvědomte, že budete muset všechno psát sami, testovat, udržovat, aktualizovat a případně celé přepisovat - pokud najdete nějaký bug.... Jinak mi příjde, že optimalizace a rychlost by se měla řešit až jako druhotná věc, na rychlosti se aplikace postavit nedá...
09.07.2010 20:58
28
Původně odeslal Pooky
Připadá mi to jako dost pokroucená logika, programátor by měl programovat a ne znovu objevovat kolo. Proč nepoužívat něco, co je vyladěné, ozkoušené a funkční? U "vlastního" frameworku si uvědomte, že budete muset všechno psát sami, testovat, udržovat, aktualizovat a případně celé přepisovat - pokud najdete nějaký bug.... Jinak mi příjde, že optimalizace a rychlost by se měla řešit až jako druhotná věc, na rychlosti se aplikace postavit nedá...
vynalezani kola - ano souhlas, proc nepouzivat neco co existuje... vedouci porad prosazuje svoje reseni, nerikam ze je to spatne, ale zaroven nerikam ze by to tak mel delat kazdy... je to silne neefektivni...

co se tyka optimalizace tak si nemyslimn ze je to druhotna vec... uz od pocatku vyvoje by se na ni melo myslet... precijen by bylo neprijemne az teprve pri x onlin hracich zjistit ze ta a ta cast aplikace nefunguje optimalne a shazuje cely server - zaprve se na tyhle casti prichazi obtizne, zadruhe to potom obtezuje hlavne hrace, coz muze vest k jejich ztrate...
09.07.2010 22:47
29
AlesiBoss: Já vás chápu, Framework je fajn věc, při tvorbě eshopu, redakčního systému, fora, tam všude se to hodí, usnadnění práce, mnoho hotových pluginů od uživatelů, v mnoha případech už jenom skládáte puzzle. Web hra je podle mého soudu trošku netradiční aplikace.
09.07.2010 23:18
30
Myslím že ostatní už to zkoušeli dost, tak si to asi už rozhodni sám

Podle (očividně nejen) mě bys z toho využil hodně ...já FW nepoužil, ale ne že bych nechtěl, tohle vlákno mě přimělo se do toho ponořit, tak u příštího projektu (dívám se na Kohanu, ještě jsem přemýšlel o Nette)
... částečně netradiční bude jen herní jádro, je tam řada věcí kolem co bude stejná jako jinde