Android
Android è un sistema operativo open source per dispositivi mobili, basato sul kernel Linux. Fu inizialmente sviluppato da Android Inc., startup acquisita nel 2005 da Google. I co-fondatori di Android Inc., Andy Rubin (a sua volta co-fondatore di Danger), Rich Miner (co-fondatore di Wildfire Communications, Inc.), Nick Sears (vice presidente di T-Mobile), e Chris White (principale autore dell’interfaccia grafica di WebTV), iniziarono a lavorare per Google e svilupparono una piattaforma basata sul Kernel Linux. Il 5 novembre 2007 l’Open Handset Alliance presentò Android, costruito sulla versione 2.6 del Kernel Linux.La piattaforma è basata sul kernel Linux, usa il database SQLite, la libreria dedicata SGL per la grafica bidimensionale e supporta lo standard OpenGL ES 2.0 per la grafica tridimensionale. Le applicazioni vengono eseguite tramite la Dalvik virtual machine, una Java virtual machine adattata per l’uso su dispositivi mobili. Android è fornito di una serie di applicazioni preinstallate: un browser, basato su WebKit, una rubrica e un calendario.Framework
Nella produzione del software, il framework è una struttura di supporto su cui un software può essere organizzato e progettato. Alla base di un framework c’è sempre una serie di librerie di codice utilizzabili con uno o più linguaggi di programmazione, spesso corredate da una serie di strumenti di supporto allo sviluppo del software, come ad esempio un IDE, un debugger, o altri strumenti ideati per aumentare la velocità di sviluppo del prodotto finito.Lo scopo di un framework è di risparmiare allo sviluppatore la riscrittura di codice già steso in precedenza per compiti simili. Questa circostanza si è presentata sempre più spesso man mano che le interfacce utente sono diventate sempre più complesse, o più in generale man mano che è aumentata la quantità di software con funzionalità secondarie simili.Il termine inglese framework quindi può essere tradotto come intelaiatura o struttura, che è appunto la sua funzione, a sottolineare che al programmatore rimane solo da creare il contenuto vero e proprio dell’ applicazione.Snippet
Sono indicati col nome di snippet (letteralmente “ritaglio”) frammenti ed esempi di codice sorgente, di solito rilasciati nel pubblico dominio o come freeware.Lo scopo fondamentale di questi esempi di codifica è didattico e di supporto. Di norma, con uno snippet viene mostrata un’intera unità funzionale di codice corrispondente a un piccolo programma, oppure una singola funzione, una classe, un template o una raccolta di funzioni correlate.Di solito uno snippet nasce con gli stessi scopi di un esempio applicativo su un testo di programmazione: per mostrare il codice di una soluzione “standard” e già sperimentata a un dato problema, per illustrare “trucchi” di implementazione non banali e degni di nota, per evidenziare peculiarità di un determinato compilatore, come esempio di portabilità del codice, oppure anche per creare simpatici divertissement in poche righe.Importanti raccolte di snippet sono state create, negli anni, grazie all’eccellente qualità dei contributi dei frequentatori delle aree specialistiche di programmazione sui newsgroup Usenet, nelle aree internazionali di FIDOnet ed in altre reti amatoriali tematiche.Collezioni organiche e tematiche di snippet (la più famosa delle quali è sicuramente quella di Bob Stout), incluse le collezioni in formato digitale di tips and tricks delle più diffuse e vetuste riviste d’informatica, costituiscono fin dagli albori dell’informatica personale una importante fonte per l’apprendimento e l’affinamento delle pratiche della programmazione.
WebKit
WebKit è un framework per applicazioni disponibile come aggiornamento per Mac OS X a partire dalla versione 10.2.7 e integrato in Mac OS X 10.3 e successivi. WebKit è il motore di Safari e di altre applicazioni come Google Chrome. Esso permette a sviluppatori terzi di includere con facilità nelle loro applicazioni molte delle funzioni proprie di Safari. WebKit è un progetto open source che nasce dalla combinazione di componenti del sistema grafico KDE e di tecnologie Apple.L’API in Objective C di WebKit può interagire con un server web, richiamare e visualizzare le pagine web, scaricare i file e gestire i plugin.WebKit include due framework di basso livello: WebCore (un parser HTML e un renderer basato su KHTML) e JavaScriptCore (un motore JavaScript basato su KJS).WebOS
WebOS è un sistema operativo che include molte delle tecnologie già largamente presenti sul web, come HTML(5), JavaScript e CSS; Infatti tutte le applicazioni che girano su WebOS sono scritte usando codice HTML e Javascript, che permetterà sicuramente uno sviluppo molto più rapido delle applicazioni. In questo senso è proprio un sistema operativo *web*. Il framework per la visualizzazione dei contenuti è basato su WebKit, libreria open source su cui è basato anche Safari e Iris Browser. Tutto il sistema operativo WebOS può essere visto come un complesso browser che implementa un kernel e una gestione della memoria. Palm ha già annunciato un App Store simile a quello di Apple e Android, e un SDK, Mojo, che permetterà alla comunità di sviluppatori (*100mila secondo palm*) di realizzare applicazioni con l’aiuto di un IDE basato su Eclipse.Il kernel di WebOS è basato su una versione embedded di Linux.Uno dei punti deboli di webOS sarà probabilmente il numero delle app disponibili, che oggi sono fra gli elementi da considerare con maggiore importanza al momento dell’acquisto di un tablet. Il numero di app per webOS è decisamente inferiore rispetto a quelle offerte da Apple e da Google, quindi HP si dovrà muovere in fretta per aggiungere prodotti al suo catalogo e dare agli utenti tutti gli strumenti funzionali alle loro esigenze. Per fare fronte a questa esigenza impellente HP si è alleata con alcuni partner prestigiosi Time Warner, Facebook, Last.fm, Rovio (Angry Birds) e la NBA, e ha promesso che per il lancio ufficiale del TouchPad saranno disponibili le prime applicazioni. Bisognerà poi vedere se la comunità degli sviluppatori deciderà di supportare HP ampliando la sua offerta.