asp.net comments edit

Causa cambio di lavoro, la scaletta dei posts si è incasinata ed alcune info (come questa) arrivano con alcuni giorni di ritardo; comunque sia Scott Guthrie, tramite il suo blog, ha annunciato il rilascio di ASP.NET MVC 2 RC2.

Essendo in dirittura di arrivo non ci sono grandi novità, ma più che altro bugfixing.
Di seguito i principali cambiamenti:

  • Nuovo modello di validazione client side che, a differenza del precedente, non ha il compito di validare soltanto i dati di input provenienti dalla form, ma l’intero model;
  • Nuovi helper strongly-typed con supporto alle lambda expression es: Html.EditorFor(m=>m.Orders[i]);
  • Un nuovo template per gli editor Html.EditorFor() e Html.DisplayFor();
  • L’Accountcontroller inserito nel template di default è stato semplificato;
  • Inserita la nuova versione della libreria jQuery 1.4.1;

Come potete vedere le novità non sono numerose (l’elenco completo ed il download sono disponibili qui); la cosa sicuramente interessante è il performance tuning svolto in questa release, che dovrebbe portare ad un sensibile aumento delle prestazioni.

Al momento ASP.NET MVC 2 è compatibile soltanto con Visual Studio 2008 ma, con l’imminente uscita della RC di Visual Studio 2010, sarà possibile utilizzare questa release di MVC senza download aggiuntivi; di fatto Visual Studio 2010 RC avrà incluso ASP.NET MVC 2 RC2.

Ciauz

silverlight comments edit

Continuando il percorso iniziato nel post precedente, oggi vorrei affrontare la parte di setup di un’applicazione Silverlight.
L’installazione può essere effettuata in due modi:

  • Menu contestuale di Silverlight;
  • Tramite C#;

Qualsiasi approccio si scelga è sempre necessario specificare che il progetto può essere installato sul client (di default le applicazioni Silverlight non posso essere installate sul client). Per far ciò ci basta accedere alle proprietà del progetto (tasto destro sul progetto –> proprietà) ed abilitare la modalità OutOfBrowser, come mostrato dallo screenshot seguente:

image

Come in ogni setup che si rispetti, prima è necessario verificare che l’applicazione interessata non sia già installata sul client, e questo è fattibile tramite l’apposita proprietà InstallState della classe application, come mostrato di seguito:

if(App.Current.InstallState == InstallState.Installed)
    //TODO:Installed
else
    //TODO:NotInstalled

 

Nel prossimo post vedremo cosa scrivere nei TODO per installare l’applicazione sul client tramite c#.

Stay tuned.

web dev comments edit

Non so come faccia, ma il fatto che Google Chrome riesca ad effettuare ricerche all’interno di un sito, sfruttando l’engine di ricerca presente all’interno del sito stesso e non Google search engine, è sicuramente una bella feature!

Un’altra cosa interessante è che in  Dexter non ho fatto assolutamente nulla per dire a Chrome come effettuare le ricerche :).
Per provare basta fare: Dominio + Tab + Parola da cercare.

No Bad!

image

image

image

silverlight comments edit

Già da quanto scritto precedentemente (qui) si intuiva l’arrivo di una serie di post su Silverlight 4. Sto infatti studiando la possibilità di utilizzo di Silverlight 4 per un’applicazione Out Of Browser che rispecchi almeno i requisiti descritti nel precedente post.

Per questo motivo oggi mi trovo a rispondere alla prima domanda: “Come faccio a verificare se l’applicazione Silverlight in esecuzione è in modalità OOB”?

Beh, devo dire che è veramente semplice. Quando si crea una nuova applicazione Silverlight, al suo interno è presente un file App.xml che è il file principale dell’applicazione; per effettuare un paragone con il mondo ASP.NET si potrebbe definire il file App.xml un po’ come il Global.asax.

Questa classe, che eredita da System.Windows.Application, espone la proprietà IsRunningOutOfBrowser, che è indispensabile se si vogliono creare interazioni particolari e mostrare oggetti solo in modalità OOB; basta quindi accedere alla proprietà, come mostrato dallo snippet seguente:

bool isOOB = App.Current.IsRunningOutOfBrowser;

Un esempio pratico potrebbe essere il semplice pulsante di setup, che dovrà essere visualizzato soltanto nel caso l’applicazione stia girando all’interno del browser.

Al prossimo giro vedremo come installare un’applicazione Silverlight sul client tramite C#.

Stay tuned!

.net comments edit

Primo post su TFS, TeamExplorer e famigghia.
Questo non è un cambio di genere e non ho intenzione (anche perchè sarebbe impossibile) fare “concorrenza” al buon Gian Maria ed al buon Lorenzo; molto probabilmente quello che andrete a leggere lo avranno già mostrato, spiegato, decompilato e riscritto loro parecchia anni fa, sta di fatto che lo scrivo lo stesso xchè a qualcuno potrebbe essere sfuggito (tipo a me).

Ormai sono un paio di anni che uso Team Foundation Server in azienda insieme a Visual Studio e al Team Explorer. Lavorando quotidianamente con lo stesso server all’interno della stessa rete, non ho mai avuto nessun problema con il fatto che il Team Eplorer cerchi di connettersi all’ultimo TFS utilizzato ogni volta che si avvia Visual Studio.
Ultimamente però il mio lavoro è un po’ cambiato, e mi trovo a dovermi connettere a diversi TFS sparsi per il mondo e, in casi ancora peggiori, mi ritrovo senza connessione. Queste situazioni vanno di parecchio in conflitto con la feature precedentemente descritta (l’autocollegamento a TFS durante l’avvio di Visual Studio), quindi mi sono deciso a fare una ricerca in rete per capire come risolvere il problema.

Neanche a dirlo già milioni di persone avevano bloggato il problema e mostrato una soluzione, che consiste nel modificare il registro di configurazione di Windows (maggiori info qui).

Soluzione questa sicuramente funzionante e di semplice implementazione. Ma ne esiste una ancor più carina ed elegate.

I ragazzi del team dei PowerTools hanno pensato di fare una comodissima UI per cambiare quest’impostazione. Di fatto, una volta installati i PowerTools (che trovate qui), ci basta digitare il comando seguente dal prompt del DOS:

tfpt tweakui

a questo punto dovrebbe aprirsi una finestra, come quella mostrata di seguito, che ci permette di disabilitare questa opzione.

image

Ciauz

eventi comments edit

Sabato ho avuto il piacere di poter partecipare come speaker alla V° Ugi Alt Net Conference e, nello specifico, ho parlato un po’ di MVC, un po’ di xVal e un po’ di Spark. La parte su Spark credo sia stata la più “apprezzata”, e spero di aver lasciato la voglia a qualcuno di provare questo prodotto che promette (ma di fatto le fa già) cose molto interessanti.

Devo dire che l’esperienza è stata interessantissima e i complimenti a Simone e a tutto lo staff sono d’obbligo, sia per l’organizzazione sia per l’agenda veramente molto interessante.

Purtroppo un impegno mi ha impedito di seguire le sessioni del pomeriggio, ma a detta dei ragazzi (Gian Maria, Andrea, etc) sono state tutte ottime. Quindi i complimenti vanno anche a tutti gli altri speakers, a partire da loro due.

Well done!

 

silverlight comments edit

Nell’ottica di capire come gestire certi scenari in applicazioni OOB (Out Of Browser) in Silverlight 4, ho deciso di approfondire un po’ la cosa e di rispondere ad alcune domande che mi sono posto e che riporto di seguito:

Proprio da questi requirements ho deciso di scrivere alcuni mini posts che affrontano le tematiche sopra esposte, e propongono una soluzione.

quindi Stay tuned!

asp.net comments edit

È da molto tempo che rifletto su questo post, ed ho deciso di parlarne solo ora in quanto la seconda release di ASPNET MVC è prossima al rilascio (al momento in Release Candidate, vedi qui): di riflesso, se ne comincia a parlare molto di più e, ancor più interessante, si comincia ad utilizzarla molto di più.

