Siamo stati per molti anni dei fans di Appcelerator, il framework per lo sviluppo di app mobile che ci ha permesso di creare decine di applicazioni di successo.
Ok, è vero, non siamo stati degli amanti fedeli: in moltissime occasioni abbiamo usato anche PhoneGap, Ionic e Flutter per lo sviluppo di app e PWA, ma il nostro amore per questo ambiente di sviluppo è di lunga data.
Appcelerator End of Life
Un po’ di storia.
Titanium SDK è un framework open source che consente la creazione di app mobili native su piattaforme tra cui iOS , Android e Windows UWP da un’unica base di codice JavaScript, sviluppata da Appcelerator .
Nel febbraio 2013 si stima che circa il 10% di tutti gli smartphone in tutto il mondo eseguiva app realizzate in Titanium. Nel 2017 Titanium contava oltre 950.000 sviluppatori attivi sulla piattaforma.
Nel 2016 Axway ha acquisito Appcelerator e il suo framework applicativo multipiattaforma open source, Titanium. Tuttavia il piano di sviluppo Axway ha incontrato un molti ostacoli, nonché indecisioni negli anni, provocando non poco risentimento nella community degli sviluppatori.
Oggi il progetto segna un punto di svolta, “End-of-Support” per Titanium in vigore dal 1 marzo 2022. Questo “End- of-Support’ sarà seguito dall’interruzione dei Mobile Backend Services di Axway, utilizzati dalle applicazioni Titanium.
Questa interruzione sarà effettiva dal 1 settembre 2022, quindi realisticamente settembre 2022 è la fine della linea Axway Appcelerator.
Appcelerator ha funzionato alla grande!
Appcelerator è stata fondata nel 2006 e in gran parte ha realizzato quello che fino ad allora era stato un sogno impossibile: un unico code base per lo sviluppo di applicazioni mobile per dispositivi Apple e Google Android.
Oggi questo sembra un obiettivo poco ambizioso (sigh) ma 15 anni fa questo era un progetto ambizioso ed estremamente audace: usare JavaScript per scrivere applicazioni mobile e produrre delle build native per i diversi sistemi operativi. Woow!
Appcelerator è riuscita a creare un ecosistema incredibile intorno a se, sviluppando una community estremamente attiva in tutto il mondo e quasi un milione di sviluppatori registrati.
Appcelerator ha anche fornito una piattaforma cloud in cui è possibile archiviare informazioni specifiche per il dispositivo dell’utente finale. Questa piattaforma potrebbe anche fornire notifiche per dispositivi Apple e Google Android. Questo era un punto di svolta molto importante, perché proprio grazie alle notifiche push in app è emerso il principale elemento differenziante tra app e applicazioni web.
Inoltre la complessità delle diverse piattaforme, dei sistemi operativi, degli SDK e della gestione delle notifiche era enorme: Appcelerator ha consentito ai piccoli sviluppatori indipendenti di produrre app con funzionalità che in precedenza avrebbe richiesto un intero team di sviluppatori.
Molti sbagli da cui imparare
Come tutti i pionieri, Appcelerator ha innovato e, come è naturale, fatto anche molti passi falsi ed errori lungo la strada.
Il percorso verso il successo per qualsiasi azienda è disseminato di esperimenti falliti: tra cui perseguire l’integrazione Windows Phone, BlackBerry 10 e altri dispositivi che oggi hanno non sono più presenti sul mercato.
Tra gli errori più importanti forse, errore che a mio parere ha compromesso irrimediabilmente il rapporto con la community degli sviluppatori indipendenti, è stata la scelta avventata di fare pagare dei piani di sottoscrizione importanti anche per i piccoli sviluppatori e per le app sviluppate: Appcelerator era alla ricerca di ricavi e la mossa naturale era andarla a prendere dalle tasche degli sviluppatori. Questo ha comportato una grossa emorragia di utilizzatori proprio nel momento che entravano sul mercato tutta una serie di piattaforme gratuite ed open source. Schiacciato dagli eventi, Axway ha ripristinato i piani indipendenti gratuiti ma questo è servito a poco: la frittata era ormai fatta!
Altro errore è stata l’introduzione di modalità alternative di programmazione all’interno della stessa piattaforma, tra cui Alloy: questo ha frammentato ulteriormente la community e creato problemi di supporto.
Il framework MVC Alloy Model–View–Controller (MVC) era brillante, visionario e aveva una leadership appassionata all’interno dell’azienda, ma non è stato adottato largamente dalla community degli sviluppatori perché richiedeva la riscrittura completa di tutte le app Titanium.
Anche noi in Neting, come sviluppatori di app, con una buona base di applicazioni già costruite su questo framework ci siamo interrogati molte volte se migrare ad Alloy. Ovviamente non l’abbiamo mai fatto…(;-))
Altro punto debole (comprensibile, tuttavia) di Appcelerator è stata la proverbiale poca reattività rispetto ad un sviluppo molto dinamico degli SDK: spesso i nuovi sistemi operativi o SDK non erano prontamente supportati dalla piattaforma e potevano occorrere alcuni mesi prima di arrivare a un supporto completo delle nuove funzionalità offerte dagli SDK più recenti.
Cosa succede ora alle app Appcelerator?
Secondo Axway, le applicazioni sviluppate con Titanium continueranno a funzionare dopo il 1 marzo 2022, a meno che o fino a quando Apple e Google non introdurranno modifiche ai rispettivi sistemi operativi. Questo potrebbe danneggiare la versione Titanium utilizzata per creare l’applicazione.
I servizi di back end mobile offerti da Axway (e utilizzati principalmente con le applicazioni Titanium) verranno interrotti a partire dal 1 settembre 2022.
Realisticamente, settembre 2022 è la fine della linea Axway Appcelerator.
Avendo creato e gestito decine di applicazioni mobile in questi anni, posso affermare con certezza che Apple e Google introdurranno sicuramente modifiche ai rispettivi sistemi operativi prima di quella data. Queste modifiche causeranno problemi per le applicazioni create con Titanium creando non pochi problemi agli utenti.
Axway prevede di collaborare con i contributori del progetto Titanium open source per trasferire i diritti di proprietà, la documentazione, i sistemi di compilazione e altre informazioni per garantire la continuità del progetto open source. Axway ha raccomandato ai clienti di utilizzare i servizi degli sviluppatori freelance nella comunità Titanium SDK per mantenere o migliorare le proprie applicazioni basate su Titanium.
Porting delle applicazioni Appcelerator ad altri framework
Purtroppo il porting di un’applicazione scritta in Appcelerator ad altra tecnologia non è fattibile. Cambiano completamente i linguaggi e la struttura dei file pertanto non esiste una soluzione ‘facile’ da percorrere.
La soluzione migliore è scegliere con accuratezza un nuovo framework di sviluppo, anche con la consapevolezza che questo potrà non funzionare per sempre (vedi Appcelerator!).
Attualmente le soluzioni migliori per lo sviluppo cross platform sono Ionic e Flutter. Entrambi i progetti sono maturi e presentano ambienti solidi, integrati, flessibili e supportati da un’ampia community.
Ionic è un framework Javascript, pertanto chi ha utilizzato Appcelerator per lo svliuppo potrebbe continuare a su Ionic utilizzando le competenze già acquisite in Javascript.
Flutter invece si basa su Dart, che è un linguaggio completamente diverso.
Entrambi i principali SDK condividono alcune caratteristiche comuni in quanto il loro obiettivo finale è sviluppare app mobili ad alte prestazioni partendo da un unico code base.
- Entrambi gli SDK rendono l’accesso offline in modo che il processo di sviluppo dell’applicazione possa essere eseguito in aree con disponibilità Internet limitata.
- Che si tratti di un design accattivante, di funzionalità impressionanti o di interfacce client impressionanti, sia Ionic che Flutter offrono il meglio per gli sviluppatori
- Le app mobili sviluppate tramite Flutter e Ionic funzionano perfettamente e le loro performance sono comparabili ad app native;
- Esistono librerie di plug-in native per servizi e interfacce di programmazione nativi
- Entrambe le piattaforme hanno una community molto vivace ed attiva: è sempre possibile trovare esempi, tutorial, supporto.
Quindi quale scegliere? Difficile.
Nel caso in cui stai cercando di costruire applicazioni multipiattaforma che abbiamo anche la componente webapp, ma soprattutto stai cercando di capitalizzare le conoscenze di sviluppo web già acquisite, Ionic ha il sopravvento nella battaglia tra Ionic e Flutter. Poiché Flutter ha un ecosistema autonomo e un linguaggio dedicato, difficile utilizzare librerie ed esperienze che non sia sviluppate appositamente per Flutter.
Ecco una tabella delle principali differenze:
Flutter | Ionic | |
Linguaggi di programmazione | Dart | HTML, CSS, JavaScript |
Runtime | Custom graphics engine | Web browser |
UI | Proprietary Widgets | Standards-based Web Components |
Native API access | Native plugin library, using Flutter native packages | Native plugin library, using Cordova and Capacitor |
Accesso Offline | Yes | Yes |
Mobile performance | Excellent | Very Good |
Web performance | Poor | Excellent |
Deployment | Mobile, Desktop, Web | Mobile, Desktop, Web, PWA |
Conclusioni
Per chi come noi ha assistito alle rivoluzioni degli ultimi anni, non c’è nulla da meravigliarsi. Ricordo ancora quando ci chiedevano di sviluppare app per Blueberry!
Dobbiamo arrenderci all’idea che, per quanto si possano fare scelte oculate, esiste un mercato fortemente variabile; applicativi, tecnologie e sistemi operativi si inseguono, nascono, muoiono o abbandonati alla velocità della luce.
Quindi cosa fare con la tua app sviluppata in Appcelerator?
Le soluzioni sono due:
- aspettare: per un anno il progetto dovrebbe essere mantenuto. Considera tuttavia che il supporto per i nuovi SDk sarà sempre più ridotto. E’ facile immaginare che tra poco, quando Google o Apple rilasceranno degli aggiornamenti ai loro sistemi operativi, il supporto di Appcelerator verrà a mancare e non sarà possibile mantenere il funzionamento delle app sui nuovi dispositivi.
- migrare: un anno vola rapidamente. Forse è il momento di cominciare a pensare al porting della tua applicazione mobile su un nuovo framework per non iniziare questo processo quando già i problemi inizieranno. Ed inizieranno presto, di questo puoi esserne sicuro!
Se stai cercando uno sviluppatore app per dare una nuova linfa o riscrivere la tua app in Appcelerator, forse è arrivato il momento di pensarci! Contattaci per parlarne.
Vorrei segnalare che la community di Titanium (TiDev) ha rilevato lo sviluppo e lo porterà avanti lasciandolo opensource.
https://titaniumsdk.com/