Codice e slide della sessione Sviluppo di applicazioni mobile con ASP.NET MVC 4

by Andrea Dottor 12 November 2012 21:19

Venerdì 09 Novembre 2012 ho tenuto la sessione Sviluppo di applicazioni mobile con ASP.NET MVC 4 al XeDotNet Community Meeting.

Lo sviluppo di applicazioni mobile stà entrando sempre maggiornmente nella vita dello sviluppatore web.In questa sessione vedremo come ASP.NET MVC 4, con l'aiuto di alcune librerie, possa agevolare lo sviluppo di applicazioni web che dovranno essere consumate da dispositivi mobile. Analizzeremo le problematiche che differenziano lo sviluppo web-mobile rispetto al normale sviluppo web e le affronteremo passo passo.

Il tutorial di cui vi ho parlato lo trovate a questo link: ASP.NET MVC 4 Mobile Features

Tags: , , ,

ASP .NET | .NET | XeDotNet | Microsoft

Baroliere per Windows 8

by Andrea Dottor 24 October 2012 22:01

Per chi non si accontentasse della versione per Windows Phone (link) ecco arrivare Baroliere anche su Windows 8.

Barare+parole=BAROLIERE
Vincere ai giochi di parole non è mai stato così facile.
Immetti le lettere che hai a disposizione e ti verranno visualizzate tutte le parole disponibili nel dizionario italiano.

L’applicazione rimane molto semplice nel suo utilizzo. A differenza della versione Windows Phone, accanto ad ogni parola è stato aggiunto il relativo punteggio, calcolanto seguendo le regole di Scrubble.
L’implementazione del contratto di Search velocizza il suo utilizzo…anche se la versione snapped sarà quella che più si addice ai professionisti del “baro”.

Questa è una prima versione, ma ho già in mente delle nuove funzionalità che la renderanno ancora più interessante (non appena troverò il tempo per poterle implementare).
Barolieresnippet

Download Baroliere from the Windows Store:
WindowsStore_badge_green_en_small_40x125
La versione per Windows Phone è scaricabile al seguente link: Barolire per Windows Phone

Tags: , ,

.NET | Microsoft

Microsoft MVP ASP.NET per il quinto anno

by Andrea Dottor 02 October 2012 00:15

MVP_logoOgni anno l'amozione è sempre la stessa...l'attesa (infinita) di una mail che speri di ricevere, e più passano i minuti, e più i dubbi di non vederla salgono.

Ed invece, ecco che anche quest'anno, per il quinto anno consecutivo ho ricevuto il Microsoft MVP award per la categoria ASP.NET.

Una soddisfazione immensa, un premio che ti fa capire che c'è qualcuno che riconosce/vede il tuo impegno verso gli altri, verso le community
...un premio che ti fa dimenticare le notti spese davanti al pc

...un premio che io ricevo e che dedico a voi che seguite i miei post, i miei meeting, i miei video, i miei tweet.
E' grazie a voi, grazie al vostro continuo spronarmi e motivarmi, che mi avete dato la possibilità di ricevere questo riconoscimento

Grazie!

Per chi non sa cosa sia il Microsoft MVP Award, ecco qui tutte le info: http://mvp.microsoft.com

Tags:

ASP .NET | Microsoft | +1 | Pensieri

ASP.NET 4.5 e Autenticazione OAuth (Facebook, Twitter, Google, Microsoft account,)

by Andrea Dottor 28 September 2012 00:41

Non poteva mancare uno screencast dedicato all’autenticazione OAuth, inclusa di default all’interno dei template di progetto di ASP.NET 4.5.
Questa funzionalità permette di far si che gli utenti possano registrarsi e loggarsi all’applicazione utilizzando le loro credenziali dei più famosi social network (Facebook, Twitter), per non parlare anche di quelle di Microsoft Account e di Google.
E questa funzionalità apre la porta a innumerevoli scenari di espansione.

Potete vedere il video a questo link: http://youtu.be/aFrt8q_Ko8o

Potete approfondire l’argomento con le slide ed il codice che trovate in questo post:
Codice e slide della sessione What's New in ASP.NET 4.5 and Visual Studio 2012

Tags: , , , ,

ASP .NET | .NET | Microsoft

ASP.NET 4.5 Model Binding Filtering

by Andrea Dottor 24 September 2012 21:40

Ed ecco che con questo video approfondiamo l’argomento del model binding di ASP.NET 4.5, andando maggiormente in dettaglio nella funzionalità di filtering, e di recupero dei parametri necessari ad un metodo di select per recuperare i dati.

Il video lo potete trovare al seguente link http://youtu.be/5SAx9t2UYP8

Potete approfondire l’argomento con le slide ed il codice che trovate in questo post:
Codice e slide della sessione What's New in ASP.NET 4.5 and Visual Studio 2012

Se apprezzate l’iniziativa di questi video, aiutatemi a farli girare in rete. Ricordatevi che aspetto ogni tipo di feedback in modo da poter capire se l’idea di questi screencast vi piaccia o meno... ed anche qualsiasi suggerimento che mi permetta di migliorarli.
Winking smile

Tags: , ,

