Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1909, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Chiariamoci idee e dubbi su LightSwitch - parte 3

Continuiamo la serie di post dedicata a chiarire alcuni aspetti inerenti Visual Studio LightSwitch, attualmente in Beta 2, che probabilmente non sono del tutto chiari o che vanno visti in un'ottica diversa da quella con cui sono approcciati

Riprendo quindi sempre alcuni feedback emersi, in forma assolutamente anonima, nella survey che abbiamo lanciato in LightSwitch Tips & Tricks e oggi parliamo di reportistica & utilizzo di controlli di terze parti.

Feedback 1: "Maggiore personalizzazione una volta generata l'applicazione e utilizzo di controlli utente di terze parti"

Feedback 2: "Visto la facilità d'uso del prodotto, mi auguro un conseguente supporto per la reportistica"

Feedback 3: "Premesse buone, ma se voglio sostituire Access ho bisogno anche di componenti di reportistica di buon livello"

Feedback 4: "Necessità di maggiore supporto a Office. Necessità di maggior numero di controlli visuali. Manca la funzionalità di produzione di report e di stampa. Manca il supporto ai grafici (istogrammi, torta ecc.) e supporto all'importazione/esportazione di dati (campi a lunghezza fissa, campi delimitati, CSV,...)"

Partiamo dal concetto più semplice: l'utilizzo di controlli di terze parti.

Utilizzo di controlli di terze parti in LightSwitch e personalizzazione delle applicazioni

E' possibilissimo, e spesso necessario e/o doveroso, utilizzare controlli utente personalizzati o prodotti da terzi nelle applicazioni LightSwitch. Nella nostra stessa community abbiamo dato parecchie dimostrazioni. Questa è, ad oggi, l'unica via per personalizzare le applicazioni generate da LightSwitch (escludendo temi, shell e sorgenti dati custom che sono anche loro possibili ma via extensibility "pura").

I controlli utente custom e/o di terze parti si costruiscono in Silverlight 4 e si agganciano all'applicazione tramite designer. Ricevono i dati esposti da LightSwitch tramite le consuete forme di data-binding. E' un'operazione davvero semplice, che ovviamente presuppone un minimo di conoscenza di Silverlight.

Giusto per darvi qualche esempio in italiano proveniente dalla nostra community:

1. LightSwitch: utilizzare i controlli Telerik per visualizzare, stampare, esportare dati - parte 1

2. LightSwitch: utilizzare i controlli Telerik per visualizzare, stampare, esportare dati - parte 2

3. Creare ed utilizzare controlli utente personalizzati in applicazioni LightSwitch (questo articolo è relativo alla Beta 1 ed alcune cose sono cambiate, prendetelo come spunto per ora)

Se poi visitate il LightSwitch Developer Center troverete altri esempi. Per quanto riguarda la personalizzazione delle applicazioni generate in base a temi, skin, colori, font e forma della shell nel menzionato Developer Center trovate le risorse appropriate per apprendere come si fa.

Per quanto riguarda la mancanza di controlli visuali (chart, istogrammi ecc. ecc.) ci sono decine di soluzioni basate su Silverlight da utilizzare, inclusi i controlli del Silverlight Toolkit che è per giunta open source. Ne ho dato dimostrazione in questo mio precedente post, proprio su questo discorso.

In definitiva, certamente le applicazioni LightSwitch consentono l'uso di controlli utente custom e di terze parti. Un minimo di sforzo ci vuole ma... ricordate? "the code you write is the only code you write".

Stampa & Reportistica

Allo stato attuale di Beta 2 in LightSwitch manca il supporto integrato per la stampa e la reportistica. Ora, io tante cose non posso dirvele..  Ma solitamente, voi mi insegnate, una Beta 2 dimostra già in modo abbastanza fedele le caratteristiche che si avranno in una versione finale.

