DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   Izbor PHP Framework (http://www.devprotalk.com/showthread.php?t=3434)

jablan 17. 02. 2010. 21:33

Citat:

Originalno napisao xippi (Napišite 79850)
meni se ovaj koncept generalno ne dopada zato sto najcesce gubis sve prednosti jezika koji generises

Pa to.

Al' Rails i nekako (prvo, nisi prinuđen na to da se JS generiše tako, drugo, Rubi je konceptualno mnogo bliži jezik JS-u pa se prevođenjem ne gubi toliko), ali C#...

Doduše, GWT postoji već dugo, jel ima neko iskustva s njim?

Misha 17. 02. 2010. 21:44

@aleck U pravu si, obe zamerke su ti na mestu. Samo zaboravljas da oni tu apstrakciju nisu pisali jel im se moze nego sa razlogom :) Tj pored tih mana koje si naveo, ima i velikih prednosti pa je na tebi da vidis sta ce u tvom slucaju prevagnuti...

Cappuccino je napravljen da olaksa pisanje desktop like web aplikacija... Moj neki feeling je da ako bi ovo (http://280slides.com/Editor/) pokusao da napises u jQuery, da bi imao toliko bugova, konceptualno neadekvatnih problema za jQuery da bi ti nedostatak pravog debugera za Cappuccino posle bio mnogo manji problem.

Recimo mnogo popularniji i zreliji predstavnik toga sto Cappuccino radi je GWT. Ovi sto napravise Google Wave se kunu da bi taj zadatak bio maltene nemoguc da nije bilo GWT-a (java -> javascript)...

Btw kad se dogodi neki picvajz u JQuery komponenti takodje mozes da dobijes kripticne debug poruke koje iziskuju poprilicno truda da bi se rastumacile, posto ne zaboravi da je i JQuery apstrakcija nad JS...

Sto se tice toga da Cappuccino ima mnogo manje komponenti, to je posledica cisto toga sto su se skoro pojavili... A i brate 80% onog sto postoji za JQuery je neupotrebljivo... Meni se nebrojano puta dogodilo da je JQuery komponenta toliko lose napisana da kad je stavis u postojeci projekat sve puca u 10! Tako da ni to nije bas tako velika prednost...

Misha 17. 02. 2010. 21:51

Citat:

Originalno napisao jablan (Napišite 79849)
Može jedno pitanje: koja je prednost pisanja toga u C#, pa prevođenje u JS? JavaScript je poprilično moćan jezik.

Recimo, jel te ne nervira podrska za OO koncepte koju JS ima? Zar nije lepse raditi u jeziku koji ima pravu podrsku za OOP?

jQuery je zaista dobar za web siteove koje hoces da zacinis sa dinamicnoscu... al pisati web aplikaciju je malo drugacija prica, koriste se drugacije paradigme... nema strana nego ima prozora i dijaloga, prava modularizacija code-a postaje izuzetno bitna... itd

xippi 18. 02. 2010. 00:35

Citat:

Originalno napisao Misha (Napišite 79852)
Ovi sto napravise Google Wave se kunu da bi taj zadatak bio maltene nemoguc da nije bilo GWT-a (java -> javascript)...

svaki ciga svoga konja hvali :)

Citat:

Originalno napisao Misha (Napišite 79853)
Recimo, jel te ne nervira podrska za OO koncepte koju JS ima? Zar nije lepse raditi u jeziku koji ima pravu podrsku za OOP?

jQuery je zaista dobar za web siteove koje hoces da zacinis sa dinamicnoscu... al pisati web aplikaciju je malo drugacija prica, koriste se drugacije paradigme... nema strana nego ima prozora i dijaloga, prava modularizacija code-a postaje izuzetno bitna... itd

