Windows Platform Preview

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:

  • The core base layer that we call the Hyperloop® Abstraction Layer (or HAL), which replaces the JavaScriptCore C API with a cross-platform C++ library that is as natural to use for the C++ developer as Apple’s JavaScriptCore Objective-C API is for the Objective-C/Swift developer. Check out “Introducing HAL” blog post for more information.
  • 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://
  • 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:
    • cd <my_project>
  • 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

Further Notes

  • 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!

Previous articleCreating mobile magic this holiday season
Next articleFour Mobile Strategy Lessons for 2015
VP, Architecture - Senior executive, manager, and architect with 25+ years of experience leading a variety of mobile, cloud, SaaS, web-based and desktop software technologies used by over 5 million developers and tens of thousands of enterprise customers.


  1. I’m really excited to try this out, but I’m having some issues and when I try to join the Flowdock room I get the following error message:
    “The Flow you tried to access cannot be found.
    It either does not exist or you’re not authorized to access it.”
    Anyone know why I’m getting this?

  2. Hi Ingo and Marcus and everyone,
    the joining instructions for the Flowdock flow are a little bit wrong. Ingo will surely fix them soon — I’ve sent him the instructions how in an email today.
    Sorry about the hassle and congratulations for the release, Appcelerator!!


Please enter your comment!
Please enter your name here