ASP .NET | .NET | Microsoft

ASP.NET 4.5 - Model Binding e Strongly Typed Data Controls

by Andrea Dottor 20 September 2012 21:52

Con questo video inizieremo a vedere le novità che il Microsoft .NET Framework 4.5 porta ad ASP.NET, ed andremo in dettaglio nelle funzionalità di Model Binding e Strongly Typed Data Controls.

Il video è visibile al seguente link http://youtu.be/nuHngcPZKWE

Potete approfondire l’argomento con le slide ed il codice che trovate in questo post:
Codice e slide della sessione What's New in ASP.NET 4.5 and Visual Studio 2012

Tags: , ,

ASP .NET | .NET | Microsoft

Visual Studio 2012 – Page Inspector

by Andrea Dottor 18 September 2012 15:56

Ecco un nuovo video dove vediamo la funzionalità di Page Inspector di Visual Studio 2012.
Visual Studio 2012 - Page Inspector

In questo post Codice e slide della sessione What's New in ASP.NET 4.5 and Visual Studio 2012trovate codice e slide sull’argomento nel caso voleste approfondire il tutto, mentre a questo link (Using Page Inspector in ASP.NET MVC) trovate un tutorial passo passo, direttamente dal sito di asp.net.

Tags: ,

ASP .NET | Microsoft | .NET

Primo video: Visual Studio 2012 - Cosa c'è di nuovo negli editor HTML, CSS e JavaScript?

by Andrea Dottor 18 September 2012 00:01

Come annunciato all’ultimo meeting, ecco il primo di una (speriamo lunga) serie di video riguardanti Visual Studio 2012 ed ASP.NET 4.5.
Ho deciso di provare una nuova forma di comunicazione che fosse parallela al blog, dei video/screencast di breve durata (dai 5 ai 15 minuti) dove spiego in modo molto pratico vari argomenti riguardanti ASP.NET e tutto ciò che lo circonda.

I video sono molto informali…e per me si tratta di un primo esperimento, e spero siate voi a dirme se la cosa può interessare oppure se preferivate i post sul blog. Attendo quindi i vostri feedback!

In questo primo video, mi scuso già in partenza, ma mi sono reso conto tardi delle molte ripetizioni…ed onestamente non l’ho volutamente ri-registrato per non stancarmi già da subito di questa nuova “forma”. Vedrete che nei prossimi video il risultato è nettamente migliore, ma da qualche parte bisogna pur cominciare.

In questo video parlo delle novità presenti negli editor di Visual Studio 2012 per lo sviluppo web, e quindi l’editor HTML, CSS e JavaScript. Vi farò vedere quelle che ritengo essere le novità più importanti, così da iniziare a prendere subito confidenza con quello che sarà il nostro strumento di sviluppo per tutti i prossimi video.

Trovate il video su youtube a questo link: Visual Studio 2012 - Cosa c'è di nuovo negli editor HTML, CSS e JavaScript?

In questo post Codice e slide della sessione What's New in ASP.NET 4.5 and Visual Studio 2012trovate codice e slide sull’argomento nel caso voleste approfondire il tutto.

Tags: ,

ASP .NET | .NET | Microsoft

Codice e slide della sessione ASP.NET e lo sviluppo Client Side

by Andrea Dottor 20 March 2012 14:30

Ecco pronti al download il codice e le slide della mia sessione "Il mondo è sempre più client. ASP.NET e lo sviluppo Client Side" che ho tenuto il 9 marzo 2012.

IScriptControl, Knockout e le ASP.NET Web API sono stati i principali protagonisti :-)

Abstract: Le applicazioni che sviluppiamo, e che il mercato richiede sempre più, stanno modificando il modo in cui le applicazione vengono scritte. La logica di interazione con l'utente stà diventando sempre più client side, questo grazie anche all'espansione di dispositivi mobile che fruiscono le nostre applicazioni. JQuery ed il javascript in generale hanno un ruolo sempre maggiore, e permetteno in molti casidi poter far fare la differenza a ciò che sviluppiamo.

Come per il codice dello scorso meeting, per quanto riguarda il database utilizzato nella demo è necessario scaricare il database AdventureWorks che trovate al seguente link http://msftdbprodsamples.codeplex.com/e modificare la connectionstring del progetto web.

Tags: , , ,

ASP .NET | ASP.NET AJAX | XeDotNet | Microsoft

Creare un modulo per Orchard

by Andrea 21 April 2011 04:59

Chi già conosce le Aree di ASP.NET MVC non dovrà imparare nulla di nuovo. Creare un modulo per Orchard infatti è la medesima cosa di creare un'Area in un progetto ASP.NET MVC.
(Walkthrough: Organizing an ASP.NET MVC Application using Areas)

Iniziamo utilizzando il tool da command-line Orchard.exe che troviamo nella bin del progetto, avendo precedentemente abilitato il modulo 'Code Generation'.
Modules_projectAll'interno della console digitiamo 'codegen module Dottor.Articles'
in modo da far creare ad Orchard un progetto contenente tutta la struttura per un nuovo modulo, chiamato 'Dottor.Articles', e verrà creato all'interno della cartella Modules.

