[ wex-alpha @ 01.06.2010. 23:07 ] @
Danas mi se desila ista stvar po treci put.

Pricam sa C# developerom, i kazem mu da radim aplikacije u wpf.
Cudan pogled s njegove strane... i komentar hajd super... i kako ide?

Mozda i grijesim, ali imam dojam da neki od njih su culi za wpf, ali malo ili nimalo o njemu znaju.

Ne krivim ih, jer treba opet sjesti i uzeti knjigu u ruku.

Zato sam dosao na ideju da napravim skromni wpf demo, koji pokazuje sta je to. Umjesto da trosim rijeci, wpf moze ovo, ono...

Aplikacija ima dvije forme koje unose 3 vrijednosti u bazu (u ovom slucaju SQLite). Vrijednosti su ID, ime i prezime. Sasvim jednostavna baza.

Obadvije forme imaju iste kontrole i istu funkcionalnost (dijele istu bazu). Samo jedna forma je tradicionalna WinForma a druga je wpf forma.

Naravno, ovaj primjer jedva da je zagrebao povrsinu wpf-a.




Ako iko bude imao koristi od ove aplikacije, bit ce mi mnogo drago :)


[ Shadowed @ 02.06.2010. 00:55 ] @
Da, ljudi cesto nemaju pojma o tome jer jednostavno rade svoj posao i ne gledaju mnogo sa strane (ili napred, mozda bolje reci).
Meni licno je WPF fenomenalan i radije radim u njemu nego u WinForms. Osim nekog test programa koji sam radio pre par meseci, ne secam se da sam skoro nesto radio u WinForms.
[ mmix @ 02.06.2010. 07:32 ] @
ne znam dal bi mozda pomoglo da pokrenemo temu sa spiskom raspolozivih 3rd party kontrola za wpf/silver?
[ logic_rabbit @ 02.06.2010. 08:10 ] @
Citat:

wex-alpha

Danas mi se desila ista stvar po treci put.
Pricam sa C# developerom, i kazem mu da radim aplikacije u wpf.
Cudan pogled s njegove strane... i komentar hajd super... i kako ide?

Mozda i grijesim, ali imam dojam da neki od njih su culi za wpf, ali malo ili nimalo o njemu znaju.

Ne krivim ih, jer treba opet sjesti i uzeti knjigu u ruku.

Zato sam dosao na ideju da napravim skromni wpf demo, koji pokazuje sta je to. Umjesto da trosim rijeci, wpf moze ovo, ono...

Aplikacija ima dvije forme koje unose 3 vrijednosti u bazu (u ovom slucaju SQLite). Vrijednosti su ID, ime i prezime. Sasvim jednostavna baza.

Obadvije forme imaju iste kontrole i istu funkcionalnost (dijele istu bazu). Samo jedna forma je tradicionalna WinForma a druga je wpf forma.

Naravno, ovaj primjer jedva da je zagrebao povrsinu wpf-a.
Ako iko bude imao koristi od ove aplikacije, bit ce mi mnogo drago :)


Fin primjer da se ljudi zainteresuju. Pogledao sam malo source code tvoje aplikacije.
Par sugestija :
1) Drop shadow efekat uzima dosta performansi pogotovo na starijim racunarima.
2) Pogledaj sta je MVVM pattern.

[ mmix @ 02.06.2010. 08:29 ] @
Ja koliko znam MVVM nije neophodan ni za silverlight, a kamoli za destop aplikacije, ne?
[ logic_rabbit @ 02.06.2010. 08:40 ] @
MVVM nije neophodan ni za WPF ni za Silverlight, ali se podrazumjeva,donosi mnoge prednosti i svi ga koriste.
Ja ne bi nista radio ni u WPF ni u Silverlight-u, a da ne koristim MVVM.
Ako ne koristim taj pattern to mi dodje na isto kao da sam ostao na Windows forms...
[ mmix @ 02.06.2010. 09:47 ] @
Ne koriste ga svi, isto kao i winforms MVC koriste ga "zaludnici" koji rade inhouse za platu i mogu da utrose tri puta vise vremena da urade nesto. :) U realnom svetu ne koristis ni MVC ni MVVM za hello world aplikacije, cak ni za prakticne aplikacije sa nekoliko cak i desetak formi. Ima nekog smisla za silverlight business aplikacije koje idu na javnu konzumaciju pa su design-intensive, ali za backofise alate koji treba da zamene stare battleship-gray aplikacije to je overkill i neodgovorno trosenje kompanijskih resursa. Ovo postaje jos jedan od MSovih self-fulfilling predskazanja.
[ wex-alpha @ 02.06.2010. 11:36 ] @
@mmix mislim da bi bilo fino da pokrenes 3rd party temu. A usput mozda da i dodas i konvertere za XAML. Spisak se nalazi ovdje.

