PDA

Pogčedajte punu verziju : sledeca "in" stvar


kodi
19. 05. 2006., 13:27
evo nekog redosleda, onako kako se ja secam...

-u doba tablela bese ona revolucija sa corporate stilovima. i dalje se vuche (pogledati template sajtove)

-pa onda je doshao flash i flash euforija

-XHTML/CSS (eventualno hibridi flash/XHTML)

- sad je Ajax u modi

sta je po vama sledece ???

Ilija Studen
19. 05. 2006., 14:50
Trenutno, a i u skorijoj budućnosti: obimna i nadam se ozbiljna primena JavaScripta. Bogat korisnički interfejs, profesionalne JS biblioteke itd itd.

I videćemo sve više i više videa :)

BraMom
19. 05. 2006., 17:04
Najviše bih voleo da vidim revoluciju.
Html jednostavno nije projektovan za ovo čemu sada služi. Alati postaju previše složeni (VS .NET) da bi omogućili razvijanje web aplikacija koje će na kraju da daju html kao izlaz.

Ajax je više hack, nego tehnologija, flash plugin, javascript (ili kako se već zove) se previše (zlo)upotrebljava.

Vreme je za novi standard, ali se plašim da ga nećemo skoro dočekati, dok neko ne sračuna da je ekonomski isplativ.

jasmanac
19. 05. 2006., 21:56
Najviše bih voleo da vidim revoluciju.
Html jednostavno nije projektovan za ovo čemu sada služi. Alati postaju previše složeni (VS .NET) da bi omogućili razvijanje web aplikacija koje će na kraju da daju html kao izlaz.

Ajax je više hack, nego tehnologija, flash plugin, javascript (ili kako se već zove) se previše (zlo)upotrebljava.

Vreme je za novi standard, ali se plašim da ga nećemo skoro dočekati, dok neko ne sračuna da je ekonomski isplativ.

Nadam se da si napusen pisao ovo :1043:

Ilija Studen
19. 05. 2006., 23:19
Najviše bih voleo da vidim revoluciju.
Html jednostavno nije projektovan za ovo čemu sada služi. Alati postaju previše složeni (VS .NET) da bi omogućili razvijanje web aplikacija koje će na kraju da daju html kao izlaz.

Ajax je više hack, nego tehnologija, flash plugin, javascript (ili kako se već zove) se previše (zlo)upotrebljava.

Vreme je za novi standard, ali se plašim da ga nećemo skoro dočekati, dok neko ne sračuna da je ekonomski isplativ.

Može malo više inforamcija zašto smatraš da su aktuelne web tehnologije i standardi neodgovarajući?

ivanhoe
20. 05. 2006., 00:08
cenim da ce razvoj i standardizacija direktne XML podrske biti prava stvar. Asinhrono otvaranje XML dokumenata, pa XSLT i XPath operacije na tako dobijenom DOM-u mogu lako da potisnu ajax u mnogim primenama, jer ce biti daleko jednostavniji i brzi (realno su komplexniji, ali ce se obrada raditi u C++ optimizovanom kodu, a ne u js-u, pa ce krajnji rezultat biti brzi)

I bas kao sa ajaxom dobar deo ovoga vec postoji na oba browsera i neki ljudi to koriste za projekte zatvorenog tipa, samo nije jos dovoljno jednostavno za crossbrowser upotrebu..

BraMom
20. 05. 2006., 00:24
Nisam se spremao da pišem esej, ali kad me vučete za prste.

Sve zavisi od ugla iz kojeg gledaš, pre svega sam mislio na tzv. "web aplikacije", sajtove koji su bliski desktop aplikacijama. Html jednostavno nije pravljen da služi za kreiranje interfejsa za aplikaciju koja radi tako nešto.

Da navedem primere koji su mi prvi pali na pamet:

1. Iole složenija forma za unos podataka zahteva da ako nešto čekiraš, ili izabereš iz kombo boksa stavku broj 14, da se nešto desi sa kombo boksom levo i/ili se promeni slika i natpis desno

2. WYSIWYG editor
Ilija said: "Nešto slično vBulletinovom editoru, samo da radi u WYSIWYG "modu"."

Rešenje postoji, post back, ili dhtml + javascript, u drugom slučaju malo više javascript-a i to tek od skoro u većini browsera.
Takve stvari se u svakom iole ozbiljnijem alatu za razvoj desktop aplikacija rešavaju bez ikakvih problema. Jednostavniji WYSIWYG editor možeš za windows da napraviš za dan dva...

Sa druge strane klasičan html odavno ne daje maksimum ni u drugim poljima. Evo jedan članak na tu temu Reviving Advanced Hypertext (http://www.useit.com/alertbox/20050103.html).

Mogu sad da pišem zašto mi se ne sviđa <form> tag i kako bih ja voleo da to izgleda, ali da ne davim više, html ćemo svi da koristimo jer je standard. Kao što svi koristimo i ružne, sive, porcelanske šuko utikače iako znamo da može da se napravi bolji, ali šta onda raditi sa svim tim peglama?

nixa
20. 05. 2006., 00:44
ozbiljnije postavljanje flex-a kao platforme uz naravno ono sto je rekao Ilija :)

