Archive for the ‘Mobile Web’ Category

Building Titanium Mobile From Source Now Requires Node.js

Wednesday, October 10th, 2012

The upcoming Titanium SDK 3.0.0 includes a new Node.js-based command line interface for building your applications, which means now in order to build the SDK from source, you will need to have Node.js installed.

1. Install Node.js from http://nodejs.org.

2. You can now proceed with building the same as before.

Please let us know if you run into any issues with the change and we’ll be happy to assist.

Titanium Mobile SDK 1.8.2 is available now

Wednesday, February 29th, 2012

We’re excited to announce that Titanium Mobile SDK 1.8.2 and Titanium Studio 1.0.9 are available now. We released Titanium Mobile SDK 1.8.1 last month as our first service pack for the 1.8 release and the response to monthly service packs has been very positive. These service packs address high priority issues while we work on the next feature release. Titanium Mobile SDK 1.8.2 builds on the strengths of Service Pack 1.8.1 and addresses over 150 issues.

We are working in parallel on our next feature release, 2.0. Highlights of the SDK 2.0 feature set include:

  • Integration with CocoaFish to cloud-enable Titanium applications.
  • Composite layouts to address UI parity issues.
  • More flexible geolocation functionality.
  • Improved TableView performance.
  • Well-defined module API for module developers.

We’ve gotten a little behind processing community pull requests but we are working on them now, so keep them coming.

Enhancements in 1.8.2 include:

  • Android V8 – Application Java Script source code protection
  • Android V8 – Better memory management
  • iOS – API to load WebView content from string with baseURL
  • MobileWeb – Google Closure compiler integration to minify code
  • Documentation – Improved API documentation with new code examples

Read the Release Notes for additional details on all improvements available in this release.

Download and Installation

Updating Titanium Studio

You should be automatically prompted to update your Titanium Studio software. If you do not see the prompt, you can select “Check for Updates” from the “Help” menu from within Titanium Studio.

Updating the Mobile SDK

Similarly, you should be prompted to automatically upgrade your Titanium Mobile SDK from within Titanium Studio. If you do not see the prompt below, you can manually check for updates by selecting “Check for Titanium SDK Updates” from the “Help” menu within Titanium Studio.

For More Information

For more information, you may view the related API Documentation: Titanium Mobile SDK 1.8.2 API docs.

Titanium Mobile 1.8.1 is available now

Tuesday, January 31st, 2012

We’re excited to announce that Titanium Mobile SDK 1.8.1 and Titanium Studio 1.0.8 are now available. We released Titanium Mobile 1.8 in late December with many new features and enhancements including V8 runtime support for Android and the overall response has been very positive.

We’ve decided to release monthly service packs to address high priority issues so that our community has access to well tested releases instead of relying on CI builds. Titanium Mobile SDK 1.8.1 is our first service pack release; it builds on the strengths of Release 1.8.0.1, and addresses over 200 issues.

Enhancements in 1.8.1 include:

  • iOS & Android – Added Blob support for Ti.Map.Annotation.image
  • iOS – Support for repeating backgrounds on a view
  • iOS – Support for getting current latitude and longitude delta from a MapView
  • iOS – Ability to disable animation when setting the contentOffset on a ScrollView
  • Documentation – Added a new Titanium Debugging and Profiling chapter to the guide
  • Documentation – Improved API documentation with new code examples

Read the Release Notes for additional details on all improvements available in this release.

Download and Installation

Updating Titanium Studio

You should be automatically prompted to update your Titanium Studio software. If you do not see the prompt, you can select “Check for Updates” from the “Help” menu from within Titanium Studio.

Updating the Mobile SDK

Similarly, you should be prompted to automatically upgrade your Titanium Mobile SDK from within Titanium Studio. If you do not see the prompt below, you can manually check for updates by selecting “Check for Titanium SDK Updates” from the “Help” menu within Titanium Studio.

For More Information

For more information, you may view the related API Documentation: Titanium Mobile SDK 1.8.1 API docs.

New Titanium Release Speeds Apps, Extends Reach & Improves Productivity

Thursday, December 22nd, 2011

Titanium Mobile 1.8 and Titanium Studio 1.0.7 are now available for immediate download. With these latest additions to the Titanium integrated mobile development platform, developers can speed up their apps, deploy to more platforms and build apps more quickly than ever!

To help our developer community come up to speed with this huge release, we’re hosting a SEVEN WEBCAST series on January 5-13 we’re calling "Titanium Week" . Learn about the new Titanium products, ask questions of Titanium engineers, hear from experienced Titanium community members and take full advantage of all that is possible for mobile success with Titanium. Webcasts are targeted toward both novice and experienced Titanium developers. Check out the agenda and register.

Read on to learn more about the many reasons to upgrade to Titanium Mobile 1.8 and Titanium Studio 1.0.7. The official release notes for Titanium 1.8.0.1 and Titanium Studio 1.0.7 provide further details on the features and fixes made available in these releases.

