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. [more]

Rad sa bazom

Webmatrix sadrži skup pomoćnih klasa (namjerno neću to nazvati frameworkom) koji olakšava rad sa bazom. Upiti se pišu u SQL jeziku, a rezultati se dobivaju u obliku kolekcija dinamičkih objekata, čime se postiže na brzini razvoja, ali i gubi intellisense predlaganje naredbi. Upotreba je naravno opcionalna, a svatko može uključiti ORM alat po želji (Dapper, Simple.Data, Massive, …).
Da bi povukli podatke iz baze ili dodali nove u bazu, potrebno je samo na vrhu .cshtml stranice napisati sljedeće:

Defaulta baza koja se koristi je SQL CE 4 (embedded baza, nije potrebno imati instalirani SQL server). Putem Webmatrixa moguće je kreirati i mijenjati bazu.

Za dodavanje novih frameworka najjednostavnije je koristiti ugrađenu podršku za Nuget pakete.

Autentikacija

Kao i nova verzija ASP.NET MVC, WebMatrix koristi DotnetOpenauth da bi omogućio prijavu putem Facebooka, Twitter ili Googla. Primjer upotrebe se može vidjeti u Starter Site sample aplikaciji koja dolazi unutar instalacije Webmatrixa.

Podrška za ostale jezike

Možda najzanimljivije svojstvo je puna podrška za pisanje PHP i Node.JS aplikacija. Ne morate se brinuti za potrebne servere, Webmatrix će ponuditi instalaciju svih potrebnih dodataka da bi mogli PHP i NodeJS aplikacije pokretati lokalno!

Postoji solidna podrška za intellisense unutar Node.JSa i PHPa. Od ostalih tehnologija, Webmatrix zna raditi sa Jade i EJS template-ovima,  LESS i SASS css preprocesorima, Coffeescriptom.

Steven Sanderson je objavio nekoliko odličnih video tutoriala o radu sa Nodeom i Expressom:
http://blog.stevensanderson.com/2012/07/09/node-js-development-with-webmatrix-2-and-express/

Primjena ovog alata može biti široka, od učenja programiranja i izrade web aplikacija, do brze izrade prototipa i izmjena postojećih aplikacija. Osobno mi se vrlo dopala lakoća instalacije i podešavanja Wordpressa: kod kreiranja novog projekta odabere se Worpress, Webmatrix pita dali smije instalirati potrebne alate (PHP za IIS, MySQL), i kroz nekoliko trenutaka pojavi se početna Wordpress stranica, spremna za koristiti! Slično vrijedi i za ostale aplikacije koje se nude putem ugrađenih predložaka (Joomla, Kentico, N2, Orchard, …).

Mobilni pregled

Korisna ekstenzija za WebMatrix je svakako iPhone i iPad simulator, koja se može dodati putem “Extensions Gallery” ikone u ribbonu:

Simulator omogućava pregled stranice kako bi izgledala na iPhone i iPad uređajima, a nudi još i funkcionalnosti poput horizontalnog/vertikalnog pregleda, simulacije dodira, Javascript informacija, podešavanja GPS koordinata. Implementacija je vrlo slična onoj u ASP.NET MVC frameworku: mobilna verzija stranice sadrži “.mobile.cshtml” u imenu datoteke, što znači da stranicu koja će biti prikazana na desktopu moramo nazvati “stranica.cshtml”, a njenu mobilnu verziju “stranica.mobile.cshtml”, a Razor se brine o detekciji preglednika i odabiru stranice. Naravno, ovime dolazimo do potrebe za odvajanjem programske logike u zasebne datoteke (npr unutat App_Code foldera), ali to je već  tema za neki drugi post Smiješak s namigivanjem

Za kraj nekoliko korisnih linkova sa dodatnim informacijama:

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!