Pedja
20. 05. 2006., 09:24
Ako gledas iz ugla sta je potrebno, onda je logicno ocekivati da ce web tehnologije da se razvijaju u pravucu da omoguce da web apliakcije vise izgledaju i imaju funkcionalnost kao dektop, pre svega u interfejsnom smislu.

Ako gledas iz ugla potrebe za dzidza bidzama, onda nema sanse da pretpsotavis sta ce neki napaljeni mozak da izmisli, osim da ce to da sljasti i izgleda cool, ali nece imatei neku veliku upotrebnu vrednost. :)

degojs
20. 05. 2006., 14:55
Windows Presentation Foundation.

Nema sumnje da će biti velika stvar. Koliko će uspeti da se nametne kao tehnologija za serverske aplikacije, videćemo, ali potencijalno je big deal.

jablan
22. 05. 2006., 10:05
Može malo više inforamcija zašto smatraš da su aktuelne web tehnologije i standardi neodgovarajući?
Mogu ja da probam: odgovor na ovo pitanje zna svako ko je (dovoljno) radio i desktop i veb aplikacije.
Razvoj alata za desktop aplikacije je išao otprilike ovako:
1) Treba nam biblioteka za GUI
2) Napravimo biblioteku za GUI
3) Napravimo novu verziju biblioteke za GUI
4) GOTO 3

Razvoj alata za veb aplikacije je išto otprilike ovako:
1) Treba nam nešto za hipertekst
2) Napravimo HTML
3) E, zaboravismo, ne bi bilo loše da tu može da se ubudži i neka slika
4) Hmm, evo dodaćemo IMG tag
5) E, ne bi bilo loše da to može da se poveže sa bazom
6) Evo napravićemo CGI
7) E, mnogo je komplikovano da se iz ovog C-a generiše HTML, daj nešto prostije
8) Evo biblioteka. Ne, ne, evo Perl, on ti je zgodniji
9) Daj nešto lakše, bogati, ostadosmo bez geekova, svi su otišli na takmičenje za most-obfuscated Perl program
10) Evo PHP
11) Ok, nije to loše. A šta ćemo sad sa klijentom, vidi kakav je šugav ovaj HTML
12) Evo ti CSS. I evo ti JavaScript, ali pazi, mnogo je gadan
13) Dobro, daj šta daš...
14) Super je ovo, evo radi u brauzeru ABC, ali vidi kako mi puca u XYZ!
15) Šta da ti kažem, čekaj iduću verziju... Ili koristi CSS hack sa negativnom marginom...
16) E, cimanje mi je da stalno refrešujem 100kb stranice za promenu jedne labele, smisli mi nešto...
17) Evo, MS napravio XMLHTTPRequest. Evo ovamo ima isto to samo malo drugačije...
18a) U, suuper... Ni 15 godina nije prošlo a ovo već liči na desktop aplikacije...
18b) E, je*o te veb, vraćam se na Clipper

toxonics
22. 05. 2006., 12:08
Razvoj alata za veb aplikacije je išto otprilike ovako:


Zaboravio si neke jako bitne detalje u razvoju weba, idu negde izmedju stavke 7 i 11 cini mi se:
- E sto je kul ova Java mnogo se lakse pisu programi nego u C i C++, ajde da je uglavimo u browser da pravimo mnogo cool stvari sa apletima
... 2-3 godine kasnije ...
- E ovi apleti su s**** mnogo dugo se ucitavaju i sporo rade ajde da ih ipak batalimo

Mislim da ce se za jedno 10-15 godina "in stvar" na webu biti: Ljudi ovaj web nam pojede zivote, samo blejimo u monitore i upijamo beskorisne informacije, ajmo svi u prirodu da slusamo ptice i mirisemo sveze pokosenu travu, da nam deca saznaju sta je to krava ili ovca (ako toga tada bude uopste bilo), ali tada ce vec biti kasno...

godza
22. 05. 2006., 12:59
care, sad je vec tako, kakvih 10-15 godina.

toxonics
22. 05. 2006., 13:11
ma znam da je vec sad tako nego se jos niko nije osvestio (sto znaci pare za sve prisutne), ali osvestice se, jednom...

Za dolazak tog dana preporucujem da se pripremimo. Jednostavan program sastavljen od casova obrade metala, vodoinstalaterstva, krecenja, auto mehanike (sa posebnim osvrtom na elektricne automobile buducnosti), kuvanja i na kraju ako sve to propadne dodatni casovi heklanja i strikanja za svaki slucaj, nikad se ne zna. Za ljude sa posebnim sposobnostima uvek je tu politika, diplomatija ili za bas posebne dikatorstvo, hegemonizam itd.

p.s zaboravio sam da pored Jave ubacim i Flash sa otprilike istom pricom osim sto su falinke druge, svi ih valjda znamo

BraMom
22. 05. 2006., 14:47
Jablan je slikovitije objasnio šta sam hteo da kažem. To je suština, potpisujem

Meni je jednostavno neprirodno da više od polovine radnog vremena trošim na mačevanje sa tehnologijama da bih isprogramirao GUI kakav je napravio dizajner.