Upgrade Now

Updating Titanium Studio

You should be automatically prompted to update your Titanium Studio software. If you do not see the prompt, you can select “Check for Updates” from the “Help” menu from within Titanium Studio.

Updating the Mobile SDK

Similarly, you should be prompted to automatically upgrade your Titanium Mobile SDK from within Titanium Studio. If you do not see the prompt below, you can manually check for updates by selecting “Check for Titanium SDK Updates” from the “Help” menu within Titanium Studio.

Perspective Tweaking

One of the new features in Titanium Studio is the ability to create module projects directly from within the IDE. However when this update is applied, you won’t see the option in the “File > New” menu as you might expect. To rectify this, you can select “Reset Perspective” from the “Window” menu in Studio to see this new option from that menu.

New! V8 Runtime Support on Android: Drop Google’s Superfast JavaScript Engine into Your Applications

V8 RuntimeFasten your seatbelts Android developers: Titanium Mobile 1.8 introduces dual-runtime support for Android, enabling you to take advantage of the new and faster V8 JavaScript runtime in Titanium. How much faster is V8? Our benchmark tests show loading 1,000 TableView rows is more than twice as fast, and parsing a 50KB JSON file is nearly 15 times faster than the legacy Rhino Javascript runtime.

Video: What’s New in Titanium Mobile 1.8

New! Titanium Mobile Web Beta 2 SDK: Expanding Your Mobile Reach

Mobile Web BetaTitanium Mobile 1.8 expands your reach beyond iOS and Android with the introduction of Titanium Mobile Web Beta 2. This all-new product gives Appcelerator developers the ability to develop both mobile apps and mobile websites from a single Titanium API. While we’re still innovating and improving Mobile Web, you can leverage the advantages of Titanium and HTML 5 to create engaging mobile web experiences that run in browsers on any device that share a common foundation with your native mobile apps. The Titanium Mobile Web SDK Beta 2 was previously in private beta and is now available to the entire Titanium community. Give it a try and let us know what you think!

New! Native APIs and Functionality for iOS and Android

Native APIsThe new 1.8 release pushes the number of Titanium mobile APIs for iOS and Android to over 3,000. New capabilities include:

  • Platform Parity: 37 improvements aimed at making it easier to develop across iOS and Android, including improvements in namespace consistency.
  • XML Module for iOS and Android approaches 100% DOM Level 2 compliance.
  • New iOS-specific Functionality: Longpress and Pinch gestures on views, Register a file type with an app, High Density Screenshots and more.
  • New Android-specific Functionality (Beyond V8): Embeddable video player, animation of backgroundColor, multiple attachments in the Email Dialog, gzip and deflate encodings in HTTPClient, plugins for WebViews and more.
  • Updated System Requirements: Apps built with Titanium Mobile 1.8 are compatible with Android 2.2 or later and iOS 4.0 or later. Android 2.1 and iOS 3.1.3 are no longer supported.

Improved! Developer Productivity for Common Tasks

ProductivityProductive developers are happy developers, and the new Titanium developer productivity features are going to make you very happy. To help you succeed faster than ever, we’ve made a number of improvements across the entire Titanium Mobile development lifecycle, including:

  • Configuration Wizard: found in the new dashboard in Titanium Studio 1.0.7, the configuration wizard diagnoses Android and iOS configuration errors and ensure your SDKs are up-to-date.
  • Code Snippet Library: Speed development by inserting code snippets drawn from common use cases. Instead of searching for examples within Kitchen Sink, go to the Titanium Studio Commands menu, choose “Titanium Mobile," type the desired phrase and press the tab key to insert the code into your app.
  • API Doc Improvements: Reference documentation for more than 40 popular API calls have been updated for accuracy and completeness. And we’re just getting started. Look for more changes to API doc content and formatting in the coming weeks.
  • Training Videos: Appcelerator’s popular and free training on-demand training videos are now accessible from the Titanium Studio Dashboard. Access more than 10 hours of classes and sample apps through the introductory "Zero to App" and intermediate "Building Native Mobile Apps" on-demand video training classes.
  • Marketplace Integration: Learn about new and popular modules available that you can quickly download and add to your projects.

Video: What’s New in Titanium Studio 1.0.7

 

Titanium Week: Seven Great Webcasts featuring Titanium Mobile 1.8

Titanium WeekWe’ve created a great agenda for Titanium Week, January 5-13, to help you get the most out of the all of new Titanium capabilities and to succeed using the Titanium Platform. Check out and register for any and all of the following free webcast sessions:

Titanium Week is your chance to learn from Appcelerator engineers, get answers to your questions and improve your Titanium skills. The content is suitable for both experienced and novice developers…so join in!

Thank You For a Great 2011!

As we approach the end of 2011, we want to express our thanks to the Titanium Community for all your activity, feedback, inspiration and, of course, your great mobile apps.