Sinceramente sono rimasto scioccato da quanto interesse e “strada facile” abbia riscontrato ASP.NET MVC rispetto al papà ASP.NET Web Forms. Di fatto noto come alcuni providers italiani, a non molto tempo dal rilascio della prima release di MVC, offrano già disponibile il nuovo Framework, mentre in passato per avere una versione aggiornata del Framework .NET si doveva aspettare parecchio dopo il suo rilascio. Segno che qualcosa stia veramente cambiando?

Parlando con più persone durante speech, conf, chat, etc ho avuto l’impressione che molti reputino ASP.NET MVC la manna dal cielo e le webforms il MALE.

Sinceramente sono rimasto basito dalla cosa, in quanto reputo MVC un’alternativa alle Web Forms e non un concorrente.

Durante la sessione di Bologna ho cercato di esprimere questo concetto e di portare come esempio gli scenari in cui un Framework può avere vantaggi rispetto all’altro, proprio a dimostrazione che non sono concorrenti.

IMHO la riuscita di un buon prodotto non dipende soltanto dalla qualità tecnica del prodotto, ma anche da come si è riusciti a sfruttare le risorse a propria disposizione (e per risorse intendo tutto,team, budget, tempistiche, etc).

Sicuramente tra le cose da non sottovalutare quando si debba effettuare una scelta importante, come lo è l’utilizzo delle Webforms a discapito di MVC, sono i numerosi vantaggi che le prime possono offrire ripetto al secondo in determinati scenari e/o requirements.

In primis la pluritestata e diffusissima tecnologia che, nonostante ciò che si dica, riesce ad essere altamente scalabile ed estendibile e, da non trascurare, l’approccio Windows form style.

Proprio su questo approccio volevo portare un esempio nato durante lo speech di Bologna, in cui in un team misto (Applicazioni Windows e Applicazioni Web) si aveva la necessità di ricollocare alcune risorse sullo sviluppo web. Per chi viene dal mondo delle Windows Forms ASP.NET MVC risulta sicuramente scomodo e/o complesso; al contrario con le webforms il passaggio è quasi indolore e, in questi scenari, le WebForms possono essere la scelta che decide la riuscita di un progetto.

Personalmente (salvo imposizioni particolari), non realizzerei mai un BackOffice (tipicamente contraddistinto da una buona percentuale di dataentry) in ASP.NET MVC, salvo che uno dei requirements sia la testabilità.

Ovviamente MVC non offre soltanto il vantaggio della testabilità, ma anche la possibilità di avere il controllo totale del markup (ASP.NET 4.0 si avvicina molto a questo) ed una forte espandibilità maturata dall’esperienza fatta precedentemente con ASP.NET WebForms.

Per concludere, le webforms non sono morte, anzi vivono ed in molti scenari vivono alla grande ;)

eventi comments edit

Con un leggero ritardo rispetto agli altri (vedi qui e qui) scrivo questo post per ringraziare tutti quanti per l’evento che si concluso da pochi giorni a Catania.

In primis lo Sciuro Sudano (mai visto lavorare tanto) che, con un ottimo risultato, ha organizzato insieme a Microsoft un evento con ben 220 persone, dandomi la possibilità di esprimermi davanti a tale pubblico (peccato che poi visual studio si sia opposto impedendo di concludere la demo sulle RIA Applications!).
Un grazie anche a Lorenzo, per i consigli ed il supporto, e a tutto lo staff di OrangeDotNet per aver organizzato l’evento. Impressionante come siano riusciti a gestire tutte quelle persone, i giornalisti, meeting preconfernce,  etc.

Per concludere, un grazie va a tutte le persone presenti, studenti, insegnanti e professionisti con cui abbiamo avuto modo di relazionarci.

Ma chi si ferma è perduto! A gennaio si torna a parlare di MVC alla UgiALT.net Conference.

Ancora grazie a tutti.

P.S.: Ma si può mangiare la salsiccia arrosto alle 3 di notte e poi fare colazione alle 8 con l’arancino al ragù? :S …che persona cattiva!

;