Možda je poenta u tome da se neki od programera ovde nisu bavili drugim vidovima programiranja, osim za web, pa im je moje "ogovaranje" tehnologije izgledalo kao trip (narkomanski).

ivanhoe
22. 05. 2006., 15:22
Meni je jednostavno neprirodno da više od polovine radnog vremena trošim na mačevanje sa tehnologijama da bih isprogramirao GUI kakav je napravio dizajner.

Možda je poenta u tome da se neki od programera ovde nisu bavili drugim vidovima programiranja, osim za web, pa im je moje "ogovaranje" tehnologije izgledalo kao trip (narkomanski).

mada opet moze da se kaze da se vi niste bavili nikakvim drugim vidovima programiranja nego za jednu platformu, pa niste iskusili "zasto koj moj ne radi ovo na solarisu, kad radi pod vaxom" ili "BSD vs. Linux vs. Windows" programiranje i slicne price..

nije sa desktop/workstation aplikacijama nista bolja situacija nego na webu, samo cela prica traje duze... Isto tako su ljudi radili u asembleru, pa Cobolu, Fortranu, C-u, da bi se doslo do danasnje varijante gde prevuces par kontrola misem na formu i pozoves nekoliko API-ja.. to je trajalo 20 godina da se stigne dotle, a i dalje to nije bas tako idealno ako radis na vise od jedne platforme...

jablan
22. 05. 2006., 15:35
Ivane, ovde nije reč o raspravi multiplatformsko veb vs. multiplatformsko desktop programiranje, molim te da ne širiš priču. Ilija je pitao šta možemo zameriti današnjem vebu sa stanovišta developera i mi smo dali odgovor... Naravno da je desktop programiranje prvih n godina isto bauljalo i isto je bio problem napraviti Hello world aplikaciju, ali je sad (gde "sad" znači poslednjih 10-ak godina, od Delphi 1.0 naovamo) stvar bitno drugačija. Veb ima objektivnih prepreka da postigne istu ili blisku produktivnost i ne nazire se da će u bliskoj budućnosti stvari biti bolje.

Mislim, sama činjenica da moraš da znaš najmanje 3 programska jezika da bi napisao osnovnu veb aplikaciju nešto govori, zar ne?

Ilija Studen
22. 05. 2006., 16:10
Priroda weba je bitno drugačija od desktop okruženja. Kad instaliraš program očekuješ da on nešto RADI. Kad posetiš sajt u većini slučajeva uglavnom tražiš sadržaj, ne i uslugu. Tek u zadnjih par godina su web aplikacije postaje široko rasprostranjene.

Iz tog razloga HTML će uvek morati biti opisni jezik. CSS je stvarno jednostavan što se definisanja izgleda tiče. Jedino što tu škripi je browserska podrška, ali i to polako dolazi na svoje mesto.

Ono što još uvek nije dovoljno ispeglano je dodavanje ponašanja stranici. Ljudi tek u zadnjih godinu dve počinju na JS da gledaju kao na stvarno objektno orijetisan jezik, pojavljuju se razne biblioteke itd. Radi se na tome i to sve ide prilično dobro. JS je visoko dinamičan skript jezik (po dinamičnosti se može uporediti sa Rubyjem ili Pythonom) tako da se pojavljuju razni načini da se doda ponašanje, a da se ne zagadi markup (pogledaj css event selectors (http://encytemedia.com/event-selectors/)), razne UI biblioteke (pogledaj YUI (http://developer.yahoo.com/yui/) i DOJO (http://dojotoolkit.org/)) i tako dalje.

Sve je još dosta daleko od point and click, drag and drop načina rada, ali ja već vidim aplikaciju koja liči na DW, ali za razliku od njega ima pravu JS industriju pod haubom i radi slično kao Delphi. Već danas je moguće napraviti sličan alat, samo je pitanje kad će neko odvojiti godinu dana i napisati ga...

Btw, nisu 3 programska jezika već dva opisna i jedan programski. Velika razlika... Čak i rešenja kao VS na neki način čuvaju podatke o aplikaciji i komponentama koje je čine. Jedina razlika je što ti podaci više nisu potrebni nakon kompajliranje, dok su kod weba potrebni browseru da bi pravilno prikazao stranicu i dodelio joj ponašanje.

jablan
22. 05. 2006., 16:33
Sve je još dosta daleko od point and click, drag and drop načina rada, ali ja već vidim aplikaciju koja liči na DW, ali za razliku od njega ima pravu JS industriju pod haubom i radi slično kao Delphi.
Blago tebi, daćeš mi malo toga što imaš da i ja vidim takve stvari. ;) Većina developera danas ne može da kodira bez inteligentnog editora, a ja se dosad nisam sreo ni sa jednim koji izlazi na kraj sa JavaScriptom.
Btw, nisu 3 programska jezika već dva opisna i jedan programski. Velika razlika...
Mislio sam na dva programska (JavaScript i jedan, nadam se samo jedan, serverski) jezika plus HTML. Sve jedno kakva, u sva ta tri jezika ti možeš (neki to koriste, a mnogi nehotično i zloupotrebljavaju) da utičeš na izgled stranice. Što je u opštem slučaju jedan mess. Da te podsetim da u većini realnih slučajeva nemaš tebi očigledno prirodnu situaciju da radiš sa jednim superprogramerom (samim sobom), već ekipom osrednjih developera koji po ljudskoj prirodi teže "hack and run" programiranju.

Ilija Studen
22. 05. 2006., 17:04
Blago tebi, daćeš mi malo toga što imaš da i ja vidim takve stvari. ;) Većina developera danas ne može da kodira bez inteligentnog editora

