Luca Regnicoli

Express Application

Una delle novità più interessanti della Beta 1 è la possibilità di creare delle Express Application, ovvero delle vere e proprie applicazioni Avalon (e quindi Windows) che "vivono" all'interno di Internet Explorer; sopravvivono in modo sicuro poichè non hanno bisogno dei diritti di full trust ma girano in una browser-based sandbox con gli stessi privilegi della Internet Zone e il deploy viene effettuato in modo indolore grazie al signor ClickOnce e senza security-warning.
Ci rifarete il prossimo gestionale aziendale con le express application? Non credo proprio, o meglio non credo che sia quello il motivo della loro nascita, credo invece che l'idea di base sia la capacità di rendere trasparente all'utente l'esecuzione di pagine web o di applicazioni Windows. Cosa significa in pratica? Che l'utente navigherà sul nostro bel sito intranet/internet, e cliccando un link, al posto di visualizzare l'ennesima pagina php (:-)) ClickOnce scaricherà l'applicazione sul client e il runtime di Avalon visualizzerà la nostra meravigliosa interfaccia densa di controlli xaml, styles, trigger, databinding, animazioni e 3d. 

Cosa fare per realizzare la vostra prima applicazione Express? Il primo passo è la definizione dell'Application, questa deve essere una NavigationApplication e non una semplice Application; le Page non avranno limitazioni particolari, dobbiamo solo utilizzare controlli express-compliant, vi consiglio questo documento per l'elenco completo; l'ho letto e credo che le funzionalità chiave di Avalon sono tutte comprese in questa lista. Esistono qualche limitazioni dal lato "code-behind": non dovremo utilizzare nel codice classi per lavorare con risorse di sistema quali file system o registry. Non possiamo utilizzare codice unmanaged, il motivo? Security, siamo nella internet zone non dobbiamo dimenticarcelo. Inoltre sulla nostra Window possiamo impostare solo 4 proprietà: Text, Width, Height e StatusBarContent, ultima cosa non possiamo lanciare ulteriori window o dialog boxes, al massimo possiamo navigare tra page e utilizzare l'oggetto Popup di xaml (mi vedo già il popup-blocker del SP2 di Longhorn :-)).
Si lavora di cesello all'interno del file .proj impostando l'elemento <HostInBrowser>True</HostInBrowser> e una serie di altri elementi tipo <TargetZone>Internet</TargetZone> e <Install>False</Install> (ricordiamo che ClickOnce dovrà solo "lanciare" l'applicazione e non installarla in start->all programs, icone ecc.). L'amicone msbuild o vs al momento del build, creeranno tre file diversi:

  1. L'eseguibile
  2. L'application manifest. E' un file con estensione .application e contiene i metadati e le dipendenze dell'app.
  3. Il deploy manifest. E' un file con estensione .xapp (si pronuncia zap :-)), contiene le proprietà di deployment per ClickOnce.

A questo punto per provare il tutto basterà cliccare sul .xapp e Avalon farà partire l'host (IE) e inizializzerà (e si spera anche visualizzerà :-)) la nostra app.

In uno scenario concreto dovremmo distribuire i 3 file fondamentali (.exe, .application, .xapp) su una virtual directory di IIS, configurare i MIME types corretti, qui c'è uno script carino per fare il lavoro e linkare dalle pagine web con il più classico degli href il nostro file xapp. Eventualmente se vogliamo mostrare nella STESSA finestra di explorer l'applicazione Avalon e l'applicazione Web basterà includere nella pagina jsp (:-)) un Frame o il più carino IFrame che ospiterà la express application.

 

 

Comments

Shana23CARNEY said:

The book reports formatting firms have emerged because high students have became involved in their families life. Hence, they didn't doubt to purchase <a href="www.millionessays.com/.../technology.html">technology essays paper</a> in the we.

# dicembre 8, 2010 7:15

SheenaWatkins34 said:

This issue about this good post is great! Thence people not should create the thesis and writing thesis by their own, they can use your help.

# marzo 19, 2011 3:32