We are excited to provide a preview of the new Titanium Mobile infrastructure and architecture for Windows. Bringing a new platform to Titanium Mobile is a particular source of pride. Of course, with Titanium’s tens of thousands of existing applications and thousands of APIs comes great responsibility and required compatibility.
The platform includes a re-imagining of Titanium SDK to no longer require reimplementation of much of the architecture for each new device. Like Titanium, where we have a large surface area of common APIs with native specifics where necessary, here, we take a parity-first approach. The new platform allows common implementations as much as possible, deferring to the native platform where the specifics differ. This initial release features the following:
- A Titanium focused layer built on top of the HAL that we call TitaniumKit, which provides a cross-platform C++ library for implementing the Titanium API on native platforms. It is designed to hold as much of the common implementation as possible, delegating to the native platform only where necessary.
- Titanium for Windows, an implementation of the Titanium API for Windows Store and Windows Phone apps built on top of TitaniumKit.
Our goal is to make it easy and flexible to not only bring a new platform online, but also for developers to extend it as simply as possible. Currently, 90% of our code base is in TitaniumKit, meaning just 10% is specific to Windows.
In addition, we support the following tooling:
- A new windowslib, which contains all the code for discovering and interacting with windows tools, emulators and devices.
- An upgraded titanium CLI, with support for building and running windows projects.
- Appcelerator Studio support for creating and building projects.
Trying it out
We’ve integrated our windows infrastructure to make it simple to try out. This first release will just allow you to create and build projects with a selection of APIs. We will open-source the repositories and related projects as soon as we complete some patent work. Our goal is to not only quickly allow you to experiment with your existing applications, but for those interested in either contributing or completing an API they find interesting, a simple process to contribute back your changes.
There are two flavors of Windows builds:
- Windows Phone: ARM-based apps that run on phone devices
- Windows Store: x86-based apps that target tablets and desktop computers
Windows Phone is the more supported of the two at the moment, but we plan to support both fully by time of release.
Install end user dependencies/toolset and add Windows support to SDK:
- Download and Install Visual Studio 2013 (Update 2 or higher) Community or Pro. Express will currently NOT work due to a cmake bug.
- Install Node.js 0.10.x
- Install Titanium CLI 3.5.0+:
npm install -g git://github.com/appcelerator/titanium.git#master
- Install a Titanium SDK 3.6.0+ build:
ti sdk install -b master -d
- Open Powershell and run the following:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
- Note: This is required to allow some of our CLI functionality to interact with the Windows Phone SDK and tooling by using PowerShell scripts.
- Studio integration for Appcelerator Studio 3.4.X+: Update URL
Create and build an app
- Create the application for windows:
ti create -p windows
- Change directory into the project root:
- Run the application in a Windows Phone Emulator:
ti build -p windows -T wp-emulator -C 8-1-1 --wp-publisher-guid 00000000-0000-1000-8000-000000000000
- To sign up for a publisher GUID, see here.
If you have questions, please ask in the public “Titanium Contributors” Flowdock room. For bugs, please file them in JIRA.
We plan continuous releases with dramatically larger sets of APIs in short order, so please watch the blog post for subsequent announcements about major new updates.
Thank you and we look forward to your feedback and contributions!