All’ultimo workshop UGIdotNET del 13 Dicembre, Dino Esposito ha illustrato al meglio, e in un modo che solo lui può ottenere, qual’è il trend delle applicazioni future sul Web. Questo trend prende il nome di Silverlight. So poco o nulla di queste tecnologie Web, ma un’idea ce l’ho e non riesco a non dirvela più di tanto. Oggi è il 19, sono passati 6 giorni dal workshop e non ce la faccio più a stare zitto.
La morale è che nelle versioni future, che oggi non sono nemmeno in alpha, Silverlight richiederà l’installazione del .NET Framework 3.0 sul PC client. Questo per avere TUTTE le potenzialità di WPF al 100%: tutti i tipi di panel, tutti i tipi di controlli, supporti per stili, data-binding, etc. etc. Tutto meraviglioso, io per quel poco che utilizzo WPF, so le sue potenzialità che sono assolutamente devastanti. Con tutta la potenza di fuoco di WPF, le applicazioni Web saranno in grado di dare agli utenti una user-experience mai provata prima. Ma non può essere tutto oro quello che luccica.
L’installazione del .NET Framework su ogni PC è un elemento a mio avviso bloccante. Sarà ovviamente un sottoinsieme del .NET Framework. Si parla di un plug-in di 13Mb. Ora: non è tanto il peso in Mb in sè, quanto la sensazione di invasività – passatemi il termine – che questo può creare. Non parlo di me che lavoro con il framework tutti i giorni, e non parlo nemmeno della maggior parte di voi che leggete il mio blog, ma parlo di tutti quelli che odiano il framework, o comunque di tutti quelli che non voglio installarlo per tenere pulito il PC. Uno dei motivi di successo di Google è – oltre all’ovvia efficienza del motore di ricerca – anche la leggerezza delle pagine, compresa la home-page. Quanti di noi installiamo le toolbar per IE o per Firefox? Quanti di noi fanno le installazioni custom degli applicativi al fine di essere il più leggeri possibile? Quanti di noi vanno nelle impostazioni di IE per disabilitare questo o quel plug-in per rendere più sicuro il sistema?
Dico chiaro e tondo quello che penso: pochi si installeranno 13Mb per avere Silverlight sul sistema. Dino ha fatto un ottimo esempio, quando ha parlato del buon vecchio ActiveX, che all’epoca (era pre-2000) doveva portare sui client un vero ambiente dove far girare le applicazioni, scritte con linguaggi seri ed attraverso componenti COM. Fallì, secondo me, non perchè era in anticipo sui tempi come ha detto Dino, quanto perchè era troppo invasivo sul PC dell’utente: c’era da scaricare un ocx o una dll, che girava in una sandbox sicura, etc. etc. Questo non cambia affatto con Silverlight: si scarica un assembly, e tale assembly gira attraverso il CLR lato client. Chiaro, è l’unica soluzione plausibile, ma è una cosa che gli utenti non digeriranno mai. E’ ovvio che attualmente è l’unica soluzione per liberarsi da Javascript (l’assembly è scritto in linguaggio managed, e su questo nessun problema), ma non è una strada percorribile. Non sono in grado di dire qual’è una strada migliore, ed è il motivo per cui oggi – più che in passato – odio tutti gli strumenti/tools/framework/tecnologie che hanno a che fare con lo sviluppo Web. Scusatemi, non voglio offendere nessuno. Se qualcuno mi dicesse: “Se uno sciocco se sviluppi per smart-client, o per palmare!”, la mia sicurezza è tale che gli risponderei pregi e difetti, e perchè mi piace, e perchè ritengo che quella è Vera Programmazione e le altre no. Quelli per Web sono solo un’accozzaglia di strumenti che tentano di unirsi fra loro per raggiungere un risultato finale decente. Contenti voi. Se sapessi una strada migliore, probabilmente non sarei qui a scrivere sul mio blog ma sarei da qualche parte a diventare ricco. Davvero.
Andiamo avanti.
Senza contare che il .NET Framework significa ad oggi compatibilità solo con il mondo Windows. Diciamo poco. Chiunque abbia programmato un sito Web appena più che decente sa che è assolutamente necessario coprire la maggioranza degli utenti, quindi prevedere tutti gli OS, tutti i browser, tutte le versioni, etc. etc. E voi mi venite a dire che Silverlight gira solo con il .NET Framework? Assurdo. Ok, si potrebbe obiettare, Microsoft rilascerà il framework anche su MAC, ed in futuro il progetto Mono arriverà a portare il framework anche su Linux. Sì, certo: adesso appena esco compro un X-Wing e vado a distruggere la Morte Nera, prima però passo a prendere Penelope Cruz che mi sta aspettando qui sotto per andare a mangiare una pizza. Siamo realisti, per favore. Secondo me, non è nemmeno questione di tempo. Anche se il framework sarà davvero disponibile su tutte le piattaforme, vorrei sapere chi davvero lo installerà. O comunque, vorrei sapere chi fra i Grandi del Web (Amazon, Ebay, etc. etc.) si azzarderà a costruire il proprio portale in Silverlight.
Ultima cosa: con Silverlight potremo visualizzare video. Il plug-in penserà a tutto. Io ho già raccontato la mia esperienza: WPF richiede Windows Media Player 10 per poter visualizzare certi tipi di video. Non posso affermare con certezza che il plug-in permetta davvero di vedere ogni tipo di video: secondo me, allo stato attuale delle cose, WMP è richiesto. Questo è un altro elemento bloccante, perchè WMP oggi significa solo Windows.
Meglio starò lontano dallo sviluppo Web, e meglio mi sentirò (cit.).
Oddio, che mal di testa. Ditemi quello che volete.
Technorati Tags: .NET Framework Web wpf Silverlight