[27 tra 2013 | 0 Comments]

Do prije par godina se dosta spominjao pojam RIA, kako po internetovima tako i na ovom blogu. Uglavnom je kontekst razgovora bio vezan uz razvoj podatkovno-intenzivnih aplikacija za web, bilo internet ili intranet, i preporučena tehnologija za izradu je bio Silverlight + WCF web servisi. Također, dosta o tome se dalo isto pročitati na ovom blogu. Onda se desio Bob Muglia, najavio okretanje HTML-u, ASP.NET je postao open source, težište razvoja aplikacija se prebacilo na klijentsku stranu, Microsoft je prihvatio prvo jQuery, Newtonsoft Json.Net, Knockout.JS, SignalR kao alate za izradu bogatih web aplikacija. umjesto da dalje razvija svoje verzije (da, Microsoft Ajax, UpdatePaneli i slično se ne razvija dalje, iako i dalje dolazi uz ASP.NET). Po mom skromnom mišljenju, ovo je dobar potez, s obzirom na kaos, odnosno brojnost klijentskih biblioteka koje svakodnevno niču i nestaju. Sa serverske strane situacija je jednostavna: imamo WebAPI, MVC ili nešto treće (obični ashx handler, WCF, ServiceStack, OpenRasta, …) Više...

Web Dev »

[30 lis 2012 | 6 Comments]

Moje putovanje kroz ORM alate traje dugo, počelo je onog dana kada mi je netko rekao ili pokazao da postoji bolji način rada od upotrebe SqlConnection, SqlCommand i SqlReader objekata.Tu negdje sam i upoznao DataSet-ove, kao memorijsku reprezentaciju baze podataka, sa svim tablicama i relacijama, ali nakon kratke upotrebe sam odlučio da je to krivi način rada sa c#-om. U .NET ekosustavu su se tada (cca 2005) već pojavili brojni ORM alati, i bilo je svega: od generatora koda i ogromnih konfiguracijskih XML datoteka, do malih jednostavnih frameworka. Ubrzo je i Microsoft izdao prve verzije svojih konja za trke: Linq2Sql i Entity Framework. Linq2Sql sam i koristio neko vrijeme, prvenstveno zbog svoje jednostavnosti konfiguracije i upotrebe – drag’drop baze u dizajner, i voilà, klase su spremne za upotrebu! Više...

Web Dev »

[4 ruj 2012 | 1 Comments]

Jedan od alata koji zaslužuje puno više pažnje nego što dobiva je sigurno Webmatrix: lagani, besplatni editor za više programskih jezika i tehnologija. Ovaj alat nema neke veze sa VisualStudiom, ali namjena mu je da pojednostavi razvoj aplikacija u određenim scenarijima gdje je čak i VisualStudio Express prevelik i kompliciran. Iz toga se da zaključiti da mu namjena sigurno nije za razvoj enterprise poslovnih aplikacija, nego prije za učenje ili male i jednostavne projekte, ali sa mogućnošću kasnije migracije na puni VisualStudio.

Kada sam ga prvi put pokrenuo i otvorio sample aplikacije (isporučuje ih se nekoliko u paketu) odmah sam se sjetio Classic ASP dana, ali i VisualStudio 2003/2005 Web Site projekta – programski kod se nalazi unutar HTML-a, baš kao i kod starog ASP-a, iako se ovdje naravno radi o c# sintaksi. Naime, upotrjebljen je Razor view engine i nekoliko novih DLLova koji uključuju razne pomoćne klase za lakši razvoj web aplikacija. Funkcije je moguće pisati i u zasebnim fajlovima unutar App_Code foldera (kao kod “starih” Web Site projekata/aplikacija iz VS2003/5), čime one postaju dostupne unutar bilo koje stranice. Više...

Trice i kučine »

[1 svi 2012 | 0 Comments]

imageSvako toliko naiđem na neki videocast/podcast, koji si bookmarkiram pod nadom da ću ga pogledati kada stignem. To se rijetko desi, naravno, što mi je žao jer propuštam neke stvarno pametne ljude koji pričaju neke stvaro zanimljive teme, koje mogu promjeniti ustaljena gledišta i uzdrmati naučena vjerovanja (naprimjer, svaka aplikacija mora biti troslojna!). Danas sam uspio naći sat vremena i pogledati prezentaciju Get Younga (jedan od idejnih začetnika CQRS arhitekture) naziva “Simple is better”, koja prikazuje neke korisne tehnike strukturiranja koda prema jednostavnosti. Skills Matter je odličan izvor ovakvih prezentacija, vezanih za open source, SOA, arhitekturu, DDD, TDD, F# i slično. Iako im je web blago rečeno grozan (ali ono stvarno, samo fale animirani gifovi!), uz pomoć Googlea možemo pogledati sve objavljene prezentacije ako u search polje upišemo site:skillsmatter.com/podcast/open-source-dot-net . Eto, zato sljedeći put umjesto gledanja reprize serije na televiziji, pogledajte neku prezentaciju i prokomentirajte kako vas se svidjela!

Web Dev »

[1 vlj 2012 | 0 Comments]

sqlmigrationJedna od čestih tehnika rada sa bazom, obavezna u ozbiljnijim firmama sa programerskim timovima, ali i popularizirana u Ruby on Railsu, je izrada migracijskih skripti. Radi se o kontinuiranoj izradi skripti koje upravljaju sa shemom baze. Drugim riječima, ne smije direktno mijenjati baza, jer se time izgube informacije tko je, kada i što promijenio, nego se rade kratke skripte, i svaka se nazove ili notira datumom (timestamp-om). Da bi se baza kreirala, dovoljno je pokrenuti sve skripte.

Jedan način izrade migracijskih skripti je pisanje SQL-a unutar običnih textualnih (.sql) fajlova, koje je moguće izvršiti u SQL Management Studio, ili nekom drugom alatu. Da bi automatizirali to, pratili u kojoj je “verziji” naša baza (koja je zadnja skripta izvršena), trebati će nam neki alat. U .NET svijetu ih ima nekoliko. Svi oni rade na slični princip, stoga opisana procedura ovdje vrijedi i za ostale alate. Pokazati ću rad sa FluentMigratorom, kojega ja upotrebljavam u svojim web projektima.

Ovaj alat je C# apstrakcija nad generiranjem SQL skripti i baze podataka, što znači da se koristi fluent API za kreiranje skripti, i željeni database provider ovisno o bazi (MS SQL, MySQL, SQLite, Jet, Oracle, Postgres). Sastoji se od DLL biblioteke koja sadrži fluent API klase, i runnera, .EXE izvršne datoteke koja pokreće skripte. Runner se može pokrenuti po želji, i on će izvršiti samo skripte koje nedostaju, odnosno od zadnjeg pokretanja, jer u bazi postoji podatak o trenutnoj verziji. Također, runner je pogodan za pokretanje u sklopu build procesa.Više...