Titanium SDK: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m smistamento lavoro sporco e fix vari
m Aggiornamento release
 
(26 versioni intermedie di 7 utenti non mostrate)
Riga 1:
{{O|software|marzo 2023}}
{{C|"solita" traduzione semiautomatica in cui le fonti non sono state riportate correttamente dalla versione di origine|informatica|febbraio 2023}}
{{Software
|Nome = Titanium SDK
|Logo = Icon-titanium-sdk-red.svg
|Sviluppatore = TiDev, Inc.
|DataPrimaVersione = {{Data|09|03|2010}}
|UltimaVersione = 12.07.0.GA
|DataUltimaVersione = {{Data|30|1204|20222025}}<ref name=Versioni>{{Cita web|url=https://titaniumsdk.com/guide/Titanium_SDK/Titanium_SDK_Release_Notes/Titanium_SDK_Release_Notes_12.x/Titanium_SDK_12.07.0.GA_Release_Note.html|titolo=GA Release of Titanium SDK 12.07.0.GA|data=30 dicembreaprile 2025|lingua=en|accesso=30 aprile 20222025}}</ref>
|latest preview version = [https://github.com/tidev/titanium_mobile/releases]
|SistemaOperativo = {{Tutto attaccato|[[macOS]]}}
|SistemaOperativo2 = {{Tutto attaccato|[[Microsoft Windows|Windows]]}}
|SistemaOperativo3 = {{Tutto attaccato|[[Linux]]}}
|SistemaOperativoAltri = [[iOS]], [[Android (operating system)|Android]], [[multipiattaforma]]
|Linguaggio = Objective C
|Linguaggio2 = Java
Riga 22:
}}
 
'''Titanium SDK''' è un framework open source che consente la creazione di [[Applicazione mobile|applicazioni mobili]] native su [[Dispositivo mobile|piattaforme]] [[iOS]] e [[Android]] da un'unica [[codebase]] [[JavaScript]].<ref>{{Cita web|url=https://titaniumsdk.com/guide/Titanium_SDK/Titanium_SDK_Guide/Titanium_Command-Line_Interface_Reference/#build|titolo=SDK version setting precedence|sitolingua=titaniumsdk.comen|accesso=4 gennaio 2023}}</ref> Titanium SDK è attualmente sviluppato dalla fondazione software senza scopo di lucro TiDev, Inc.<ref>{{Cita libro|url=http://www.packtpub.com/creating-mobile-apps-with-appcelerator-titanium/book|titolo=Creating Mobile Apps with Appcelerator Titanium|edizione=1st1|p=318|ISBN=978-1-84951-926-7|urlmorto=sì|urlarchivio=https://web.archive.org/web/20140802032405/http://www.packtpub.com/creating-mobile-apps-with-appcelerator-titanium/book}}</ref><ref>{{Cita libro|url=https://www.packtpub.com/application-development/appcelerator-titanium-business-application-development-cookbook|titolo=Appcelerator Titanium Business Application Development Cookbook|edizione=1st1|p=328|ISBN=978-1-84969-534-3|urlmorto=sì|urlarchivio=https://web.archive.org/web/20150111234058/https://www.packtpub.com/application-development/appcelerator-titanium-business-application-development-cookbook}}</ref><ref>{{Cita libro|url=http://www.packtpub.com/augmented-reality-using-appcelerator-titanium-starter/book|titolo=Augmented Reality using Appcelerator Titanium Starter [Instant]|edizione=1st1|p=52|ISBN=978-1-84969-390-5|urlmorto=sì|urlarchivio=https://web.archive.org/web/20140122125425/http://www.packtpub.com/augmented-reality-using-appcelerator-titanium-starter/book}}</ref><ref>{{Cita libro|url=http://eu.wiley.com/WileyCDA/WileyTitle/productCd-047066083X.html|titolo=Building iPhone Applications with Titanium|edizione=1st1|p=352|ISBN=978-0-470-66083-6|urlmorto=sì|urlarchivio=https://web.archive.org/web/20120429161630/http://eu.wiley.com/WileyCDA/WileyTitle/productCd-047066083X.html}}</ref><ref>{{Cita libro|url=http://www.packtpub.com/appcelerator-titanium-patterns-and-best-practices/book|titolo=Appcelerator Titanium: Patterns and Best Practices|edizione=1st1|p=110|ISBN=978-1-84969-348-6}}</ref><ref>{{Cita libro|urlurlmorto=sì|urlarchivio=https://web.archive.org/web/20130827205035/http://www.packtpub.com/appcelerator-titanium-mobilepatterns-applicationsand-developmentbest-for-smartphone-iphone-android-cookbookpractices/book|edizione=1st|p=308|ISBN=978-1-84951-396-8}}</ref><ref name=":0"/>
 
Nel febbraio 2013, ''[[Business Insider]]'' ha stimato che il 10% di tutti gli smartphone in tutto il mondo esegue app realizzate con Titanium.<ref name="business-insider-microsoft">{{Cita web|url=http://www.businessinsider.com/microsoft-eyes-appcelerator-acquisition-2013-2#ixzz2YmNSFhT7|titolo=Microsoft Might Buy A Startup That Powers 10 Percent Of The World's Smartphones|autore=Julie Bort|data=1º febbraio 2013|lingua=en|accesso=18 febbraio 2024}}</ref> Dal 2017, Titanium aveva accumulato oltre 950.000 registrazioni di sviluppatori.<ref name="appc-2017">{{Cita web|url=http://www.appcelerator.com/|titolo=Appcelerator|lingua=en|accesso=18 febbraio 2024|autoreurlmorto=Appceleratorsì|urlarchivio=https://web.archive.org/web/20141230231506/http://www.appcelerator.com/}}</ref>
 
Il componente principale dell'ecosistema software Titanium è il [[Software development kit|kit di sviluppo software]] [[Licenza Apache|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.<ref name=":0">{{Citacita libro|url=http://www.packtpub.com/appcelerator-titanium-mobile-applications-development-for-smartphone-iphone-android-cookbook/book|titolo=Appcelerator Titanium Smartphone App Development Cookbook|edizione=1st1|p=308|ISBN=978-1-84951-396-8}}<cite class|urlmorto="citation book cs1" data-ve-ignoresì|urlarchivio="true" id="CITEREFPollentine2011">Pollentine, Boydlee (December 16, 2011)https://web. <archive.org/cite>web/20131111191702/http://www.packtpub.com/appcelerator-titanium-mobile-applications-development-for-smartphone-iphone-android-cookbook/book}}</ref> 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)|Centreville, Alabama]].<ref>{{Cita web|url=https://www.bibbvoice.com/2022/05/01/titanium-mobile-development-software-finds-a-new-home-in-central-alabama/|titolo=Titanium Mobile Development Software Finds a New Home In Central Alabama|autore=Mike Hobson|data=1º maggio 2022|lingua=en|accesso=4 gennaio 2023}}</ref>
 
== 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 [[Interprete (informatica)|interpretato]] <ref>{{Cita web|url=http://developer.appcelerator.com/question/45001/is-appcelerator-titanium-mobile-really-a-cross-compiler|titolo=Is Appcelerator Titanium Mobile really a Cross-Compiler?|lingua=en|accesso=18 febbraio 2024|urlmorto=sì|urlarchivio=https://web.archive.org/web/20130108105302/http://developer.appcelerator.com/question/45001/is-appcelerator-titanium-mobile-really-a-cross-compiler}}</ref> utilizzando un [[Interprete JavaScript|motore JavaScript]]; [[Rhino (interprete JavaScript)|Rhino]] di Mozilla viene utilizzato su Android e BlackBerry e [[WebKit|JavascriptCore]] di Apple viene utilizzato su iOS.<ref>{{Citacita web|url=http://developer.appcelerator.com/blog/2010/12/titanium-guides-project-js-environment.html|titolo=Titanium Guides Project: JS Environment|autore=Kevin Whinnery|data=1º dicembre 2010|citazione=Titanium runs your application's JavaScript using one of two JavaScript interpreters – JavaScriptCore on iOS (the interpreter used by Webkit) and Mozilla Rhino on Android and BlackBerry.|lingua=en|accesso=18 febbraio 2024|urlmorto=sì|urlarchivio=https://web.archive.org/web/20131019152146/http://developer.appcelerator.com/blog/2010/12/titanium-guides-project-js-environment.html}}</ref> Nel 2011 è stato annunciato che era in fase di sviluppo un porting per il [[V8 (motore JavaScript)|motore JavaScript V8]] di Google che, una volta completato, avrebbe migliorato significativamente le prestazioni.<ref>{{Cita web|url=http://developer.appcelerator.com/blog/2011/09/platform-engineering-android-runtime-performance-improvements.html|titolo=Platform Engineering: Android Runtime Performance Improvements|autore=Don Thorp|data=7 settembre 2011|lingua=en|accesso=18 febbraio 2024|urlmorto=sì|urlarchivio=https://web.archive.org/web/20130607081927/http://developer.appcelerator.com/blog/2011/09/platform-engineering-android-runtime-performance-improvements.html}}</ref> 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:
Riga 46:
 
== Storia ==
Quando è stato introdotto nel dicembre 2008, Titanium era destinato allo sviluppo di applicazioni desktop multipiattaforma ed è stato talvolta paragonato ad [[Adobe Integrated Runtime|Adobe Air]].<ref>{{Citacita web|url=https://www.techcrunch.com/2008/12/09/appcelerator-raises-41-million-for-open-source-ria-platform/|titolo=Appcelerator Raises $4.1 Million for Open Source RIA Platform|data=9 dicembre 2008|lingua=en|accesso=18 febbraio 2024}}</ref><ref>{{Citacita web|url=http://www.eweek.com/c/a/Application-Development/Appcelerator-Takes-on-Adobe-AIR-with-Titanium/|titolo=Appcelerator Takes On Adobe AIR with Titanium|autore=Darryl K. Taft|data=9 dicembre 2008|lingua=en|accesso=18 febbraio 2024}}</ref> 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.<ref>[{{cita web|url=http://developer.appcelerator.com/blog/2012/01/the-future-of-titanium-desktop.html |titolo=Appcelerator Developer Blog – The Future of Titanium Desktop]|autore=Kevin Whinnery|data=20 gennaio 2012|lingua=en|accesso=18 febbraio 2024|urlmorto=sì|urlarchivio=https://web.archive.org/web/20131011055347/http://developer.appcelerator.com/blog/2012/01/the-future-of-titanium-desktop.html}}</ref><ref>{{Citacita web|url=http://www.infoworld.com/d/developer-world/appcelerator-enables-iphone-android-app-dev-655|titolo=Appcelerator enables iPhone, Android app dev|autore=Paul Krill|data=8 giugno 2009|lingua=en|accesso=18 febbraio 2024}}</ref> Il supporto per lo sviluppo di app per tablet basate su iPad è stato aggiunto nell'aprile 2010.<ref name="mashable">{{Citacita web|url=http://mashable.com/2010/04/05/titanium-tablet-sdk/|titolo=Appcelerator Simplifies iPad App Development|autore=Christina Warren|sito=[[Mashable]]|data=5 aprile 2010|lingua=en|accesso=18 febbraio 2024|urlmorto=sì|urlarchivio=https://web.archive.org/web/20160410163449/http://mashable.com/2010/04/05/titanium-tablet-sdk/#tDMfGK7sa5qc}}</ref> Il supporto BlackBerry è stato annunciato nel giugno 2010,<ref>{{cita web|url=http://blackberryrocks.com/2010/05/06/appcelerator-announces-titanium-mobile-beta-support-blackberry-news/|titolo=Appcelerator Announces Titanium Mobile Beta Support For BlackBerry [News]|autore=Mauricio|data=6 maggio 2010|lingua=en|accesso=18 febbraio 2024|urlmorto=sì|urlarchivio=https://web.archive.org/web/20100509193733/http://blackberryrocks.com/2010/05/06/appcelerator-announces-titanium-mobile-beta-support-blackberry-news/}}</ref> 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.<ref name="hyperloop">{{Citacita web|url=http://www.appcelerator.com/blog/2016/08/hyperloop-is-here/|titolo=Hyperloop is Here|autore=Jeff Haynie|data=11 agosto 2016|lingua=en|accesso=18 febbraio 2024|urlmorto=sì|urlarchivio=https://web.archive.org/web/20160906001313/http://www.appcelerator.com/blog/2016/08/hyperloop-is-here/}}</ref>
 
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.<ref>{{Citacita web|url=http://www.readwriteweb.com/mobile/2011/06/appcelerator-launches-titanium-studio-mobile-desktop-web-development-in-one.php|titolo=Appcelerator Launches Titanium Studio: Mobile, Desktop & Web Development in One|autore=Sarah Perez|data=13 giugno 2011|lingua=en|accesso=18 febbraio 2024|urlmorto=sì|urlarchivio=https://web.archive.org/web/20150913055444/http://readwrite.com/2011/06/13/appcelerator-launches-titanium-studio-mobile-desktop-web-development-in-one}}</ref> 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.<ref>{{Citacita testoweb|url=https://www.infoq.com/news/2013/08/Ti.Next_Appcelerator_JeffHaynie|titolo=Ti.Next-What’s It All About Appcelerator?- Part 2 of 2|autore=Martin Monroe|sito=InfoQ|data=10 agosto 2013|lingua=en|accesso=18 febbraio 2024}}</ref> In un post sul blog, ha scritto:<blockquote>Riteniamo che JavaScript dovrebbe essere il linguaggio giusto per sviluppare Titanium, non solo app con Titanium SDK. Con Ti.Next, abbiamo creato un piccolo progetto di [[Kernel#Microkernel|microkernel]] che ci consentirà di avere un codice di bootstrap minimo nel linguaggio nativo ([[C (linguaggio)|C]], [[Java (linguaggio di programmazione)|Java]], [[C sharp|C#]], ecc.) che dialoga con un set comune di [[Compilatore|compilatori]], strumenti e una singola [[Macchinamacchina virtuale|Macchina Virtuale]] JavaScript. Abbiamo trovato un modo per far funzionare la {{Abbr|VM|virtual machine}} [[WebKit]] [[KJS (JavaScript)|KJS]] su più piattaforme invece di utilizzare macchine virtuali diverse per piattaforma. Ciò significa che possiamo ottimizzare pesantemente il microkernel (di seguito chiamato "TiRuntime") e la manutenzione, le ottimizzazioni e la profilazione possono essere notevolmente semplificate. Stiamo parlando di {{Abbr|~5K|about 5,000}} {{Abbr|LOC|lines of code}} contro 100K LOC per piattaforma.<ref>{{Citacita web|url=http://www.appcelerator.com/blog/2013/07/thoughts-on-ti-next/|titolo=Thoughts on Ti.Next|autore=Jeff Haynie|data=3 luglio 2013|lingua=en|accesso=18 febbraio 2024|urlmorto=sì|urlarchivio=https://web.archive.org/web/20181223165825/http://www.appcelerator.com/blog/2013/07/thoughts-on-ti-next/}}</ref></blockquote>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.<ref>{{Citacita web|url=http://www.appcelerator.com/blog/2016/01/axway-acquires-appcelerator-and-why-this-is-great-news-for-all/|titolo=Axway Acquires Appcelerator—And Why This is Great News for All|autore=Jeff Haynie|data=17 gennaio 2016|lingua=en|accesso=18 febbraio 2024|urlmorto=sì|urlarchivio=https://web.archive.org/web/20181223165836/http://www.appcelerator.com/blog/2016/01/axway-acquires-appcelerator-and-why-this-is-great-news-for-all/}}</ref> Da allora, i piani Indie sono stati nuovamente resi gratuiti, incluso l'accesso API nativo con Hyperloop.<ref>{{Citacita web|url=https://www.appcelerator.com/blog/2017/05/free-plan-announcement/|titolo=Appcelerator Indie Plans Are Now Free! And Wait, There’s More…|autore=Brad Hipps|data=2 maggio 2017|lingua=en|accesso=18 febbraio 2024|urlmorto=sì|urlarchivio=https://web.archive.org/web/20190325000727/https://www.appcelerator.com/blog/2017/05/free-plan-announcement/}}</ref>
 
=== Versioni ===
{| class="collapsible wikitable collapsed"
!Versione (prima del 2021)
! Data di rilasciouscita<ref name=Versioni/>
|-
| 1.0.0
Riga 120:
|-
| 6.3.0. GA
| 1º novembre 2017
|-
| 7.0.0. GA
Riga 185:
|+
!Versione (dal 2021)
! Data di rilasciouscita<ref name=Versioni/>
|-
| 9.3.1. GA
Riga 218:
| 26 settembre 2022
|-
| '''12.0.0.''' '''GA'''
| '''30 dicembre 2022'''
|-
|12.1.0. GA
|24 aprile 2023
|-
|12.1.1.GA
|28 aprile 2023
|-
|12.1.2.GA
|2 giugno 2023
|-
|12.2.0.GA
|15 settembre 2023
|-
|12.2.1.GA
|9 ottobre 2023
|-
|12.3.0.GA
|16 febbraio 2024
|-
|12.3.1.GA
|12 giugno 2024
|-
|12.4.0.GA
|17 luglio 2024
|-
|12.5.0.GA
|16 settembre 2024
|-
|12.5.1.GA
|2 ottobre 2024
|-
|12.6.0.GA
|12 dicembre 2024
|-
|12.6.1.GA
|19 dicembre 2024
|-
|12.6.2.GA
|3 febbraio 2025
|-
|12.6.3.GA
|6 marzo 2025
|-
|12.6.4.GA
|4 aprile 2025
|-
|12.7.0.GA
|30 aprile 2025
|}
[https://titaniumsdk.com/guide/Titanium_SDK/Titanium_SDK_Release_Notes/] con tutti gli aggiornamenti minori e le release candidate.
 
== Caratteristiche notevoli ==
 
=== Integrazione Angular ===
Da aprile 2018 è possibile utilizzare [[Angular]] 6 in combinazione con Titanium per sviluppare app mobili.<ref>{{Citacita testoweb|url=https://github.com/appcelerator/titanium-angular|titolo=titanium-angular|lingua=en|accesso=18 febbraio 2024}}</ref><ref>{{Citacita web|url=https://devblog.axway.com/mobile-apps/titanium-angular-technical-preview-release/|titolo=Titanium Angular Technical Preview Release Now Available|autore=Jan Vennemann|sito=Axway Developer Blog|data=23 aprile 2018|lingua=en|accesso=418 agostofebbraio 20192024}}</ref>
 
=== Integrazione Vue.js ===
Oltre all'integrazione Angular è anche possibile utilizzare [[Vue.js]] (a partire da maggio 2018) come framework per sviluppare app.<ref>{{Citacita web|url=https://devblog.axway.com/mobile-apps/announcing-vue-js-support-in-titanium/|titolo=Global App Events in Titanium Using Backbone.js|autore=Jason Kneen|sito=Axway Developer Blog|data=8 marzo 2018|lingua=en|accesso=418 agostofebbraio 20192024}}</ref><ref>{{Citacita testoweb|url=https://github.com/appcelerator/titanium-vue|titolo=titanium-vue|lingua=en|accesso=18 febbraio 2024}}</ref>
 
=== Supporto ES6 ===
Titanium supporta le funzionalità di [[ECMAScript|ES6]] a partire dall'SDK 6.1.0 come le Classi, le arrow function e altro ancora.<ref>{{Citacita web|url=https://devblog.axway.com/mobile-apps/using-es6-in-a-titanium-app/|titolo=Using ES6+ in a Titanium App|autore=Darren Mason|sito=Axway Developer Blog|data=20 giugno 2018|lingua=en|accesso=418 agostofebbraio 20192024}}</ref>
 
=== Hyperloop ===
Hyperloop<ref>{{Citacita web|url=https://www.appcelerator.com/mobile-app-development-products/hyperloop/|titolo= Hyperloop|lingua=en|accesso=418 agostofebbraio 20192024|urlmorto=sì|urlarchivio=https://web.archive.org/web/20190804135409/https://www.appcelerator.com/mobile-app-development-products/hyperloop/}}</ref> 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 ===
Line 241 ⟶ 287:
 
=== 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.<ref>{{Citacita web|url=https://www.appcelerator.com/mobile-app-development-products/|titolo= Products|lingua=en|accesso=418 agostofebbraio 20192024|urlmorto=sì|urlarchivio=https://web.archive.org/web/20190805003555/https://www.appcelerator.com/mobile-app-development-products/}}</ref> D'altra parte, si possono integrare funzionalità specifiche della piattaforma in modo molto semplice.<syntaxhighlight lang="xml">
<Alloy>
<Window title="Titolo della finestra">
Line 250 ⟶ 296:
</syntaxhighlight>Esempio basilare di una finestra con una barra delle azioni Android (che sarà nascosta su iOS).
 
== Voci correlateNote ==
<references />
 
== Voci correlate ==
* [[Flutter (software)]]
* [[React Native]]
* [[Xamarin]]
* [[Apache Cordova|PhoneGap]]
 
== Note ==
<references />
 
== Collegamenti esterni ==
* {{collegamenti esterni}}
 
{{Portale|aziende}}
 
[[Categoria:Ambienti di sviluppo]]