La fine delle piattaforme così come le conosciamo?

di |
logomacitynet696wide

Con la strategia .net e con le nuove direzioni di JavaOne cambiano gli scenari dell’informatica mondiale e le possibilita’ di utilizzazione stessa del computer come lo conosciamo oggi. Ma cosa sono veramente? Come possono interessare gli utenti Mac e quale interazione possono avere con la strategia .Mac di Apple?
Cerchiamo di capirlo in questo articolo che chiama in causa anche i nostri lettori…

E’ di questi giorni la notizia secondo cui Sun, dopo aver compiuto il grande passo adottando processori Intel e sistema operativo Linux sulle macchine di gamma bassa, continuerebbe la propria mutazione puntando tutto il suo futuro su Java (il noto e diffuso linguaggio multipiattaforma), sostanzialmente diventando agnostica in materia di hardware.
Lo stesso Scott McNealy, CEO di Sun, in una recente intervista ha chiesto agli sviluppatori di non sviluppare per Windows, Linux o Solaris, ma di farlo per JavaOne.

Curiosamente un altro gigante del settore, Microsoft, ha intrapreso la medesima scommessa creando l’innovativo ambiente .NET.

Si è fatta qualche ironia, al recente MacWorld, nel momento del lancio di .Mac, la piattaforma di utility web che Apple ha convertito in servizio a pagamento. Jobs nell’occasione ha detto più o meno che mentre Microsoft parla di .NET, Apple risponde con i fatti, introducendo appunto .Mac.

Pubblico in delirio, risatine, ovazione ma si tratta veramente di una risposta diretta a servizi analoghi?

In realtà , come abbiamo detto, vedere .NET come l’ennesimo web service è assai limitativo, ma il problema è tutto di Microsoft, che ha fatto una comunicazione orrendamente confusa sull’argomento.

Dunque: cosa è .NET, e perché dovrebbe interessare un utente Apple?
.NET è un nome collettivo che raggruppa una piattaforma software, un sistema di autenticazione, e un metodo di comunicazione da software a software standardizzato.
In sostanza, un metodo interamente nuovo di usare il computer, sia dal lato dell’utente che da quello dello sviluppatore.

