Titanium SDK
Titanium SDK è un framework open source che consente la creazione di applicazioni mobili native su piattaforme iOS e Android da un'unica codebase JavaScript. Titanium SDK è attualmente sviluppato dalla fondazione software senza scopo di lucro TiDev, Inc.
Nel febbraio 2013, Business Insider ha stimato che il 10% di tutti gli smartphone in tutto il mondo esegue app realizzate con Titanium. Dal 2017, Titanium aveva accumulato oltre 950.000 registrazioni di sviluppatori.
Il componente principale dell'ecosistema software Titanium è il kit di sviluppo software con licenza Apache, Titanium SDK. Alloy, un framework model-view-controller basato su Titanium, è un progetto correlato attualmente gestito e sviluppato da TiDev, Inc per l'utilizzo con Titanium SDK, che consente di semplificare e velocizzare lo sviluppo.
Titanium SDK è stato originariamente sviluppato e gestito da Appcelerator, Inc, poi successivamente da Axway, Inc dopo che Axway ha acquistato Appcelerator nel 2016. Oggi il Titanium SDK e i progetti correlati sono mantenuti dagli sviluppatori sotto la direzione della società senza scopo di lucro dell'Alabama TiDev, Inc. con sede a Centreville, Alabama.
Architettura
Le caratteristiche principali di Titanium SDK includono:
- API multipiattaforma per l'accesso a componenti nativi dell'interfaccia utente come barre di navigazione, menu, finestre di dialogo e funzionalità native del dispositivo, inclusi file system, rete, geolocalizzazione, notifiche, accelerometro e mappe.
- Le funzionalità non incluse nelle API, possono essere aggiunte con Hyperloop e con i moduli nativi.
- Il framework Alloy basato sul paradigma MVC.
Tutto il codice sorgente dell'applicazione viene distribuito sul dispositivo mobile dove viene interpretato utilizzando un motore JavaScript; Rhino di Mozilla viene utilizzato su Android e BlackBerry e JavascriptCore di Apple viene utilizzato su iOS. Nel 2011 è stato annunciato che era in fase di sviluppo un porting per il motore JavaScript V8 di Google che, una volta completato, avrebbe migliorato significativamente le prestazioni. Il caricamento del programma richiede più tempo rispetto ai programmi sviluppati con gli SDK nativi, poiché l'interprete e tutte le librerie richieste devono essere caricate prima che possa iniziare l'interpretazione del codice sorgente sul dispositivo.
Titanium fornisce API per:
- Utilizzo di funzionalità hardware specifiche, come i pulsanti del menu Android
- Uso di controlli specifici del sistema operativo, come i controlli dell'interfaccia utente di Cocoa su iOS
- Partecipazione all'ecosistema della piattaforma, ad esempio utilizzando i meccanismi di notifica delle specifiche piattaforme
Storia
Quando è stato introdotto nel dicembre 2008, Titanium era destinato allo sviluppo di applicazioni desktop multipiattaforma ed è stato talvolta paragonato ad Adobe Air. Tuttavia, ha aggiunto il supporto per lo sviluppo di applicazioni mobili per iPhone e Android nel giugno 2009 e nel 2012 Titanium Desktop è stato scorporato in un progetto separato guidato dalla comunità chiamato TideSDK. Il supporto per lo sviluppo di app per tablet basate su iPad è stato aggiunto nell'aprile 2010. Il supporto BlackBerry è stato annunciato nel giugno 2010, ed è stato in versione beta da aprile 2013. Il supporto di Tizen è stato aggiunto anche nell'aprile 2013 con le versioni 3.1.0 Titanium Studio e SDK. L'ultima aggiunta alla piattaforma nel 2016 è stata Hyperloop, una tecnologia per accedere alle API native su iOS, Android e Windows con JavaScript.
Nell'aprile 2010, Appcelerator ha ampliato la linea di prodotti Titanium con Titanium Tablet SDK. Titanium Tablet SDK attinge in gran parte dal supporto esistente per iPhone, ma include anche il supporto nativo per i controlli dell'interfaccia utente solo per iPad, come la suddivisione delle finestre e le popover. Inizialmente l'SDK mobile supportava solo lo sviluppo per iPad, ma ora il supporto include anche i tablet basati su Android.
Nel giugno 2011, Appcelerator ha rilasciato Studio e Titanium Mobile 1.7. Studio è un IDE standard completamente aperto derivato da Aptana Studio che Appcelerator ha acquisito nel gennaio 2011.
Nel giugno 2013, Jeff Haynie, CEO di Appcelerator, ha annunciato che la società aveva avviato Ti.Next, un progetto per riscrivere Titanium SDK in Javascript per migliorare le prestazioni e avvicinare gli utenti finali di Titanium, che scrivono in Javascript, al codice interno. In un post sul blog, ha scritto:
Nel gennaio 2016, Appcelerator è stata acquisita da Axway, una società di software globale con oltre 11.000 clienti del settore pubblico e privato in 100 paesi. Da allora, i piani Indie sono stati nuovamente resi gratuiti, incluso l'accesso API nativo con Hyperloop.
Versioni
Caratteristiche notevoli
Integrazione Angular
Da aprile 2018 è possibile utilizzare Angular 6 in combinazione con Titanium per sviluppare app mobili.
Integrazione Vue.js
Oltre all'integrazione Angular è anche possibile utilizzare Vue.js (a partire da maggio 2018) come framework per sviluppare app.
Supporto ES6
Titanium supporta le funzionalità di ES6 a partire dall'SDK 6.1.0 come le Classi, le arrow function e altro ancora.
Hyperloop
Hyperloop consente all'utente di accedere al codice nativo (Java, Objective-C, Swift, C#) all'interno di JavaScript e utilizzare librerie di terze parti.
App native
Con Titanium SDK le app compilate utilizzano componenti dell'interfaccia utente nativi attraverso il tuo codice JavaScript. Il vantaggio è che si avrà la migliore esperienza utente su ogni piattaforma poiché si utilizzano elementi nativi invece di creare elementi personalizzati.
Codice riutilizzabile
Uno degli obiettivi di Titanium è riutilizzare quanto più codice possibile per le varie piattaforme. Esiste un elevato livello di parità di componenti e l'utilizzo del framework Alloy MVC consente di condividere fino al 90% del codice su tutte le piattaforme. D'altra parte, si possono integrare funzionalità specifiche della piattaforma in modo molto semplice.
<Alloy>
<Window title="Titolo della finestra">
<ActionBar id="actionbar" title="Android Actionbar" platform="android"/>
<Label id="label">Benvenuto!</Label>
</Window>
</Alloy>
Esempio basilare di una finestra con una barra delle azioni Android (che sarà nascosta su iOS).
Note
Voci correlate
Collegamenti esterni
- (EN) Sito ufficiale, su titaniumsdk.com.
- (EN) Titanium SDK, su GitHub.
- Repository sorgenti di Titanium SDK, su github.com.
- Sito di segnalazione bug, su github.com.