Slično okruženje za razvoj je već napravljeno: VS. Stvarno ne znam kako je to postignuto pošto nisam radio u VS, ali to jednostavno govori da stvar nije nemoguća za realizaciju. Uz tehnologije koje odvajaju konstrukciju, prezentaciju i ponašanje (na obe strane) moguće je napraviti kvalitetan IDE. Razmisli sam, da li bi mogao napraviti alat za razvoj aplikacija ako znaš da ti tehnologija odvaja jasno i nedvosmisleno odvajanje ta tri dela (konstrukciju, prezentaciju i ponašanje)?

dosad nisam sreo ni sa jednim koji izlazi na kraj sa JavaScriptom.

JavaScript jeste čudan. C-olik je, ali je toliko daleko od svih C-olikih jezika pa zavara. Ljudi uglavnom kontaju da ako im je sintaksa poznata da će lako izaći na kraj sa samim jeziku i čine osnovnu grešku. Kao i bilo koji drugi jezik i njemu treba posvetiti vremena da bi se savladao. Kratak uvod za programere (http://simon.incutio.com/slides/2006/etech/javascript/js-tutorial.001.html).

Ne treba zaboraviti osnovnu stvar: JS se razlikuje od većine programskih jezika sa kojima ste radili i to što vam je sintaksa poznata vam daje samo malu prednost (možda vas čak i usporava) u odnosu na totalnog početnika.

Mislio sam na dva programska (JavaScript i jedan, nadam se samo jedan, serverski) jezika plus HTML.

Sorry, skroz sam isključio iz priče server side jezike. Ako ćemo po knjizi, njihova jedina uloga je da isprintaju stranicu, uključe odgovaraje CSS i JS fajlove. U AJA (može bez X) priči sve što treba je da proslede par objekata nakon što odrade posao.

Sve jedno kakva, u sva ta tri jezika ti možeš (neki to koriste, a mnogi nehotično i zloupotrebljavaju) da utičeš na izgled stranice. Što je u opštem slučaju jedan mess.

Slažem se. To jednostavno znači da su potrebne osobe koja dobro poznaje client side da sve to uveže kako treba (koja može da kaže da je takav i takav markup sranje, da želi takav output za asinhrone zahteve itd). Malo je glupo da svi članovi tima znaju te stvari. Jednostavno zahteva se poseban tip stručnjaka koje naši fakulteti još uvek ne proizvode i ne možeš ih naći na svakom ćošku...

---

Ne kažem da su današnje web tehnologije savršene ili da nema mesta za unapređenja. Samo to što izgledaju malo čudno ljudima koji ne mogu odmah da iskoče iz desktop alata i prihvate se web razvoja bez perioda prilagođavanje ih ne čini lošim. Mogu biti dosta bolje, ali loše nisu...

bluesman
22. 05. 2006., 18:05
Ilija, kada u tvom postu dođem do mesta gde priželjkuješ "biblioteke" nemam više snage da čitam dalje. Sorry, jednostavno ne mogu. Aman... u svakom postu imaš bar 3 puta reč "biblioteka", "framework", ... kada te čitam imam utisak da si neki beta tester ili nešto slično koji mora da isproba sve što postoji.

jablan
23. 05. 2006., 00:08
JavaScript jeste čudan. C-olik je, ali je toliko daleko od svih C-olikih jezika pa zavara. Hehe, čovek kad čita tvoje postove prosto poželi da napusti tropsku plažu na kojoj sedi dok ga oskudno odevene cice poje koktelima i otrči u najbliži internet kafe ne bi li proveo još koji dragoceni trenutak u (avaj tako kratkom) životu radeći najlepšu stvar na svetu: kodirajući JavaScript. E pa, idi ti samo, stići ću te ja...

Slično okruženje za razvoj je već napravljeno: VS. Stvarno ne znam kako je to postignuto pošto nisam radio u VS, ali to jednostavno govori da stvar nije nemoguća za realizaciju. Uz tehnologije koje odvajaju konstrukciju, prezentaciju i ponašanje (na obe strane) moguće je napraviti kvalitetan IDE. VS zaista izvlači dosta iz poslednjih trendova u brzom razvoju aplikacija - dobar deo svakodnevnih banalnosti (HTML tagovi, čuvanje stanja kontrola između postbekova itd.) veb programiranja do određene mere uspeva da apstrahuje, ali pokaži mi makar jednog ASP.NET programera (bolje reći ASP.NET projekat) koji nije prinuđen da svako malo "zgreši" i uprlja prste html-om i javaskriptom. Takođe, pokaži mi jednu ASP.NET aplikaciju koja daje lep, pravilan i kompaktan HTML. Nema. Jednostavno - ne može se, pošto osnova, prosto rečeno, nije otpočetka postavljena na zdrave noge.

Razmisli sam, da li bi mogao napraviti alat za razvoj aplikacija ako znaš da ti tehnologija odvaja jasno i nedvosmisleno odvajanje ta tri dela (konstrukciju, prezentaciju i ponašanje)? Mogao bih, ali znam da mi tehnologija ne radi to što ti kažeš da radi. Veb tehnologija je uspela upravo suprotno: da se više ne zna šta čemu služi i šta treba za šta da se koristi.

Konkretno, ja u ASP.NET-u mogu da odštampam "Hello world" u korisnikovom brauzeru na najmanje tri načina: kroz ASPX - odnosno HTML šablon stranice, kroz Javascriptov document.write i kroz serverski C#, dodajući Literal kontrolu u serverski DOM (vrlo je moguće da može i kroz neki bolesni CSS ali da se zasad zadržimo na ovome). Što je najgore, sva tri načina su realno u upotrebi, i korisnik, kao ni vođa softverskog tima bez detaljnog ulaska u kood, apsolutno nije svestan koji je od načina u igri.

Drugim rečima, tehnologija ti tu ništa jasno i nedvosmisleno nije odvojila, već ti jedino daje mogućnost da ti to radiš, pod uslovom da si superprogramer. Ili da to ne radiš i praviš mess od projekta, pod uslovom da nisi. A 90% programera nisu.

Sorry, skroz sam isključio iz priče server side jezike. Ako ćemo po knjizi, njihova jedina uloga je da isprintaju stranicu, uključe odgovaraje CSS i JS fajlove. U AJA (može bez X) priči sve što treba je da proslede par objekata nakon što odrade posao.
Bojim se da ti i ja čitamo knjige različitog žanra. Šta znači "par objekata"? Biznis objekata? To pretpostavlja da ti i u javaskriptu i u serverskoj aplikaciji imaš deo biznis logike. Kako ti se kreira ta logika? Ko "preslikava" klase iz PHP-a (C#-a) u Javaskript? Kakve su performanse tih javaskript biznis objekata na klijentu? Koliko toga (zapreminski) može da bude? Na kraju krajeva, banalno pitanje iz druge teme (nažalost, ja čitam uglavnom realiste): kako vršiš lokalizaciju datuma?

Shvati da je Javaskript, ma koliko bio moćan i tebi simpatičan (heh, nekad bih se i ja ložio na stvari tipa lambda funkcije i editovanje klasa "na živo"), ipak u startu zamišljen kao jezik za rollover sličice. Mogu oni njega proširivati i ubrzavati do sutra, sve dok je ispod njega kržljavi HTML/CSS, a negde tamo "s one strane HTTP-a" neki PHP ili C#, neće tu biti laganog programiranja.

---

Da probam da rezimiram suštinu našeg neslaganja: ti tragaš za alatom (bibliotekom, frejmvorkom) koji će ti omogućiti da na najelegantniji način i uz najviše uživanja napišeš veb aplikaciju. Ja tragam za alatom (bibliotekom, frejmvorkom) koji će mi omogućiti da ne dobijem nervni slom kad smrtnim programerima ostavim nešto da urade, dođem kroz nedelju dana i pogledam kood.

Ilija Studen
23. 05. 2006., 01:26
Biblioteke - uloga im je da reše problem ili skup problema na sistematičan način i da se mogu koristiti više puta. To se .NET i Java ekipi ne mora objašnjavati jer se te stvari kod njih podrazumevaju. Razlog zašto me zanimaju je zato što volim da vidim kako drugi rešavaju probleme. Mnoge dobre stvari sam naučio iz njih... Verujem u stalno usavršavanje i mozak mi je još uvek svež da mogu da pratim. Nikad nisam bio beta tester :1074:

Datum - formatiram na serveru na osnovu konstante, podešavanja u profilu korisnika ili kako već rešim da oradim lokalizaciju (i da li uopšte smatram da je ista potrebna). Zašto bi bilo ko koristio client side tehnologiju za to? Nepraktično i besmisleno.

Dve biznis logike - Postoji samo jedna i ona je na serveru. Browseru su pružaju JS objekti u obliku koji se lako konverzuje kako bi isti mogao lakše da doda ponašanje stranici. Drugi slučaj je da se prosleđuje već sažvakan HTML koji se samo insertuje na odgovarajuće mesto (innerHTML). Zavisi od potreba...

pokaži mi jednu ASP.NET aplikaciju koja daje lep, pravilan i kompaktan HTML. Nema.

Microsoft je poznat po tome da ne šije previše standarde, a to što ASP.NET ne daju "pravilan i kompaktan HTML" jednostavno znači da im to nije ni bio jedan od prioriteta. Međutim, to ne znači da tako nešto nije moguće ostvariti.

--

XHTML i validacija - pravili su mi problema dok ga nisam naučio
CSS - pravio mi je probleme dok ga nisam naučio
JS - pravio mi je probleme dok ga nisam naučio (još uvek sam u procesu učenja, ali sam dosta toga već pohvatao)

Mislim da je pattern ovde očigledan ;)

--

Što se običnog programera tiče: ove stvari se ne uče na fakultetima i sve dolazi sa radom. Ne možeš očekivati da neko ko se nije susreo sa samom platformom odjednom drži sve konce u rukama. Nađi nekog ko može i daj mu taj posao... Situacija je ista kao kad bi grafičkom dizajneru u firmi dao da dizajnira bazu podataka samo zato što je dizajner ;) Vremenom bi možda i naučio, ali ne verujem da bi rezultat bio zadovoljavajuć u prvo vreme.