Probao sam konverter za 3dmax. Uz pomoc alata sam konvertovao jednu od mnogobrojnih besplatnih 3dmax modela i uspjesno je ubacio u wpf projekat.

Mogucnosti su breathtaking.
[ Sapphire @ 02.06.2010. 11:52 ] @
MVVM nije samo ni neki puki stil programiranja, kao jedna od vaznijih posljedica njegove upotrebe je i lakse testiranje UI-a. Sa WinForms-ima vrlo lijepo u dosta slucajeva sve se moze uklopiti pomocu varijacije MVC-a - MVP (P je za Presenter).

Citat:
mmix: Ne koriste ga svi, isto kao i winforms MVC koriste ga "zaludnici" koji rade inhouse za platu...
... to je overkill i neodgovorno trosenje kompanijskih resursa...


Neodgovorno trosenje resursa je naslagivanje koda jedan na drugi bez ikakve vizije o buducnosti. Imam jedan takav projekt na rukama, koji je na pocetku krenuo potpuno pogresnim tokom. Bilo kakva, cak i manja izmjena na istome, baca me u polu-depresivno stanje da mi dođe da pijem painkiller-e.

Korištenjem spomenutog MVP-a, vrlo je jednostavno razviti šablon za forme, kao i "engine" koji to sve zajedno povezuje - tako da dodavanje novog "pogleda" na neki aspekt poslovanja (recimo dodavanje pregleda otpremnica) predstavlja vrlo jednostavno nasljeđivanje generičke forme i injection odgovarajućih "kontrolera / presentera" (a ovo je samo za najjednostavnije aplikacije).
[ Sapphire @ 02.06.2010. 11:55 ] @
Btw, što se tiče teme, i zainteresovanja ljudi za WPF, ovo je demo mogućnosti koji se može samo poželjeti:

http://www.dnrtv.com/default.aspx?showNum=115
[ mmix @ 02.06.2010. 12:38 ] @
Ti pricas o idealki i o tome kako tebi da bude lakse i kako da izbegnes painkillere. Ja nisam ni rekao da je MVVM djubre vec da je nerealan, jednog menadzera bas biga za to i za tvoje painkillere. Ako u sistem pusta 20 single-use malih aplikacija sa po par formi od kojih ce mozda dve tri aplikacije doziveti bilo kakvu reviziju a kamoli krupne promene onda je MVVM bespotreban overkill. Kad i ako dodje do toga da aplikacija mora da naraste u kompleksnosti do te mere da upgrade bude skuplji od rewrite-a ONDA se to napise u MVVM maniru. Za tih par aplikacije ce biti skuplje nego da je odmah krenuto kao MVVM, ali ce total biti nizi. Sve ovo je primenljivo i na monolitnije sisteme koji su interno particionisani u nezavisne podsisteme. A velika vecina firmi funkcionise na tom principu, ne da nece da placaju zezancije za MVVM, nece bre da ti plate ni kodiranje testova ni punokrvni pravi Q&A, ratki su koji uopste hoce da plate izradu kvalitetnije dokumentacije van komentara. Specifikacija, arhitektura, kod, high-level testiranje, produkcija. Ja ne znam u kojim vi to firmama radite kad vam poslodavci daju da se tako igrate na teret firme.
[ logic_rabbit @ 02.06.2010. 14:43 ] @
Ako ste vec radili MVVM pa sve imate rijeseno ili koristite neki od gotovih MVVM frameworka kojih ima mnogo gubitak vremena u odnosu na stari nacin programiranja nije velik.
Ja sam uvijek za to da se malo duze programira u korist lakseg odrzavanja i smanjenja broja bug-ova dok god ja ne finansiram projekat iz svog dzepa :-)




[ Sapphire @ 02.06.2010. 17:10 ] @
Citat:
mmix: Ti pricas o idealki i o tome kako tebi da bude lakse i kako da izbegnes painkillere. Ja nisam ni rekao da je MVVM djubre vec da je nerealan, jednog menadzera bas biga za to i za tvoje painkillere.