ja ne znam sta podrazumevas pod OO konceptima, ali u js-u je to odradjeno jako dobro. sama funkcija je prva instanca objekta, znaci ne pisu se klase nego prototip funkcije koji se kasnije nasledjuje. moguce je praviti privatne i public metode (ovo se resava scope-om). jquery kao takav je upravo objekat, koji u sebi ima metode koje vracaju izmenjen prosledjen element... u stvari je samo niz helper funkcija koje omogucavaju da se javascript pise jednostavnije. on je sam zamisljen modularno, koristi sizzle.js koji sluzi kao nezavisan selector engine (omogucava da se koriste css3 selektori i moze se dropovati u bilo koji drugi lib), a sam jquery source je podeljen na nekoliko zasebnih modula ajax.js, manipulation.js... prilikom builda se od svih ovih zasebnih fajlova/modula pravi jedan fajl koji se minificiran servira klijentu (skini sa gita jq source, videces o cemu pricam)

druga stvar... ovo sa paradigmom ne razumem ;) postoji jquery user interface biblioteka koja omogucava da se u browser (stranu/kako god da je zoves) ubace kontrole preko kojih je moguce praviti web app. takodje je svaku od tih kontrola moguce prosirivati po sopstvenim potrebama (kao i bilo koji drugi jquery objekat/metod). ocigledno je da nikada nisi pisao jq aplikaciju tako da zaista ne znas o cemu pricas :)

da se vratim na topic ;)

meni se od php fw-ova jedino svidaju codeigniter i kohana... bas zato sto su zamisljeni kao helper metode za lakse pisanje standardnih php stvari (ci kao port railsa na php, a kohana kao php5 only verzija ci-a). kohana ima jos prednost jer je i sam view objekat, sto ci-u jako fali. po mom misljenju web app treba da se sastoji iz odbro osmisljenog server side dela (u kom god jeziku) kome frontend pristupa preko jasno definisanog apija. u tom slucaju je potpuno nebitno da li je frontend html+js, flash... sve ove combo varijante (generisanje jezika) su mi smor

dejanr 18. 02. 2010. 00:42

Citat:

Originalno napisao xippi (Napišite 79857)
sve ove combo varijante (generisanje jezika) su mi smor

Vidi ovaj combo jambo ninju od jezika lunascript: http://www.asana.com/luna

Salu na stranu, malo oftopic ali jako zanimljiv projekat. Naime lunascriptom opisujes aplikaciju, i on generise server i client stranu.
A ako pogledate i ko je u kompaniji, vidi se da ce biti nesto od toga :)

xippi 18. 02. 2010. 01:07

havarija....ko god da stoji iza ovog frankenstajna od jezika :)

Citat:

return <table>
<tr><td>
messages.map(renderMessage)
</td></tr>
<tr><td>
<img src=(session.user.small_pic_url) />
<div>
<input data=session.user.name /> <b>' (your nickname)'</b>
<form onsubmit=postMessage>
<input data=session.new_comment hasFocus=true />
</form>
</div>
</td></tr>
</table>;

ovo me podseca na onaj spageti php... skrolas 2 sata kroz echo za view dok ne nadjes funkciju koja ti treba :)

degojs 18. 02. 2010. 04:00

Citat:

Originalno napisao xippi
ja ne znam sta podrazumevas pod OO konceptima, ali u js-u je to odradjeno jako dobro.

Npr. kako se radi sa interfejsima (definisanje, korišćenje)?

Misha 18. 02. 2010. 06:55

Citat:

Originalno napisao xippi (Napišite 79857)
svaki ciga svoga konja hvali :)

E znao sam da se neko nece dati prevariti i da ce ovako reagovati :1064: Pa nisu valjda ovi iz Googlea takve cige da hvale i kad razloga nema? :) Ono sto oni hvale je prednost koriscenja Jave nad JS u tako velikim projektima, a to ne da stoji... Kako god da okrenes jel znas ti za neku aplikaciju kompleksnu kao Google Wave koja je napisana u cistom JS? Sta mislis zasto ih nema?

Citat:

Originalno napisao xippi (Napišite 79857)
ja ne znam sta podrazumevas pod OO konceptima, ali u js-u je to odradjeno jako dobro

Legendarna recenica :) Ne znam sta je Kartagina al uostalom smatram da to treba razrusiti :) ma gde dobro odradjeni! Koji jos ljudski jezik koristi prototype based pravljenje klasa? i dao si upravo primer jedne od rogobatnosti, nacin kako se prave public/private/privileged clanovi... cista havarija ;)