Quindi, cerchiamo delle soluzioni. Stampa: abbastanza "banalotto" implementare funzionalità di stampa in un'applicazione LightSwitch. Si ricorre alle nuove API introdotte in Silverlight 4 per la stampa e con poche righe di codice si ha tutto il necessario. Codice? Eh beh, si... "the code you write is the only code you write"  E cosa stampo? Essenzialmente posso costruire un controllo utente basato su Silverlight che riceve i dati in binding e lo stampo come elemento visuale. Ne ho parlato in questo articolo: Implementare stampa e reportistica in applicazioni LightSwitch anch'esso dedicato alla Beta 1, che quindi andrebbe rivisto nella parte di reportistica ma non di stampa. Non è davvero un grande sforzo.

Reportistica. Giustamente voi mi dite che ogni tool per creare applicazioni line-of-business ha necessità di offrire i suoi tool di reportistica. E io vi dò anche ragione, però vi invito a fare un ragionamento al contrario.

Supponiamo che LightSwitch offra dei tool di reportistica integrati: al 95% non soddisferebbe le necessità di ognuno. A me servirebbe in un modo, a te in un altro, a quell'altro in un altro modo ancora.. e ci sarebbero ancora lamentele  Questo perché LightSwitch è uno strumento dedicato a una platea di persone veramente ampia.

Ora, sempre ragionando al contario, pensiamo che invece abbiamo la libertà di decidere come implementare la nostra reportistica. Possiamo ricorrere a controlli di terze parti, ai reporting services di SQL Server, a controlli custom scritti da noi su cui lavoriamo per la stampa. E lo sforzo non è eccessivo. D'altra parte in VB 6 come facevate? e in .NET come fate? Qui è la stessa cosa. Non confondete LightSwitch con Access, per favore. Sono due mondi opposti. LightSwitch non ha una, e sottolineo una, procedura guidata come quelle di Access. No no. Ne parleremo in un post dedicato, ma ricordate che LightSwitch vuole che si scriva codice e che qualche lavoro si faccia. E questo include la reportistica. Se seguite le dritte dei post che vi ho linkato sopra, potete capire come incorporare controlli di reportistica basati su Silverlight.

Volete giocarci gratuitamente? Divertitevi con questo progetto di reportistica in Silverlight, open source: Silverlight Reporting.

Volete provare il controllo Report Viewer per i SQL Reporting Services? Date un'occhiata a questo gran pezzo dell'amico Michael Washington.

Volete usare Microsoft Word per i report? Un bel post di Beth Massi.

Siete liberi di scegliervi i tool di reportistica che preferite, purché basati su Silverlight 4. E magari sono anche più professionali di quelli di Access e magari riuscite a personalizzarli anche meglio.

Ricordate: LightSwitch non è Access e si scrive il codice che serve: "the code you write is the only code you write". Non scoraggiatevi, comunque, su Access. Nel prossimo post ne parleremo meglio.

Integrazione con Office

Di default, LightSwitch include *già* una serie di funzionalità dedicate all'integrazione con Office come l'esportazione dei dati verso Excel e la possibilità di interagire con SharePoint 2010 come origine dati.

Capisco che non basta e, infatti, scrivendo un po' di codice  si possono fare una marea di cose per interagire con Office tra cui:

How Do I: Export Data to a Word Mailing Labels Document

How to Send Automated Appointments from a LightSwitch Application

How To Create Outlook Appointments from a LightSwitch Application

Using Microsoft Word to Create Reports For LightSwitch (or Silverlight)

Volete essere in grado importare dati da Excel oltre che esportarli? Esiste un'estensione free (Excel Importer) che vi consente di farlo. E' chiaro che se poi volete tante altre cose... dovreste domandarvi: "nei tool che uso ora (VB 6, VBA, Visual Studio .NET) ci sono?". Ad esempio (vedi Feedback 4) per importare CSV si potrebbe prendere a base il sorgente dell'Excel Importer e rielaborarlo. Si scrive codice: the code you write is the only code you write.

Spero di aver contribuito a chiarire qualche altro dubbio. Prometto che nel prossimo post parliamo di Access, in modo specifico vedremo che tipo di approccio dovrebbe usare uno sviluppatore Access avvicinandosi a LightSwitch.

Alessandro

Print | posted on domenica 1 maggio 2011 20:07 | Filed Under [ Visual Studio LightSwitch ]

Powered by:
Powered By Subtext Powered By ASP.NET