Ne, moja idealna situacija je kada pametno kodiranje UVIJEK donosi mnogo bolji odnos vrijeme / kvaliteta. Tu ne smatram korištenje Abstract Factory-a da ispišem Hello World.

Citat:
mmix:Ako u sistem pusta 20 single-use malih aplikacija sa po par formi od kojih ce mozda dve tri aplikacije doziveti bilo kakvu reviziju a kamoli krupne promene onda je MVVM bespotreban overkill.


Slažem se, normalno da nećeš koristiti full - MVC u projektu koji je jako jednostavan što se UI dijela tiče (ima 2-3 forme), ali s druge strane, ja bih opet razdvojio behavior UI-a u posebni kontroler, tako da se to može jednostavnije testirati (a pošto je model skoro uvijek u formi domain-layera, opet dobivaš MVC ). Radi se o ličnom stilu programiranja, i ti sami testovi u velikoj većini slučajeva pružaju brže programiranje, jer vrijeme za pisanje testova višestruko nadmašuje vrijeme otklanjanja bizarnih bug-ova, i vrijeme potrebno da skontaš šta dalje - jer ne znaš ni gdje si zadnje stao.
Btw, kakav je to sistem od 20 malih aplikacija?

Ovo ne pričam kao neki evangelist MVC-a, baš me briga za "religioznim-programerskim" glupostima da je nešto neprikosnoveno. Jednostavna je činjenica da je na taj način kod čitljiviji, pregledniji i lakši za održavanje; da ne govorim broj područja gdje je MVC itekako nezamjenjiv (web-apps anyone?) - ali ok, o web-u ne pričamo.

Citat:
A velika vecina firmi funkcionise na tom principu, ne da nece da placaju zezancije za MVVM, nece bre da ti plate ni kodiranje testova ni punokrvni pravi Q&A, ratki su koji uopste hoce da plate izradu kvalitetnije dokumentacije van komentara.


Kako neka firma funkcioniše, to je poslovni aspekt koji ne mijenja činjenicu da je MVC generalno pozitivna stvar. Neke rade TDD & XP/SCRUM svakodnevno, neke ne znaju ni šta to znači - ali to ne mjenja stanje stvari. Ako od mene (kao developera) poslodavac traži da radim na jedan način - ja ću raditi, ali on je odgovoran za broj utrošenih sati u konačnici.

Citat:
Ja ne znam u kojim vi to firmama radite kad vam poslodavci daju da se tako igrate na teret firme.


Ja sam student, u mom "krajoliku" nema ozbiljnih firmi koje upošljavaju programere, pa zasada radim honorarno - freelancing.
[ Sapphire @ 02.06.2010. 17:33 ] @
OnTopic:

Evo pogledao sam ovaj "demo", meni se sviđa.

Citat:
Pricam sa C# developerom, i kazem mu da radim aplikacije u wpf.
Cudan pogled s njegove strane... i komentar hajd super... i kako ide?


WPF će sad biti sve aktuelniji, VS2010 je dobio i dizajner, tako da ... polako ... ni .NET nije bio popularan u početku.
[ Shadowed @ 02.06.2010. 18:00 ] @
Hm, na sta mislis kad kazes da je VS 2010 dobio dizajner? Imao ga je i 2008. Sada je bolji, ali nije se sada pojavio. Ili previdjam nesto?
[ Sapphire @ 02.06.2010. 18:16 ] @
Citat:
Shadowed: Hm, na sta mislis kad kazes da je VS 2010 dobio dizajner? Imao ga je i 2008. Sada je bolji, ali nije se sada pojavio. Ili previdjam nesto?


Ne ne, baš to ... Postojao je Blend recimo i ranije, ali dizajner u 2010-ci je sada bolji, na nivou WinForms dizajnera, a većina programera koji se žele privikavati na nove tehnologije žele da im je sve na jednom mjestu, tako da sam zato to spomenuo.
[ mmix @ 02.06.2010. 19:07 ] @
Meni je npr lista najvecih problema sa guranjem WPFa u korporativno okruzenje:

1. Risk menadzment odeljenje koje jos ne zna ni sta je CLR ni zasto dodjavola oni moraju da odobre tako nesto, wpf je za njih scifi.
2. 90% firmi sa kojima sam u kontaktu a ima corporate governance je tek u fazi produkcione eksploatacije .NETa 2.0 i to na XP radnim stanicama. Vista/Win7/.NET3+ je jos uvek egzotika za njih, srecom dobar deo fabrickih .NET 3.5 asemblija se lepo uguravaju u 2.0 projekte Radis u 3.5, bildujes i pustis Nazalost iz nekog razloga to nam nije palilo sa WPFom (mislim da ima neka fora sa emulacijom na GDI+, fale neki DLLovi a nikad se nismo bas zanimali time u dovoljnoj meri). Sa 4.0 to vise nece da pali nikako jer je novi runtime.
3. Za sada relativno (kazem relativno, ne pocinjem flejm) slaba ponuda 3rd party kontrola u odnosu na winforms. Za sada se sve svodi na hvalisanje grafikom vise nego na neku rich funkcionalnost, winforms tu i dalje mnogo bolje stoji, ali cisto zato sto je duze u produkciji. Kako vise love bude slivano u kupovinu 3rd party kontrola bice i interesa za specificnije kontrole. Gridovi su tu najrazvijeniji za sada ali je generalno mrsavije. To decision makerima obicno daje predstavu i indikaciju tehnologije koja jos nije dovoljno mature i onda se razgovor svede na "zar ne mozete to u winforms?", i ti kazes "moze"
[ wex-alpha @ 02.06.2010. 19:39 ] @
Pa dobro... zar se ne moze reci da wpf moze sve sto i Winforms, ali mnogo vise :). Imajuci u vidu hostanje winforms kontrola (ako je potrebno).
[ Sapphire @ 02.06.2010. 19:49 ] @
Ih, ja se sjećam kad sam pričao sa jednim šefom programerske firme, i između ostalog pitam ja njega mogu li koristiti LINQ, on kaže da bolje da ne koristim, jer su njegovi "momci" to probali i nije im bilo dobro.

Tako i WPF, ljudi se pretežno "boje" promjene, ne žele novi potencijalni "problem". Baš se sjećam jednog talk-a sa .NET Rocks podcast-a, tema je bila kompleksnost software-a, i more tehnologija u kojem se početnici trebaju pronaći (od DAL tehnologija pa nadalje).

A uostalom, i meni samome je .NET 2.0 polje preokupacije dugo vremena, ali iz dugog razloga - nisam imao vremena da se 100% upustim u izučavanje novih stvari, pa nisam želio ni bezveze trošiti vrijeme na to.

P.S. znam i neke ljude koji još uvijek nisu odustali od VB6, pa nikom ništa



EDIT: samo kao dodatak, evo prije 10 min na StackOverflow-u: Too many tools and frameworks - how do you get anything done?



[Ovu poruku je menjao Sapphire dana 02.06.2010. u 21:08 GMT+1]
[ Shadowed @ 02.06.2010. 20:47 ] @
Citat:
Sapphire: P.S. znam i neke ljude koji još uvijek nisu odustali od VB6, pa nikom ništa :)

Cuj nisu odustali. Pojavljuju se i novi. Doovljno pogledati VB6 forum ovde, na es-u :)
[ mahatma @ 03.06.2010. 01:23 ] @
A inache... VS 2010 je pravljen u WPFu.
[ ravni @ 03.06.2010. 22:38 ] @
apropo MVC i MVVM: sve je bolje od to toga da kod lezi u formama. pa cak i za projekte koji imaju svega 10 formi. nek je to MVC, presenter model ili nesto deseto, za pet meseci kad se vratis da nesto ispravis ili dodas mnogo je lakse kada postoji neki red u projektu, kada je gui deo odvojen od logike, a ne da je sve pomesano na formi
[ 2paca.zwaka @ 02.02.2011. 10:59 ] @
ej a jel mozes da mi kazes kako si ovo 'animirao' u wpf verziji ovog demo programa.......msm ovo na pocetku tj. pojavljivanju wpf verzije....hvala unapred
[ wex-alpha @ 02.02.2011. 14:01 ] @
Pa imas u kodu...
[ 2paca.zwaka @ 02.02.2011. 20:31 ] @
a izvini gdje imam kod ??
[ wex-alpha @ 02.02.2011. 20:43 ] @
Prvi post :)
[ 2paca.zwaka @ 04.02.2011. 08:23 ] @
U prilogu prvog posta ima folder debug koji ne sadrzi kod vec executable
[ wex-alpha @ 04.02.2011. 13:09 ] @
Izvini, bio sam 100% siguran da sam stavio source. Doduse niko se prije nije ni bunio.

Evo ga sad.

[ MarkoBalkan @ 16.02.2011. 20:01 ] @
a gdje je silverlight?


recimo jedna od mana je to što kominikacija s bazom mora ići preko web servisa.