nixa
23. 05. 2006., 01:42
pokaži mi jednu ASP.NET aplikaciju koja daje lep, pravilan i kompaktan HTML. Nema.

Evo upravo sedim i radim sa jednim programerom koji pravi validan XHTML kod :) u pitanju je ASP.NET 2.0 web aplikacija ( ili ti web 2.0 aplikacija :D )

ivanhoe
23. 05. 2006., 03:53
Shvati da je Javaskript, ma koliko bio moćan i tebi simpatičan (heh, nekad bih se i ja ložio na stvari tipa lambda funkcije i editovanje klasa "na živo"), ipak u startu zamišljen kao jezik za rollover sličice. Mogu oni njega proširivati i ubrzavati do sutra, sve dok je ispod njega kržljavi HTML/CSS, a negde tamo "s one strane HTTP-a" neki PHP ili C#, neće tu biti laganog programiranja.

a kako bi ti resio client/server? Pa uvek moras da imas
klijent<->neki protokol<->server zar ne? Ne postoji alternativno, jednostavno resenje za to, ipak je to mnooooooogo komplikovanija situacija od desktop programiranja.

Zamisli alternativnu situaciju da html +css ne postoje, nego da se net koristi iskljucivo tako sto programeri pisu i klijent i server delove od nule? Znas sta bi se desilo? Neko bi pre ili kasnije napravio browser i istorija bi krenula istim tokom :1042:

Dalje sto se tice html+CSS+javascript osnove, evo dosta nas ovde koristi FF koji je prakticno ceo zasnovan upravo na "krzaljavom" XML/CSS/Javascriptu i meni licno je to super koncept. Takodje ovaj novi windows interfejs, Avalon ili kako se vec zove, ce raditi na potpuno istu foru, zar ne? Ceo interfejs ce biti XML + CSS. Bice da postoji neki razlog zasto MS to zeli da koristi, nisu oni sisali vesla, uvek su do sad imali sluha da pokradu najbolje ideje i iskoriste ih do maximuma.

jablan
23. 05. 2006., 08:22
Datum - formatiram na serveru na osnovu konstante, podešavanja u profilu korisnika ili kako već rešim da oradim lokalizaciju (i da li uopšte smatram da je ista potrebna). Ok, a sad mi reci u šta, po tvojoj kategorizaciji (konstrukcija, prezentacija, ponašanje) spada formatiranje datuma? Po meni bi trebalo da spada u prezentaciju. Da vidimo šta je po tvojim knjigama zaduženo za prezentaciju... HTML i/ili CSS. Ni jedan ni drugi to ne omogućavaju, već to moraš da radiš na serveru, u aplikaciji (koja je, jelte, zadužena za konstrukciju - ili sam ja pogrešno shvatio tu "sasvim jasnu i očiglednu podelu koju nameću današnje veb tehnologije"...
Dve biznis logike - Postoji samo jedna i ona je na serveru. Browseru su pružaju JS objekti u obliku koji se lako konverzuje kako bi isti mogao lakše da doda ponašanje stranici. Ti JS objekti moraju da na barem najprimitivniji način, oslikavaju same biznis klase, zar ne (npr kolekcija postova na blogu, sa atributima naslov, tekst, autor, vreme)? Dakle na serveru moraš, osim klasa u matičnom jeziku, da iste klase (ili barem neke uprošćene slogove) kreiraš i kao skup javaskript direktiva koje šalješ na interpretaciju brauzeru?
Drugi slučaj je da se prosleđuje već sažvakan HTML koji se samo insertuje na odgovarajuće mesto (innerHTML). Zavisi od potreba... I tu udaraš poslednji ekser na kovčeg priče o jasnoj razdvojenosti konstrukcije, prezentacije i ponašanja. Malo HTMLa na klijentu, malo na serveru, malo se generiše iz javaskripta, malo na serveru. Vrlo logično. I nadasve lako za dibagiranje.
XHTML i validacija - pravili su mi problema dok ga nisam naučio
CSS - pravio mi je probleme dok ga nisam naučio
JS - pravio mi je probleme dok ga nisam naučio (još uvek sam u procesu učenja, ali sam dosta toga već pohvatao) Upravo o tome se radi. Godinama treba da učiš da ne bi pisao horor programe. Pod uslovom da imaš želje i snage da učiš. Većina programera je tu da odradi svoju platicu i ode kući. Njima je neophodna platforma koja će ih primorati da ne prave sranja on a daily basis.

jablan
23. 05. 2006., 08:27
Zamisli alternativnu situaciju da html +css ne postoje, nego da se net koristi iskljucivo tako sto programeri pisu i klijent i server delove od nule? Znas sta bi se desilo? Neko bi pre ili kasnije napravio browser i istorija bi krenula istim tokom
Wrong. Sa ovom pameću i iskustvom ljudi bi iz mesta preskočili HTML i odmah napravili nešto slično XAML-u ili XUL-u. Razlika jeste naizgled mala (i XHTML je isto XML i isto ima tagove) ali je u isto vreme i fundamentalna, jer su ovi jezici taman toliko višeg nivoa od HTML-a da dozvoljavaju normalno kodiranje normalnim programerima, nasuprot današnjem veb programiranju koje je 80% hakovanje i 20% programiranje.

Mislim, stvar je kristalno jasna - jezik koji je u startu nastao kao jezik za pravljenje međusobno povezanih tekstova (setite se šta znači HTML uopšte) počeli su da vuku iz jedne zloupotrebe u drugu i na kraju je HTML postao jezik za pisanje interfejsa poslovnih aplikacija. Ma koliki mozgovi da su radili na njegovom usavršavanju i celom konceptu (JS, CSS etc), to je i dalje isti, backward kompatibilni jezik za pisanje veb prezentacija.

I mada i lično svakodnevno učestvujem u tom "gang rape" sirotog HTML-a i, na kraju krajeva, živim od toga, nije mi nimalo prijatno što to radim. ;)

