Posts Tagged ‘ios’

New ACS Features & Performance Updates

Wednesday, August 8th, 2012

Since launching Appcelerator Cloud Services (ACS) in April, we’ve seen great excitement and adoption with in our developer community. Innovative photovideochatsocial networkingweather, and many other types of apps have been created utilizing ACS as their powerful, easy to use server backend!

We’ve been hard at work implementing new features requested by our users. Last week along with the Titanium Studio 2.1.1 release, we added new ACS API features:

  • Messages, Posts, and Likes have been taken out of Beta. Send email-style messages to other users, create Facebook-style wall posts, and record the number of Likes for most ACS objects to easily add more social networking features to your apps.
  • Access control lists (ACLs) - configure fine-grained control over which app users can read and/or write any type of object in ACS. For example, now you can allow multiple users to share and update a collection of photos.
  • Secure login via 3-Legged OAuth - enforce secure login to your app via a time-limited token, eliminating security concerns about embedding the ACS key or OAuth token into your app.

New administrative website features have been added to make managing you app’s data even easier:

  • Lookup of push notification subscriptions & delivery status
  • Advanced search and filtering of data for different object types (users, chats, places, etc.)

Additionally we’ve updated our iOS and Android push notification infrastructure using node.js. This has simplified our codebase and given us better performance and capacity than ever before!

Module Development Guide Reference Module for iOS and Android

Friday, October 28th, 2011

Last month at the CODESTRONG conference, we announced the availability of the iOS version of the Module Development Guide reference module. We are happy to announce that the Android version of the reference module is now available. You can find the source code files for both at the titanium_modules Github repository. Under the moddevguide/mobile directory you’ll find the source to both the iOS and Android versions.

Modules

Modules are your path to extending the core Titanium platform with additional functionality. You can easily add custom code or access 3rd-party libraries with a module. Modules are written in native code (i.e. Objective-C on iOS and Java on Android) and provide the bridge between your JavaScript and the native code.

Getting Started

The Module Development Guide tutorials are an excellent starting point for developing your modules. However, it can be extremely helpful to have working code that demonstrates the principles and concepts in module development. That is the main purpose of this reference module. The module demonstrates core functionality that you will need in developing your module:

  • Life Cycle Events – module loading, proxy loading, view proxy loading
  • Properties – Types, getters, setters, property change notifications
  • Methods – Method signatures and annotations
  • Method Parameters – Type validation, type conversion, pass-by-value / reference
  • Callbacks and Events – Event registration, asynchronous notifications, synchronous callbacks
  • Miscellaneous – Accessing module and application assets, defining constants

Take a look at the module source code to understand how to implement each of these features. Feel free to cut-and-paste the code directly from the reference module source into your own module source code, removing any extra or unused parts of the code as necessary.

Example Application

Along with the module source code you will find a full working example application that exercises all of the functionality of the module. Both the iOS and the Android version of the application use the exact same JavaScript code. While it is not always possible, this demonstrates that you can have API parity across platforms with your module.

Module Development Guide iOS

Module Development Guide Android

The sample application demonstrates the following aspects from the reference module:

  • Proxy Loading – demonstrates the lifecycle events that occur when a proxy is loaded and unloaded
  • View Proxy Loading – demonstrates the lifecycle events that occur when a view proxy is loaded and unloaded, along with the lifecycle events for the corresponding view object
  • Properties – demonstrates how to access proxy properties and receive notifications when properties are updated
  • Methods – demonstrates a number of ways to call proxy methods and pass various types of parameters
  • Parameters – demonstrates how different types of parameters are received by the native module
  • Callbacks & Events – demonstrates how to call back into and fire events to JavaScript from the native module
  • Assets – demonstrates how to locate and access module-specific and application resources from within the native module
  • Constants – demonstrates how to declare constants in the native module and reference them in the JavaScript code
To run the iOS version of the application simply execute the ‘titanium run’ command from the iOS project folder. To run the Android version you will first need to copy the ‘build.properties.example’ file to ‘build.properties’ and then edit the ‘build.properties’ file to set the path information for your system. Then execute the ‘ant run’ command from the Android project folder. Note that you will need version 1.7.3 of the Titanium SDK installed.

CODESTRONG Presentation

The CODESTRONG presentation on module development and the introduction of the module development guide reference module can be viewed here.

The slides from the presentation can be viewed here.

Module Development Resources:

CODESTRONG Companion App

Wednesday, September 14th, 2011

The companion app for CODESTRONG is now available for both iOS and Android devices! And yes, this includes the latest addition to our supported devices, the NOOK Color. This app shows you first hand how a native app and user experience can be delivered using a single code base with Titanium.


Information and Features

With the CODESTRONG companion app you’ll have the following information and features at your disposal.

  • Up to date schedule of events
  • Details on all speakers at the conference
  • Information, rules, and prizes for the Hackathon
  • Maps of the venue
  • Twitter CODESTRONG and Appcelerator news feeds
  • Details about CODESTRONG and the companion app
  • A listing of all the sponsors that helped make CODESTRONG possible

And There’s More…

In addition to making the CODESTRONG companion app available to all iOS and Android users, we’re also giving you full access to the source code. You can take a look under the hood yourself and see how we used cross platform code to create a native experience. You can even build your own conference companion app based on it. Just head over to Github and start looking through the appcelerator/Codestrong repository.

NOTE: The CODESTRONG companion app is built using the latest 1.8.0 continuous integration builds of the Titanium mobile SDK.

Helpful Links