Citat:

Originalno napisao xippi (Napišite 79857)
ovo sa paradigmom ne razumem ;) postoji jquery user interface biblioteka...

Pored komponent based paradigme ima tu jos svasta

Pogodio si, nisam koristio jQuery za pisanje aplikacija, vrlo svesna odluka, jesam za ubacivanje zanimljivih kotrola u postojece siteove... Al za full web aplikacije sam odabrao ExtJS... Posto nije dovoljno da nesto postoji, mora i da lici na nesto.

Uporedi broj/ozbiljnost ExtJS komponenti / klasa i JQuery UI komponenti. Pogledaj recimo Tab kontrolu, jQuery UI za nju ima 7 eventa, Ext ima 40-tak... jQuery UI nema mikroskopski delic mogucnosti ExtJS-a u globalu...

Citat:

Originalno napisao xippi (Napišite 79857)
web app treba da se sastoji iz odbro osmisljenog server side dela (u kom god jeziku) kome frontend pristupa preko jasno definisanog apija

U potpunosti se slazem, fenomenalna recenica! Kakva je podrska za data-binding sa serverom u jQuery-ju? Ext ima direct tehnologiju za to, ili mozes svaku komponentu da vezes za REST url, jednom linijom codea... Ne, ne, cisti AJAX nije nacin ako si to hteo da kazes :) Cisti AJAX na velikom projektu posle 10-te data binded komponente postaje cisto mucenje...

A sta cemo za ozbiljnije programerske teme, kao memory management? Kako to resavas u cistom JS/jQuery? Da pogadjam, ne resavas?!?! :1074: Samo nacin kako barata sa komponentama sto se tice memorije bi bio dodovljan razlog da se odlucim za Ext umesto jQuery-ja... Onda management stanja aplikacije, history, pa layout management... Kako sve to radi jQuery UI? Reko bih da ne radi nikako :p

Ako se ne varam u jQuery UI moras da pises HTML kad hoces da ubacis komponentu? Ako je to jedini nacin (nisam siguran), samo to je za mene deal breaker. U Ext-u ako neces ne moras al uopste da se spustas na DOM/HTML/CSS nivo... al zesci productivity booster...

Cuj ti njega nikad nisam pisao JS aplikaciju! Pa sta radim poslednjih 6 meseci nego to sto radim :1042:

ivanhoe 18. 02. 2010. 10:37

Citat:

Originalno napisao Misha (Napišite 79853)
Recimo, jel te ne nervira podrska za OO koncepte koju JS ima? Zar nije lepse raditi u jeziku koji ima pravu podrsku za OOP?

s druge strane, jel te ne nervira kad nemas poptunu kontrolu nad kodom koji pravis, nego nesto tamo automatski generise kod, i onda dobijes 50 linija umesto 3, i za neku prostu stvar moras da izvodis vratolomije, jer se programer nije setio da ce ti mozda to trebati? Uvek se setim onih alata za generisanje SQL-a, koji su bili jako popularni pre 10-tak godina i nemogucih, kilometarskih upita koji su se tako dobijali.

Tako da, svako za ima svoje protiv, stvar je u tome sta radis i sta ti je prioritet

bluesman 18. 02. 2010. 10:37

Mister, jel' ti to hoćeš da kažeš da je jQuery sranje? I da ti je potreban neki super-cool memory management u javascriptu? Šta praviš, gmail? Ili sam ja nešto propustio?

Često vidim ljude koji pričaju bolje je ovo, ono, ima još i ovo-ono a na kraju kada pogledaš kod svodi se na show / hide / toggle div :) Ne kažem da je ovo slučaj, nego čisto kao primer ljudi koji olako pljuju po nečemu što ne nikada nisu ni koristili. To je kao kada bih ja pričao da je Lamborghini sranje u odnosu na Ferarri, jer nema ovo-ono a u stvari meni je dovoljan i Fiat Punto za prevoz od tačke A do tačke B.


Vreme je GMT +2. Trenutno vreme je 08:33.

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.