Fino a poco tempo fa pensavo che .Net (in quanto prodotto Microsoft) stava avanzando così tanto da buttare fuori di scena tutti gli altri modelli di sviluppo presenti sulla scena. In realtà per come la Microsoft sta giocando la sua partita .Net avrà senso solo finché Windows manterrà la sua quota di mercato. Ma forse bisogna guardare con più attenzione ai seguenti fatti:
- sui desktop, Windows è ancora la scelta obbligata dato che le aziende che producono software e periferiche offrono quasi sempre soluzioni per Windows
- il web, di contro, è permeato ancora di PHP, JSP di Apache e MySQL, per quanto, a livello enterprise ASP.NET, IIS e SQL Server, per via della loro stretta integrazione e user-friendliness (apparente), non sono certo una realtà minore
- rispetto a qualche anno fa, esistono molte più piattaforme non-windows con cui fare i conti: lato mobile gli attori protagonisti sono Nokia, BlackBerry e iPhone; Microsoft dice che loro hanno un quota di mercato rilevante ma il dato, secondo la mia opinione, riguarda solo gli utenti di tipo aziendale (e tra questi manager e rappresentanti); mi sembra che tra i normali consumatori la piattaforma di riferimento sia Nokia
- Java si è giocata la carta dell’open source e si contende, insieme a Mono, lo scettro di ambiente di sviluppo multipiattaforma per eccellenza: basta vedere la corsa ai nuovi ambienti di sviluppo per iPhone che, nonostante le limitazioni della licenza dell’SDK, è appena iniziata; guardate qui e qui
- Java, dopo un periodo di sonnolenza, sembra aver ripreso la voglia di essere un competitor serio anche per le applicazioni desktop: ultimamente librerie come SwingX, Timing Framework o Jgoodies e ambienti di sviluppo maturi come NetBeans ed Eclipse dimostrano che lo sviluppo con Java non ha nulla da invidiare a .Net o Flash; inoltre il JCP, ovvero la comunità Java che decide come orientare le novità del linguaggio, è attiva più che mai per renderlo un linguaggio al passo coi tempi: sulla scena i linguaggi “minori” come Python, Ruby, Groovy e Javascript dimostrano giorno per giorno le loro indubbie qualità (type inference, definizione dinamica di metodi ed attributi, estensioni delle classi, presenza dei closures) e la capacità di Java di integrarli per ora lo sta salvando dal confronto diretto con il più giovane e performante C#; i grandi nomi dietro a Java dicono che non è possibile mantenere Java un linguaggio così semplice: è vero che le cose che fa C# si possono ottenere lo stesso ma la complessità necessaria per farlo scoraggia i più; Microsoft ha dimostrato che ha conoscenza ed esperienza da vendere nell’ambito dei linguaggi di sviluppo: LINQ, Parallel FX, e altri progetti dell’area Research stanno lì a dimostrarlo; di certo Java non può rimanere a guardare (e per fortuna non lo fa)
- a proposito di Flash, va ribadito che ormai sono molti i progetti open source il cui output è un file Flash; la stessa Adobe inoltre ha da poco rilasciato la suite Air, che consente di portare le applicazioni flash sul desktop
- Internet Explorer, sebbene sia il browser più diffuso, se la deve vedere con Firefox, Safari e all’orizzonte appaiono progetti come questo, molto interessante per le opportunità che presenta
- non ultimo, il sistema operativo: Windows Vista ha avuto il grandissimo merito di dirottare molti utenti verso altri sistemi operativi ed ha convinto molti governi a scegliere alternative open source ai suoi prodotti; da questo punto di vista possiamo certamente dire che Microsoft è stata un grosso sponsor per il movimento del Software Libero; inoltre sulla scena, Apple si fa sempre più presente grazie alla riconosciuta qualità del suo sistema operativo e alla bellezza dei suoi prodotti: riuscendo inoltre ad attingere a piene mani da tutti i progressi del mondo Gnu/Linux e FreeBSD, Mac OS X sembra sempre più la piattaforma di sviluppo ideale per tutti i progetti non .Net (ricordo che da poco è stato rilasciato anche MonoDevelop per Mac OS X)
Insomma, sul palcoscenico ci sono molti attori e, forse, rispetto a qualche anno fa, la conoscenza diffusa delle alternative possibili rende i grossi nomi meno capaci di dirottare le scelte del mercato con semplici strategie di FUD (ossia instillare il dubbio che scegliere prodotti alternativi produca perdite, disastri e cataclismi di varia natura). Il modello di sviluppo open source risulta vincente a tal punto che grosse compagnie decidono di acquistarli in blocco piuttosto che derivarne lo sviluppo.
Vedremo cosa ci riserverà questo incerto futuro.
Qualche dettaglio: per chi non lo sapesse Lobo Browser è un browser web open source scritto interamente in Java. Nell’ultima release integra il rendering di applet JavaFX, ossia il nuovo concorrente di Flash nell’ambito Web.
Zac