Magazine Informatica

Parliamo di API, cosa sono e la loro storia fino ad oggi

Creato il 10 novembre 2014 da Enjoyphone

Avete mai sentito parlare di API? No, non stiamo parlando di insetti ma bensì di Application Programming Interface. Con il termine API vengono indicate tutte le procedure disponibili al programmatore, che vengono solitamente raggruppate creando un set di strumenti messi a disposizione per facilitare la risoluzione di un determinato problema in un programma. Anche le librerie software presenti nei vari linguaggi di programmazioni possono essere definite API.

Ma da chi sono messe a disposizione queste API? Solitamente sono le software house a mettere a disposizione questi pacchetti per facilitare lo sviluppo di applicazioni ma a volte sono gli stessi programmatori a rendere pubbliche le proprie API per facilitare la risoluzione dello stesso problema ad un altro programmatore.

Le API quindi sono molto utili in quanto permettono di creare un programma partendo già da un alto livello di programmazione sfruttando altro software che si occupa della programmazione a basso livello, ovviando così al problema di riscrivere tutto il programma partendo da quest’ultimo.

Fra le varie API possiamo segnalare alcune delle più note come quella di Microsoft, la Windows API, le Universal Plug and Play, le JAIN (Java APIs for Integrated Network) scritte in Java ed utilizzate per la realizzazione di servizi telefonici, o le Google APIs.

È proprio su quest’ultime che mi voglio soffermare.

Iniziamo con un po’ di storia del nostro amato robottino verde. Dopo un periodo di Alpha test all’interno della propria azienda, la versione Beta di Android venne rilasciata il 5 Novembre 2007, data che oggi rappresenta il compleanno di Android. Poco tempo dopo venne pubblicato anche il software development kit (SDK) che facilitava lo sviluppo di applicazioni per il sistema operativo. Da allora Google si preoccupa di aggiornare il proprio sistema operativo tramite major e minor release. La prima di esse fu Android 1.0 rilasciata il 23 Settembre 2008. A quel tempo l’unico cellulare capace di far girare Android era l’HTC Dream. In Android 1.0 erano disponibili molte applicazioni come: l’Android Market, il web browser, Gmail, Gmaps, contatti, Media Player, YouTube a tante altre che sono tutt’ora disponibili. Dalla versione 1.5 di Android in poi il robottino prende il nome di un dolce, il primo fu Cupcake fino ad arrivare ad Android 5.0 o semplicemente Lollipop.

Cosa c’entrano le versioni di Android con le API? Semplice, ad ogni release (o meglio, quasi tutte) Google pubblica un insieme di API utili agli sviluppatori per sfruttare le nuove potenzialità che esso mette a disposizione. Con l’avvento di Android L sono state pubblicate anche le API di quest’ultimo, raggiungendo così il livello 21 di API.

Ora analizziamo alcuni delle più importanti release di Android con le varie novità negli API level.

android_cupcake

Partiamo subito da Android Cupcake con il quale si ebbe un grande passo in avanti soprattutto per la UI. Altra grande novità furono i widget e il supporto a tastiere di terzi, i package aggiunti all’API level 3 rispettivi a queste due funzionalità furono: android.appwidget e android.inputmethodservice.

android_gingerbread

Con l’arrivo di android 2.3.x Gingerbread (API level 9) si è avuto un miglioramento soprattuto nella multimedialità e nella UI che divenne più veloce. I packages più rilevanti aggiunti nell’API level 9 furono: android.net.sip per le chiamate VOIP, android.nfc per il supporto allo standard NFC (near field communication), e l’android.os.storage che permise un miglior utilizzo del system storage.

android_ice_scream_sandwich

Il 19 Ottobre 2011 fu rilasciato Android 4.0 Ice Cream Sandwich, che migliorò tutte le features disponibili fino ad allora. Fu inoltre l’ultima release a supportare ufficialmente adobe system’s flash player. L’API raggiunse il level 14 con l’aggiunta di pacchetti come l’android.media.effect che permise la modifica di immagini tramite vari effetti, android.net.wifi.p2p che permise la comunicazione peer-to-peer tramite Wi-Fi direct.

 

android_jelly_bean

Ci avviciniamo sempre di più all’ultima release e per farlo non possiamo non parlare di Android Jeally Bean 4.1.x che ebbe come primo scopo il miglioramento della UI. Alcuni dei packages aggiunti nel API level 16 sono stati android.net.nsd, android.hardware.input e android.annotation.

Android-KitKat-header-664x374

Ci siamo quasi… Con Android KitKat 4.4.x si ha ancora un miglioramento nell’ interfaccia grafica, come la status bar trasparente, viene aggiunto ART (android runtime) e magia delle magie (rullo di tamburi) anche gli smartphone con minimo 340MB di RAM sono in grado di far girare Android KitKat (come il mio caro amato Xperia U), in quanto è stato pensato anche per i dispositivi LOW RAM, cioè i dispositivi aventi meno di 512 MB di RAM. Siamo così giunti all’API level 19. Alcuni dei packages introdotti sono: android.transition che abilita la funzionalità per vedere le gerarchie tramite “scenes & transitions”, android.print che implementa il supporto alla stampa nelle applicazioni, android.print.service che implementano l’uso dei print services (componenti plug-in che sanno comunicare con le stampanti grazie ai protocolli).

  

android_lollipop

Siamo così giunti alla fine. Infatti con l’ultima release di Android, Lollipop ci fermiamo all’API level 21. Quest’ultimo aggiornamento ha portato molte novità come il material design, il Project Volta (utilizzato per aumentare la durata della batteria), la modalità ospite, il vector drawables (che permette la scala nelle immagini senza perdere risoluzione) e ART come runtime predefinito. Per aiutare gli sviluppatori nella realizzazioni di applicazioni ottimizzate per quest’ultima versione vediamo che Google introduce nell’API level 21 vari pacchetti come android.app.usage (per le statistiche di utilizzo di una determinata configurazione), android.hardware.camera2 che fornisce un’interfaccia per i dispositivi delle singole telecamere collegate ad un dispositivo Android, android.app.job, android.media.browse, android.media.session e molti altri pacchetti per rendere migliore l’approccio tra utente e sistema operativo. Un update molto importante per Android che presto vedremmo su molti degli ultimi device.

Adesso facciamo il punto di quanto detto in precedenza anche per riordinare le idee. Google affianca ad ogni release un pacchetto API per aiutare lo sviluppatore nel suo lavoro. Questi packages si aggiornano all’aumentare del livello API introducendo nuove classi. Per le novità invece vengono invece aggiunti altri pacchetti. Perchè tutto questo vi chiederete voi? Semplicemente perché Google ci tiene al suo robottino e con la pubblicazione di queste API permette all’ecosistema Android di continuare a vivere. Immaginate se tutti smettessero di pubblicare applicazioni Android o di aggiornarle. Vi saluto lasciandovi il link della pagina dove potete trovare tutti i packages messi a disposizione da Google.


Potrebbero interessarti anche :

Ritornare alla prima pagina di Logo Paperblog

Possono interessarti anche questi articoli :