Capitolo 18

L'Evoluzione del Software e delle Applicazioni (2000-2010)
Il decennio 2000-2010 fu un'era di trasformazione significativa per il software e le applicazioni. Si assistette all'affermazione delle applicazioni web, all'esplosione delle app per dispositivi mobili e a continue evoluzioni nel software desktop, con un crescente impatto del cloud computing e dei modelli di distribuzione innovativi.
18.1 L'Affermazione delle Web Application (Web 2.0):
L'Interattività Online
Il concetto di Web 2.0 divenne centrale in questo periodo, segnando un'evoluzione dal web statico e informativo a un web più dinamico, interattivo e collaborativo. Le web application (applicazioni web) divennero sempre più sofisticate, offrendo funzionalità simili a quelle delle applicazioni desktop, ma accessibili direttamente tramite un browser web.
- Interattività e Contenuti Generati dagli Utenti: Le piattaforme Web 2.0 enfatizzavano la partecipazione degli utenti, consentendo loro di creare, condividere e interagire con i contenuti. Esempi emblematici includono i blog, i wiki (come Wikipedia), le piattaforme di condivisione di foto e video (come Flickr e YouTube) e i primi social media.
- Applicazioni Web Sofisticate: Applicazioni web come Gmail (lanciato nel 2004) dimostrarono che era possibile creare interfacce utente complesse e reattive all'interno di un browser. Google Maps (2005) rivoluzionò la navigazione online con la sua interfaccia dinamica e le sue funzionalità interattive.
- Tecnologie Abilitanti: Questa evoluzione fu resa possibile da tecnologie come AJAX (Asynchronous JavaScript and XML), che permetteva di aggiornare dinamicamente parti di una pagina web senza doverla ricaricare completamente, migliorando notevolmente l'esperienza utente. Framework JavaScript come jQuery e librerie UI come Dojo e Prototype semplificarono lo sviluppo di interfacce web complesse.
18.2 L'Esplosione delle Mobile App:
Il Software Tascabile
Con l'avvento degli smartphone e l'introduzione degli app store (l'Apple App Store nel 2008 e l'Android Market, poi Google Play Store, nel 2008), si assistette a un'esplosione del mercato delle mobile app (applicazioni per dispositivi mobili). Queste app estendevano le funzionalità degli smartphone ben oltre le chiamate e la navigazione web di base, offrendo accesso a una vasta gamma di servizi e contenuti.
- Categorie di App Popolari: Le app coprivano un'ampia varietà di categorie, tra cui social media (Facebook, Twitter, Instagram), giochi (Angry Birds, Candy Crush), produttività (Evernote, Dropbox), navigazione (Google Maps, Waze), intrattenimento (Netflix, Spotify) e molte altre.
- Mobile-First Design: Lo sviluppo di app mobili portò a un nuovo approccio al design del software, con un'attenzione particolare all'usabilità su schermi piccoli e all'interazione tramite touchscreen. Il concetto di mobile-first divenne sempre più importante, con le aziende che spesso sviluppavano prima le loro app mobili e poi le versioni web.
18.3 L'Evoluzione del Software Desktop:
Stabilità e Nuove Funzionalità
Nonostante la crescita delle applicazioni web e mobili, il software desktop continuò a evolversi e a rimanere fondamentale per molte attività:
- Sistemi Operativi: Microsoft continuò a dominare il mercato dei sistemi operativi desktop con Windows XP, Windows Vista e Windows 7. Apple continuò a sviluppare e migliorare Mac OS X (nelle sue varie versioni come Leopard, Snow Leopard e Lion), guadagnando quote di mercato.
- Software di Produttività: Le suite per ufficio come Microsoft Office continuarono a essere strumenti essenziali per la creazione di documenti, fogli di calcolo e presentazioni. Tuttavia, si assistette anche alla crescita di alternative web-based come Google Docs, che offrivano la possibilità di collaborare online in tempo reale.
- Software Creativo e Professionale: Software come Adobe Photoshop, Adobe Premiere Pro, Autodesk AutoCAD e molti altri continuarono a evolversi, offrendo funzionalità sempre più potenti per la grafica, l'editing video, la progettazione e altre attività professionali.
18.4 Il Software Open Source:
Una Forza Crescente
Il software open source continuò a guadagnare importanza e adozione durante questo periodo.
- Server-Side: Sistemi operativi come Linux (in particolare le distribuzioni come Ubuntu e Fedora) divennero sempre più popolari per i server web. Software come il server web Apache, il database MySQL e il linguaggio di scripting PHP rimasero componenti fondamentali dell'infrastruttura web.
- Desktop: Applicazioni open source come il browser web Firefox e la suite per ufficio OpenOffice.org (poi LibreOffice) offrirono valide alternative ai software proprietari.
18.5 Il Cloud Computing (Impatto Crescente):
Il Software come Servizio
Il cloud computing iniziò a emergere come un modello di erogazione del software e dei servizi sempre più importante. Invece di acquistare e installare software localmente, gli utenti potevano accedere ad applicazioni e dati tramite Internet, ospitati su server remoti ("nel cloud").
- Software as a Service (SaaS): Questo modello di distribuzione vedeva applicazioni come Gmail, Google Docs, Salesforce e molte altre offerte come servizi basati su abbonamento, accessibili tramite browser web.
- Servizi di Archiviazione Cloud: Servizi come Dropbox (lanciato nel 2007) permisero agli utenti di archiviare e sincronizzare file online, accedendovi da diversi dispositivi.
- Infrastruttura Cloud: Aziende come Amazon con Amazon Web Services (AWS) iniziarono a offrire infrastrutture informatiche scalabili "nel cloud", permettendo ad altre aziende di sviluppare e ospitare le proprie applicazioni senza dover investire in hardware fisico.
18.6 Nuovi Modelli di Distribuzione del Software:
Dalla Licenza all'Abbonamento
Il decennio vide un progressivo spostamento dai tradizionali modelli di licenza software (dove si acquistava una copia del software e la si installava sul proprio computer) verso nuovi modelli di distribuzione basati su Internet. Il modello Software as a Service (SaaS), in particolare, divenne sempre più popolare, offrendo vantaggi come l'accesso da qualsiasi luogo, l'aggiornamento automatico e spesso un costo iniziale inferiore (basato su un abbonamento periodico).
18.7 L'Importanza delle API (Application Programming Interfaces):
L'Interconnessione del Software
Le API (Application Programming Interfaces) divennero sempre più cruciali per l'ecosistema software. Le API sono set di regole e specifiche che permettono a diverse applicazioni software di comunicare e interagire tra loro. Questo consentì la creazione di servizi online più complessi e integrati, dove un'applicazione poteva utilizzare le funzionalità di un'altra (ad esempio, un'app di mappe che utilizza un'API per mostrare informazioni su ristoranti o negozi).
L'evoluzione del software e delle applicazioni nel decennio 2000-2010 fu caratterizzata da un dinamismo senza precedenti. L'affermazione delle applicazioni web e mobili cambiò radicalmente il modo in cui interagiamo con la tecnologia, rendendo il software più accessibile, interattivo e portatile. Il cloud computing iniziò a mostrare il suo potenziale trasformativo, mentre i modelli di distribuzione del software si evolsero per adattarsi a un mondo sempre più connesso. L'importanza crescente dell'open source e delle API sottolineò la natura collaborativa e interconnessa del panorama software moderno.