Because of your collective efforts, nearly 40 thousand Titanium-powered applications have been installed on over 30 million unique mobile devices—a 12-fold increase over last year!

Best wishes for a wonderful holiday season and a happy, healthy and prosperous new year.

Platform Engineering: Sneak Peek at 1.8.0

Thursday, October 27th, 2011

Editors Note: This is a post that’s part of a series on Platform Engineering at Appcelerator.

It’s been a bit since our last update, so we wanted to take a moment and give you a sneak peek at what’s coming in the 1.8.0 release of Titanium Mobile. The big new feature is the addition of V8 as a runtime for Android based apps which we talked about in our September update. We have also spent quite a bit of time working on our APIDoc system and updating the docs to provide better information as well as additional information that can be used for context-sensitive help. Visit JIRA for the lists of all 1.8.0 changes, Android changes, iOS changes and APIDoc changes.

Android Runtimes: Rhino and V8

In 1.8.0 the mobile SDK will ship with Rhino as the primary Javascript runtime and the BETA of our V8 runtime which you will be able to enable with a property setting in tiapp.xml. We are expecting to have the pull request for the multi-runtime version in review by Monday, October 31st. As soon as we’re confident it’s stable enough, it will be merged onto master and start appearing in our continuous integration builds. For those of you currently using CI 1.8.0 for your applications, we will provide a snapshot of the last-known good build prior the merge. Once it’s merged we will be spending the majority of our time fixing critical issues in preparation for release. At this point we are still looking good for a release of 1.8.0 before year end.

Updated V8 vs Rhino Performance Analysis

Now that we’re closer to integrated runtimes, we can show some actual performance results. The test code, data, and execution details are here. Keep in mind that we have not started optimizing either of the runtimes yet so there may still be room for improvement.

Four areas were profiled: Time to start the application, time to parse a nested json string, inserting 1000 rows into a tableview, and number of scroll events fired in the large tableview.

Test Runtime Avg in Milliseconds
Rhino V8 V8 vs Rhino
JSON Parsing 197 14 14.07
TableView Insert 1858 775 2.40
TableView Scroll ms/Event 29.3 6.1 4.80
Application Startup 1608 1587 1.01



Startup time for both runtimes is almost identical for the test app. Larger source files would show a better edge for V8. We hope to be able to improve startup to first display after beta. The other tests show significant performance gains for V8 over Rhino which is consistent with our early prototyping.

Feature Highlights

On devices where the user has installed Flash you can now display it in a WebView. We’ve noticed that the performance of Flash in the WebView is sluggish on handsets, but it is at least possible now. Full Feature List

  • [TIMOB-1607] Android: WebView Enable Plugins
  • [TIMOB-4801] Android: Enable flashplayer settings(plugins) for WebView on Android



Several events on iOS passed a globalpoint property that couldn’t easily be made consistent cross-platform. So we added a new method convertPointToView, which is much more useful by allowing points to be converted from one view to another, rather than just operating solely within the screen coordinate system, which is how globalpoint worked.

  • [TIMOB-5122] Android: Add a member function to View called ‘convertPointToView’
  • [TIMOB-5121] iOS: Add a member function to View called ‘convertPointToView’



A performance change in appendRow for TableView allows for batches of rows to be appended which improves performance by reducing the number of calls across the Javascript bridge.

  • [TIMOB-4916] Android: Change TableView appendRow to support an array of rows or row data
  • [TIMOB-4917] iOS: Change TableView appendRow to support an array of rows or row data



Several Android specific items were added. You can now set the pixel format of a window to reduce memory used or improve display quality if you are using gradients for example. Some applications need to keep the display on while the application is active, so we exposed the ability to request the screen stay on. Finally, longpress has been added to the set of supported gestures.



Several iOS-specific items were added as well. New events were added to ScrollView to report where dragging starts and stops. You can now capture high density screenshots and HTTPClient data has local caching support to reduce trips across the wire.

  • [TIMOB-4487] iOS: Expose dragStart and dragEnd on ScrollView
  • [TIMOB-4466] iOS: High Density Screenshots
  • [TIMOB-4691] iOS: Add support or local caching for HXR content (using disk cache)

API Documentation

Another exciting addition to our product is an improved documentation system for our APIDocs. We published our TDoc Specification for our APIDoc and have been reworking the docs to comply with the spec. While the real magic is hidden in the source, we’re able to actually use the documentation as the specification for the Titanium Mobile API. Our documentation now gets used as an HTML reference, in content assist, provides coverage data for platform parity analysis, and may be generated in other formats as required.

Another gain is that we can annotate APIs to the method and property level with supported platforms, versions supported, deprecations, exclusions, and more. The new docs may not be perfect, but we can now address the failings as they’re found.

Mobile Web

We will be bundling a BETA version of our Mobile Web SDK with the 1.8.0 release as well. The API documentation will be updated to show APIs supported on Mobile Web.