Ilija Studen
23. 05. 2006., 14:23
Eto. Sprecijalani formati za razvoj aplikacija. Samo još da jedan od njih postane standard... Lično se ne osećam preterano ograničenim ni ovim što sad imam na raspolaganju, jer se uz malo discipline i uloženog vremena mogu praviti upotrebljive i bogate aplikacije i sa ovim.

100% se slažem sa ovim za HTML nasleđe. Ne možeš da očekuješ da format koji je osmišljen za prezentovanje sadržaja odjednom odgovara svima.

Ako ćemo o horor programima tu sam sebi praviš horor. Činjenica je da ti tehnologije ne pomažu da izbegneš tu situaciju, ali opet sve zavisi od tebe. Web aplikacije mogu da budu prilično lepo sređene, mnogo lepše od nekih aplikacija razvijenih na platformama koje ti pomažu da izbegneš horror show, a opet mogu da budu u neviđenom haosu. Uostalom, horror show nije rezervisan samo za web aplikacije zar ne? To je opšti problem.

--

Formatiranje datuma je deo prezentacije, ali zbog načina na koji su web aplikacije organizovane i činjenice da lokalizacija nikad nije bila obaveza browsera to je najbolje uraditi na serveru. Kao što i sam znaš i kod na serveru imaj svoj prezentacioni deo i formatiranje smestiš tu. Tada formatiranje datuma na klijent strani postaje deo konstrukcije, ali je ipak ono ostalo u prezentacionom delu kad gledaš celu aplikaciju.

Ako je klijent u stanju da odradi lokalizaciju odradi to na njemu, ukoliko nije (a browser nije) odradi to gde misliš da je najbolje. Uostalom, nisam video da web developeri prave neke velike probleme oko toga.

--

Bah... Mnogo prazne priče. Priroda weba je takva da nameće mnogo ograničenja (cross platform, stateless protokol kao osnova itd) tako da su web tehnologije razvijene kako bi se uklopile u tu sliku. Videćemo kako će se sve dalje razvijati, a do tad kako (i koliko) znamo i umemo.

--

Umalo da zaboravim: biblioteka, framework, biblioteka, framework, biblioteka, framework. ;)

jablan
23. 05. 2006., 15:10
Uostalom, horror show nije rezervisan samo za web aplikacije zar ne?
Nije, ali je kod veb aplikacija horror show nekako "prirodno stanje stvari". Čim ima nasilno i neprirodno iskasapljene nivoe (sama činjenica da je prinuđen da koristi najmanje 3 jezika govori u prilog ovome), čovek nekako prihvata kasapljenje (engl: hack) kao normalan način programiranja.

Usudio bih se čak ići dotle da tvrdim da duže bavljenje veb programiranjem pravi hakere od programera. A od te tačke nadalje mu nikakve biblioteke (biblioteeeekaaa!) i frejmvorci (freeeejmvooork!) ne mogu pomoći da sačuva integritet i eleganciju (krenuh da kucam teritorijalni suverenitet ;)) kôda.

jasmanac
23. 05. 2006., 15:30
A sto vi malo ne bi prosetali da Kneza da vidite kakvih cica ima tamo? :D

ivanhoe
23. 05. 2006., 18:20
A sto vi malo ne bi prosetali da Kneza da vidite kakvih cica ima tamo? :D


zato sto su nas ucili da razdvajamo sadrzaj od prezentacije :D :1042:

Ilija Studen
23. 05. 2006., 19:11
Kad bi se odlučio na taj poduhvat to bi bila jako duga šetnja ;)

jasmanac
23. 05. 2006., 19:18
Ilija, zabrinjavas me :1053:

Ne znam za vas ali ja ovaj posao uopste ne shvatam toliko ozbiljno. Dobijem projekat, odradim, naplatim i onda odem napolju da se zezam sa prijateljima/porodicom/devojkom i potrosim taj novac ili se u najmanju ruku lepo provedem ;) I to sa pravim ljudima! a ne tamo nekim njihovim elektronskim zapisima..

mungos
25. 05. 2006., 11:01
Ala ste se upleli u tehnologiju. Što se Weba tiče, već postojeća stvar koja je već sada zanimljiva jeste COMET. Konkretno, sinhron je u odnosu na asinhroni AJAX, direktna primjena kako radi su Web 2.0 Instant Messanger aplikacije kao što su Meebo i integrisani Gtalk u Gmailu.
http://en.wikipedia.org/wiki/COMET_%28programming%29

Inače, ono o čemu je Jablan govorio jeste da se i dalje radi o budženju starog dobrog HTML-a, što u osnovi ima za posledicu da su Web aplikacije postali mainstreem servisi na mrežu, što nama koji stvari gledaju sa interfejs strane dosta komplikuje stvari, odnosno neophodan je fokus na behavior korisnika, to jeste interakcioni dizajn. Znači, što se tiče intefejsa, sledaća velika stvar je interakcioni dizajn.

http://www.biznisblog.com/tekstovi/interakcioni-dizajn

jablan
25. 05. 2006., 12:05
Ne znam za vas ali ja ovaj posao uopste ne shvatam toliko ozbiljno. Dobijem projekat, odradim, naplatim i onda odem napolju da se zezam sa prijateljima/porodicom/devojkom i potrosim taj novac ili se u najmanju ruku lepo provedem ;) I to sa pravim ljudima! a ne tamo nekim njihovim elektronskim zapisima.. To koliko se neko unosi u svoj posao je potpuno lična stvar i treba tako i da ostane. Entuzijazam i, na kraju krajeva, ambicije se razlikuju od osobe do osobe. Da ne govorim o tome da "ozbiljnost shvatanja" ovog posla ne mora da ima veze sa količinom vremena koje mu posvećuješ. Znam dosta programera koji rade 10+ sati dnevno a ne pokazuju nikakvo interesovanje za struku dalje od neophodnog minimuma potrebnog za obavljanje svakodnevnih zadataka.

Tako da, ono, ko ti garantuje da ja svoje postove nisam pisao sa Obilićevog venca? ;)

Ilija Studen
25. 05. 2006., 17:27
Izgleda da nismo jedini: Talking about JavaScript When We Should Be Drinking Beer (http://www.vivabit.com/bollocks/2006/05/25/talking-about-javascript-when-we-should-be-drinking-beer).

Btw, Comet je super, samo ima smisla u prilično malom broju slučajeva.

ivanhoe
25. 05. 2006., 21:07
Ala ste se upleli u tehnologiju. Što se Weba tiče, već postojeća stvar koja je već sada zanimljiva jeste COMET. Konkretno, sinhron je u odnosu na asinhroni AJAX, direktna primjena kako radi su Web 2.0 Instant Messanger aplikacije kao što su Meebo i integrisani Gtalk u Gmailu.
http://en.wikipedia.org/wiki/COMET_%28programming%29



uf, ocekivao sam ko zna sta, a to je praistorijska fora da se ne zatvori konekcija, nego server ostavi otvoren stream, povremeno samo saljuci keep-alive, i kad se nesto desi onda posalje to browseru. Pa to se radilo jos u proslom veku :), 99% php chatova koristi tu foru. Eto sad su ga nazvali "Comet" i sad je to kao nesto revolucionarno, svasta...

Uzgred ta tehnika je prihvatljiva jedino ukoliko se napise zaseban server sa malim memory footprintom, specijalno za to. Sa apacheom je prilicno neupotrebljivo jer svaka konekcija blokira po jedno apache dete koje zauzme svako po najmanje 2MB, i to dok god traje konekcija (cak i kad se nista ne salje sa servera),a ni sa lighthttpd nije bolje, iako on ne forkuje decu, jer on mora da pokrene po jedan fastCGI proces za svaku konekciju i da ga drzi aktivnim.

oliver
26. 05. 2006., 20:52
Uzgred ta tehnika je prihvatljiva jedino ukoliko se napise zaseban server sa malim memory footprintom, specijalno za to. Sa apacheom je prilicno neupotrebljivo jer svaka konekcija blokira po jedno apache dete koje zauzme svako po najmanje 2MB, i to dok god traje konekcija (cak i kad se nista ne salje sa servera),a ni sa lighthttpd nije bolje, iako on ne forkuje decu, jer on mora da pokrene po jedan fastCGI proces za svaku konekciju i da ga drzi aktivnim.

'oću ovo stavim u potpis! jako je mocno ako iskljucis mozak i pravis se da ne kapiras o cemu se radi :D el mogu? :))

ivanhoe
26. 05. 2006., 21:29
'oću ovo stavim u potpis! jako je mocno ako iskljucis mozak i pravis se da ne kapiras o cemu se radi :D el mogu? :))


lol :D
blah, samo napred, mada mi se nekeko cini da to bas i nije nesto pozitivno za mene :)