Per quanto riguarda la piattaforma software, .NET è una raccolta di API e e strumenti di sviluppo fortementi orientati agli oggetti; la novità  è che questi oggetti sono accessibili da qualsiasi linguaggio supportato (VB.NET, ASP.NET, C/C++/C#, e persino Java).
Questo significa che una qualsiasi applicazione, usando le librerie e le API di .NET, può caricare una determinata funzionalità  contenuta in qualsiasi oggetto di una altra applicazione .NET.
Facciamo un esempio: stiamo scrivendo un documento di testo con Word e vogliamo inserire una immagine, ma vogliamo anche applicare un filtro alla immagine.
Invece di aprire un programma di fotoritocco, potremmo, da dentro Word, caricare la funzione da altri programmi installati, o addirittura da un server remoto, applicare il filtro e salvare il documento normalmente.

In definitiva, le applicazioni divengono ospiti di un database di funzioni che possono essere caricate in qualsiasi momento, sia localmente sia da internet, cosa che a qualcuno potrebbe ricordare una delle tante clamorose intuizioni di Apple, poi abortite nel tempo dalle varie direzioni prese nei momenti di massima confusione sugli obiettivi da perseguire: OpenDoc.
Tutte questo cose sono oggi possibili anche via Corba o OLE, ma in maniera non standardizzata e comunque non cross-platform.
Inoltre l’ambiente di sviluppo VisualStudio .NET promette di semplificare estremamente questo tipo di operazioni.

Ancora: le applicazioni .NET sono multipiattaforma perché, come quelle Java, sono compilate in un codice intermedio, ma diversamente da quelle Java non girano in una macchina virtuale, ma sono tradotte “just in time” nel codice nativo della piattaforma al momento dell’uso, garantendo un notevole incremento di velocità .
Anche Java ha questa capacità , ma .NET la estende, tenendo traccia dei moduli già  compilati e accorgendosi quando sono modificati.

Attualmente solo Windows supporta .NET, ma sotto Linux ci sono due progetti in corso per poterne usufruire delle funzionalità  (Mono e DotGNU), mentre la stessa Microsoft paga Corel per portare .NET su FreeBSD.
Lo scopo è di avere .NET ovunque, dai cellulari ai server passando per oggetti tipicamente home come Xbox.

Il secondo scopo di .NET è, come abbiamo detto, l’autenticazione, fornita con un servizio chiamato Passport/.Net/MyServices.
Poiché la gran parte del software .NET sarà  scaricata via web, .NET provvede a fornire una sorta di contatore che registra ogni programma comperato o usato una tantum, e ad effettuare il pagamento con una transazione bancaria.
Naturalmente anche Sun ha un progetto analogo, si tratta di Liberty Alliance, sviluppato assieme a Novell, AOL e altri partner.

Lo scopo di entrambi è chiaro: semplificare in teoria la vita dell’utente, fornendo una sola login e una sola password per qualsiasi tipo di servizio.

La terza parte di .NET riguarda lo scambio di informazioni che avviene tra diverse piattaforme o applicazioni.

Per ottenere queste funzioni, Microsoft ha scelto XML.
Con XML vengono secritti i dati, non la modalità  di presentazione degli stessi, che possono quindi essere manipolati da qualsiasi programma e su qualsiasi piattaforma (computer, PDA, ecc.) senza necessità  di traduzione.
I vantaggi sono incalcolabili soprattutto quando si tratta di integrare i database di diverse società  per permettere a ciascuna di manipolare i dati dell’altra.
Un esempio: chi vende biglietti aerei desidera offrire un servizio di automobili in affitto sul luogo di destinazione, si accorda con una società  che pratica questo business e, per vedere disponibilità , prezzi e caratteristiche delle auto non è più necessario rimodellare i database di entrambi, le informazioni viaggiano in documenti XML via HTTP.

I sistemi operativi nel loro complesso diventano irrilevanti per l’utente finale, visto che i dati e le applicazioni girano su qualsiasi device senza necessità  di compilazioni o porting.
Era l’idea alla base di Java, ma con .NET Microsoft è andata oltre: Java poteva accedere ai suoi oggetti, ma .NET permette di avere diversi linguaggi che accedono agli stessi oggetti.

Di fatto Sun potrebbe aver già  perso la sua guerra: ha avuto l’idea, ha realizato Java, lo ha diffuso, ma ha sfondato solo sul lato server e corporate, mentre Microsoft, con il 92% del mercato dei pc e il 41% dei server ha i numeri per imporre .NET globalmente.

In questo scenario non c’è traccia di Apple, per Jobs questo è un gioco pericoloso: se .NET approda su Mac, Apple perde la sua identità  e “diversità ” (quale è la differenza di far girare la stessa applicazione .NET su PC o su Mac?), e se .NET non viene portato sulle macchine di Cupertino, allora il Mac, col suo mercato è fuori dai giochi.
L’unica strategia possibile per Jobs in questo contesto è aspettare e vedere cosa succede, magari sperando in qualche clamoroso passo falso di Microsoft?

Le preoccupazioni riguardo .NET o JavaOne / Liberty Alliance sono chiare: la sicurezza della autenticazione, che può essere garantita solo fino ad uncerto punto (non esiste sistema inviolabile, e Microsoft non ha una tradizione di imperforabilità  come possono averla Sun, IBM e Oracle), e la privacy (è chiaro che con un sistema di autenticazione centralizzato e mondiale, le profilazioni possibili sui consumatori sono totali e quasi perfette).

Naturalmente occorrerà  tempo: le applicazioni Java e .NET già  esistono, ma si pensa che occorreranno circa 5 anni prima che queste nuove piattaforme divengano predominanti.

In conclusione, Java e .NET modificano profondamente il modo in cui vengono scambiate le informazioni, e conseguentemente anche il nostro modo di operare e interagire con esse.
In particolare viene rivoluzionato il nostro modo di utilizzare il computer e internet, che diventano molto più “strumenti” e meno “protagonisti”.
Ci aspetta dunque un futuro nel quale l’hardware e il sistema operativo che girano sui nostri computer sono ininfluenti?

Cosa ne pensano i lettori: vale la pena di rinunciare alla identità  del Mac o di Windows o di Linux per una piattaforma unica, universale, capace di scambiare dati con chiunque e con semplicità , dal palmare al server o il rischio insito in una simile tecnlogia è troppo alto?
Vi fidate più di Sun o di Microsoft o di nessuno dei due?
Quale dovrebbe essere il ruolo di Apple in questo nuovo scenario?
Ne parliamo in questo spazio sul nostro forum.
[A cura di Marco Centofanti]