Titan SDK
Utvecklare | TiDev, Inc. |
---|---|
Stabil frisättning | 12.0.0.GA / 30 december 2022
|
Förhandsgranska release | |
Operativ system | macOS , Windows , Linux |
Plattform | iOS , Android |
Typ | Ansökningsram |
Licens | Apache Public License v2 |
Hemsida | Titan SDK |
Titanium SDK är ett ramverk med öppen källkod som tillåter skapandet av inbyggda mobilapplikationer på plattformarna iOS och Android från en enda JavaScript- kodbas . Titanium SDK utvecklas för närvarande av den ideella mjukvarustiftelsen TiDev, Inc.
I februari 2013 uppskattade Business Insider att 10 % av alla smartphones världen över körde Titanium-byggda appar. Från och med 2017 hade Titanium samlat på sig över 950 000 utvecklarregistreringar.
Kärnkomponenten i Titaniums mjukvaruekosystem är det Apache-licensierade mjukvaruutvecklingspaketet Titanium SDK. Alloy, ett titanbaserat ramverk för modell-vy-kontroller , är ett relaterat projekt som för närvarande underhålls och utvecklas av TiDev, Inc för användning med Titanium SDK.
Titanium SDK utvecklades och underhölls ursprungligen av Appcelerator, Inc, sedan av Axway, Inc efter att Axway köpte Appcelerator 2016. Idag underhålls Titanium SDK och relaterade projekt av utvecklare under ledning av det icke-vinstdrivande Alabama-företaget TiDev, Inc. baserat i Centreville, Alabama .
Arkitektur
Kärnfunktionerna i Titanium SDK inkluderar:
- Ett plattformsoberoende API för åtkomst till inbyggda UI-komponenter som navigeringsfält, menyer och dialogrutor och inbyggd enhetsfunktionalitet inklusive filsystem, nätverk, geolokalisering , accelerometer och kartor.
- Transparent tillgång till inbyggd funktionalitet som täcks av Hyperloop och inbyggda moduler.
- MVC-baserad ramlegering
All applikationskällkod distribueras till den mobila enheten där den tolkas med hjälp av en JavaScript-motor ; Mozillas Rhino används på Android och BlackBerry, och Apples JavascriptCore används på iOS. 2011 tillkännagavs att en port till Googles V8 JavaScript-motor är under utveckling som, när den är färdig, kommer att förbättra prestandan avsevärt. Programladdning tar längre tid än för program som utvecklats med de inbyggda SDK:erna, eftersom tolken och alla nödvändiga bibliotek måste laddas innan tolkningen av källkoden på enheten kan börja.
Titan tillhandahåller API:er för:
- Användning av hårdvaruspecifika funktioner, såsom Android-menyknappen
- Användning av OS-specifika kontroller, till exempel kontrollerna i Cocoa UI på iOS
- Deltagande i plattformens ekosystem , till exempel genom att använda plattformsanpassade anmälningsmekanismer
Historia
När det introducerades i december 2008 var Titanium avsett för att utveckla plattformsoberoende skrivbordsapplikationer och jämfördes ibland med Adobe Air . Det lade dock till stöd för att utveckla mobilapplikationer för iPhone och Android i juni 2009, och 2012 delades Titanium Desktop av till ett separat, community-drivet projekt vid namn TideSDK . Stöd för utveckling av iPad-baserade surfplattor lades till i april 2010. BlackBerry-stöd tillkännagavs i juni 2010 och har varit i beta sedan april 2013. Tizen-stöd lades också till i april 2013 med 3.1.0 Titanium Studio och SDK-utgåvorna. Det senaste tillskottet till plattformen 2016 har varit Hyperloop, en teknik för att komma åt inbyggda API:er på iOS, Android och Windows med JavaScript.
I april 2010 utökade Appcelerator produktlinjen Titanium med Titanium Tablet SDK. Titanium Tablet SDK drar mycket av det befintliga stödet för iPhone, men det inkluderar också inbyggt stöd för endast iPad-användargränssnittskontroller som delade vyer och popovers. Till en början stödde den mobila SDK:n endast utveckling för iPad, men stödet inkluderar nu även Android-baserade surfplattor.
I juni 2011 släppte Appcelerator Studio och Titanium Mobile 1.7. Studio är en IDE med full öppen standard som härrör från Aptana Studio som Appcelerator förvärvade i januari 2011.
I juni 2013 meddelade Jeff Haynie, Appcelerators VD, att företaget hade påbörjat Ti.Next, ett projekt för att skriva om Titanium SDK i Javascript för förbättrad prestanda och för att föra Titaniums slutanvändare, som skriver i Javascript, närmare den interna koden. I ett blogginlägg skrev han:
Vi tror att JavaScript bör vara rätt språk för att bygga Titanium, inte bara appar ovanpå Titanium SDK. Med Ti.Next har vi skapat en liten mikrokärndesign som gör att vi kan ha minimal bootstrap-kod på modersmålet ( C , Java , C# , etc) som talar till en gemensam uppsättning kompilatorer , verktyg och en enda JavaScript Virtual Maskin . Vi har hittat ett sätt att få WebKit KJS VM att fungera på flera plattformar istället för att använda olika virtuella datorer per plattform. Detta innebär att vi kraftigt kan optimera mikrokärnan (hädanefter kallad "TiRuntime") och underhåll, optimeringar och profilering kan avsevärt förenklas. Vi pratar om ~5K LOC vs. 100K LOC per plattform.
I januari 2016 förvärvades Appcelerator av Axway , ett globalt mjukvaruföretag med mer än 11 000 kunder inom den offentliga och privata sektorn i 100 länder. Sedan dess har Indie-planerna gjorts gratis igen, inklusive inbyggd API-åtkomst med Hyperloop.
Versioner
Version (före 2021) | Utgivningsdatum |
---|---|
1.0.0 | 9 mars 2010 |
1.6.0.GA | 23 februari 2011 |
1.7.0.GA | 7 juni 2011 |
2.0.0.GA | 30 mars 2012 |
2.1.0.GA | 28 juni 2012 |
3.0.0.GA | 13 december 2012 |
3.3.0.GA | 16 juli 2014 |
3.4.0.GA | 26 september 2014 |
3.5.0.GA | 13 januari 2015 |
4.0.0.GA | 20 maj 2015 |
4.1.0.GA | 8 juli 2015 |
5.0.0.GA | 16 september 2015 |
5.1.0.GA | 20 november 2015 |
5.2.0.GA | 22 februari 2016 |
5.3.0.GA | 2 juni 2016 |
5.4.0.GA | 10 augusti 2016 |
5.5.0.GA | 13 september 2016 |
6.0.0.GA | 14 november 2016 |
6.1.0.GA | 26 maj 2017 |
6.2.0.GA | 13 september 2017 |
6.3.0.GA | 1 november 2017 |
7.0.0.GA | 8 december 2017 |
7.1.0.GA | 14 mars 2018 |
7.2.0.GA | 14 juni 2018 |
7.3.0.GA | 17 augusti 2018 |
7.4.0.GA | 17 september 2018 |
7.5.0.GA | 15 november 2018 |
8.0.0.GA | 14 mars 2019 |
8.0.2.GA | 18 juni 2019 |
8.1.0.GA | 28 augusti 2019 |
8.2.0.GA | 14 november 2019 |
8.3.1.GA | 17 januari 2020 |
9.0.0.GA | 18 mars 2020 |
9.0.1.GA | 16 april 2020 |
9.0.2.GA | 19 maj 2020 |
9.0.3.GA | 10 juni 2020 |
9.1.0.GA | 14 augusti 2020 |
9.2.0.GA | 23 september 2020 |
9.2.1.GA | 6 oktober 2020 |
9.2.2.GA | 29 oktober 2020 |
9.3.0.GA | 14 december 2020 |
Version (sedan 2021) | Utgivningsdatum |
---|---|
9.3.1.GA | 25 januari 2021 |
9.3.2.GA | 11 februari 2021 |
10.0.0.GA | 17 maj 2021 |
10.0.1.GA | 28 juli 2021 |
10.0.2.GA | 10 augusti 2021 |
10.1.0.GA | 28 september 2021 |
10.1.1.GA | 19 november 2021 |
11.0.0.GA | 1 juli 2022 |
11.1.0.GA | 8 september 2022 |
11.1.1.GA | 26 september 2022 |
12.0.0.GA | 30 december 2022 |
[2] med alla mindre uppdateringar och releasekandidater.
Anmärkningsvärda funktioner
Vinkelintegration
Sedan april 2018 är det möjligt att använda Angular 6 i kombination med Titanium för att skapa mobilappar.
Vue.js integration
Utöver Angular-integrationen är det också möjligt att använda Vue.js (från och med maj 2018) som ett ramverk för att utveckla appar.
ES6 stöd
Titanium stöder ES6- funktioner sedan SDK 6.1.0 som klasser, fettpilfunktioner och mer.
Hyperloop
Hyperloop låter användaren komma åt inbyggd kod (Java, Objective-C, Swift, C#) inom JavaScript och använda tredje parts bibliotek.
Inbyggda appar
Med Appcelerator Titanium är det möjligt att skapa inbyggda appar med JavaScript. De kompilerade apparna använder inbyggda UI-komponenter med ett anslutningslager som kan ansluta dessa inbyggda UI-element med din JavaScript-kod. Fördelen är att användaren får den bästa användarupplevelsen på varje plattform eftersom den använder de korrekta/inbyggda UI-elementen istället för att skapa anpassade element.
Återanvändbar kod
Ett mål med Titanium är att återanvända så mycket kod för båda plattformarna som möjligt. Det finns en hög paritetsnivå av komponenter och att använda Alloy MVC-ramverket gör det möjligt att dela upp till 90 % av din kod på båda plattformarna. Å andra sidan är det att använda smarta villkor för att använda plattformsspecifik kod till integrerade plattformsspecifika funktioner.
<Alloy> <Window title= "Window title" > <ActionBar id= "actionbar" title= "Android Actionbar" platform= "android" /> <Label id= "label" > Välkommen! </Label> </Window> </Alloy>
Basic Window-exempel med en Android Actionbar (kommer att döljas på iOS).