La struttura del progetto appena creato è molto simile a quella di un'area di ASP.NET MVC. Le cartelle presenti di default hanno dei nomi ben parlanti:

  • Controllers: per i controller che utilizzeremo all'interno del modulo
  • Model: per il model, e la parte di interazione con la base dati
  • Scripts: file javascript specifici del modulo da realizzare
  • Styles: fogli di stile
  • View: conterrà le View, cioè la parte di UI del modulo corrente

Pre prima cosa, personalizziamo il file Module.txt, modificandolo con le informazioni specifiche nel nuovo modulo.

Name: Dottor.Articles
AntiForgery: enabled
Author: Andrea Dottor
Website: http://www.dottor.net
Version: 1.0
OrchardVersion: 1.0
Description: Modulo per la visualizzazione di articoli
Features:
    Dottor.Articles:
        Description: Modulo per la visualizzazione di articoli

Avendo detto che il modulo è un'Area di ASP.NET MVC, lo andiamo subito a specializzare andando a specificare le eventuali regole di routing, creando un file Routes.cs nella root del nostro modulo.
Questo file conterrà una classe Routes che implementerà Orchard.Mvc.Routes.IRouteProvider. In questa classe andremo a specificare le regole di routing per indirizzare gli url verso le corrette action dei nostri controller.
Nel caso di questo modulo, avremmo solamente due url possibili:

  • /Articles -> che visualizzerà la lista di articoli
  • /Articles/{id}/{slug} -> che visualizzerà un preciso articolo

la classe sarà quindi la seguente:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Orchard.Mvc.Routes;
using System.Web.Routing;
using System.Web.Mvc;
 
namespace Dottor.Articles
{
    public class Routes : IRouteProvider
    {
        public void GetRoutes(ICollection<RouteDescriptor> routes)
        {
            foreach (var routeDescriptor in GetRoutes())
                routes.Add(routeDescriptor);
        }
 
        public IEnumerable<RouteDescriptor> GetRoutes()
        {
            return new[] {
                new RouteDescriptor {
                    Priority = 5,
                    Route = new Route(
                        "Articles",
                        new RouteValueDictionary {
                            {"area", "Dottor.Articles"},
                            {"controller", "Home"},
                            {"action", "List"}
                        },
                        new RouteValueDictionary(),
                        new RouteValueDictionary {
                            {"area", "Dottor.Articles"}
                        },
                        new MvcRouteHandler())
                },
                new RouteDescriptor {
                    Priority = 5,
                    Route = new Route(
                        "Articles/{id}/{slug}",
                        new RouteValueDictionary {
                            {"area", "Dottor.Articles"},
                            {"controller", "Home"},
                            {"action", "Details"}
                        },
                        new RouteValueDictionary{
                            {"id", "\\d+"}
                        },
                        new RouteValueDictionary {
                            {"area", "Dottor.Articles"}
                        },
                        new MvcRouteHandler())
                }
            };
        }
    }
}

Da questo punto in poi, nulla è diverso dalla normale programmazione ASP.NET MVC

  • Creare un controller HomeController.cs
    • Creare una action List() che ritorna una lista di articoli
    • Creare una action Details(int id, string slug) che ritorna il specifico articolo
  • Crare all'interno della cartella View, una cartella Home
    • Creare all'interno di Home una view List.cshtml che si occupa di renderizzare la lista di articoli, che avranno il link alla pagina di dettaglio
    • Creare all'interno di Home una view Details.cshtml che si occupa di renderizzare il singolo articolo

Modules_enableFinito lo sviluppo del modulo, dalla sezione Modules della dashoboard di Orchard sarà possibile abilitarlo.

Per accedere a questa nuova sezione/modulo, dovremmo (ma non è obbligatorio) creare una nuova voce di menù che ci permetta di accedere con facilità.
Quindi, dalla sezione Navigation della dashboard, aggiungiamo una nuova voce di menù, che abbia come url lo stesso impostato nelle regole di routing (/Articles).

Modules_navigation

Creata la voce di menù, saremo pronti a navigare utilizzando le funzionalità che il nuovo modulo metterà a disposizione.

Alcune considerazioni personali.
Lo sviluppo di un nuovo modulo ha una curva di apprendimento quasi pari a zero per una persona che già conosce ASP.NET MVC, e quindi direi che la cosa è del tutto positiva. Mentre, uno sviluppatore che conosca solo ASP.NET Web Form dovrà faticare un pò per entrare nell'ottica del nuovo pattern, e i tempi inizialmente si potranno dilungare, e anche di molto.

In questo esempio, ho recuperato la lista degli articoli da un database differente da quello utilizzato da Orchard, e quindi nulla di diverso da quello che viene fatto abitualmente.
Uno dei prossimi argomenti che vedremo, sarà il come utilizzare il database di Orchard per salvare tutte le informazioni del modulo, e avere quindi la possibilità di renderlo pubblico (e quindi utilizzabile in qualsiasi intallazione di Orchard).

Per approfondire l'argomento: http://www.orchardproject.net/docs/

Tags: , ,

ASP .NET | .NET | Microsoft