Intel® HTML5 App Porter Tool - BETA - Release Notes version 0.5 (Update 6)


NOTICE: The current BETA program ended on Dec 31th, 2013. The Intel® HTML5 App Porter Tool - BETA is no longer available.

Version: 0.5.4307.94

 Legal Information

Contents:

Introduction

This release of the Intel® HTML5 App Porter Tool – BETA provides a standalone development tool that helps mobile app developers port native Apple iOS* applications to HTML5 technologies. This tool converts the source code of the original iOS application into a new one using only HTML5 technologies. The Intel® HTML5 App Porter Tool – BETA currently supports Microsoft Windows* 7 or higher and generates Intel® XDK and Microsoft Visual Studio* 2012 projects.

What's New

This Update 6 package includes the following features and upgrades:

  • Support for projects using property auto-synthesize feature. Files that contain classes with auto-synthetized properties are now correctly parsed and translated.
  • Improved HTML5 widgets library. The new HTML5 library for UI widgets and translated XIB handling is more concise and efficient. Furthermore, this new library allows the addition of any arbitrary markup/widget to be added to layouts and used as standard APT.View objects.
  • Improved support for UIImage. Image size attributes are computed and stored on the file config.resources.js, allowing the translated JavaScript code to access to those attributes even before loading the images into the apps’ markup.
  • Fix for parsing issues related to type error associated to NSArray and NSDictionary literals.

The previous Update 5 package included the following new features and upgrades:

  • Added support for the translation of Apple Objective-C* literal expressions. (http://clang.llvm.org/docs/ObjectiveCLiterals.html)
  • Added translation support for UIWebViewDelegate behaviors in UIWebView and related types.
  • Enhanced support for Unicode strings.
  • Fix for UIWebView loadRenderObjectHTMLString:baseURL: API translation. Enhanced support for multiple calls and event handling.
  • Fix for NSBundle pathForResource:ofType:inDirectory for handling path to directories.
  • Fix for NSRange type translation.
  • Fix for UIAlertView translation to handle styling in CSS, and wrong index number in the callback.
  • Fix for UITableView and UITableViewCell. Support for adding cells when table is not visible.
  • Fix for UIViewController dismissModalViewControllerAnimated API translation.
  • Fix for NSLocale and NSLocalizedString that generated incorrect code.
  • Fix for UIImageView API translation. Images are shown maintaining aspect ratio, instead of being stretched

Previous update packages included the following features and upgrades:

  • Fix for include paths option in configuration screen
  • Mappings for Core Foundation toll-free bridged types: CFArray, CFData, CFDictionary, CFMutableArray, CFMutableData, CFMutableDictionary, CFMutableString, CFNumber, CFString.
  • Bug fix for usage of keywords continue, break and this inside for-each statements.
  • Bug fix for dot syntax used with methods like MyInterfaceType.myStaticMethod.
  • Bug fix for some issues with APT.View class (UIView mapping).
  • Bug fix for minor issue with UITableViewItem translation.
  • Bug fix for translation of variables name with 'null' identifier.
  • Bug fix for categories on unsupported API mappings.
  • Bug fix for UIApplication.sharedApplication mapping.
  • Mappings for ANSI C types: float_t, double_t, intmax_t, uintmax_t, int8_t, uint8_t, int16_t,uint16_t, int32_t, uint32_t, int64_t, uint64_t,int_least8_t, uint_least8_t, int_least16_t, uint_least16_t, int_least32_t, uint_least32_t, int_least64_t,uint_least64_t, int_fast8_t, uint_fast8_t,int_fast16_t, uint_fast16_t, int_fast32_t,uint_fast32_t, int_fast64_t, uint_fast64_t.
  • Bug fix for interface's fields of type block.
  • Bug fix for ++ and -- operator with pointers. JavaScript* lexical problem is fixed. Still, pointer increment/decrement are not supported.
  • Bug fix for issue with call to super class constructor when the super class do not have a constructor.
  • Bug fix for UIView.removeFromSuperview and UIView.addSubview used in animation context.
  • Mappings for several iOS toll-free APIs in CoreFoundation/NSFoundation frameworks.
  • Bug fix for translation of default values on enum fields.
  • Bug fix for touch events propagation in translated code between Views and Controllers objects.
  • Mapping for UIViewController.presentModalViewController:animated: and related APIs.
  • Bug fix for APT.PickerView (UIPickerView translation) widget's width property.

Operating System and Hardware Requirements

Supported Operating System

  • Systems running any version of Microsoft Windows* 7 OS or higher. To edit and debug generated code, Intel recommends use of either the  Intel® XDK NEW development environment, or Microsoft Visual Studio* 2012 on Microsoft Windows* 8.

Minimum Hardware Requirements

  • 4GB of RAM memory.
  • 200 MB free disk space required for the product installation in all architectures.

The free disk space required for execution depends on the size of the original application.

Installation Notes

Please, see http://software.intel.com/en-us/html5 for download instructions. To begin installation, double-click the executable file you downloaded.

To learn details of silent non-interactive installation on Windows* systems, refer to the following link: http://software.intel.com/en-us/windows_silent_installation_guide.

Changing, Updating and Removing the Product

If you want to add components or remove them, open the Control Panel and select the Programs and Features applet, select “Intel® HTML5 App Porter Tool – BETA” and click Change. To remove the product, select Remove.

Supported APIs

Apple iOS* SDK API calls conversion support: This version mainly supports API calls conversion for UIKit and NSFoundation frameworks. See the Technical Reference guide for further details.

Apple Xcode* Interface Builder files (.xib files) support: This version supports the conversion of a subset of the properties and features of the supported API calls (i.e., conversion of UIKit API calls). See the Technical Reference guide for further details.

Known Issues and Limitations

  • Objective-C++* support: This version does not supports the conversion of C++ or Apple Objective-C++* files. Please do not include them as input or strip the C++ code from those files, if possible.
  • Storyboard support: The tool supports the conversion of views on XIB files. However, views implemented with storyboards are not supported.
  • Pointers, Unions and numeric types: Pointer arithmetic and Unions are not supported and data types such as C long long, Complex, and unsigned are all converted into JavaScript* numbers.
  • Limited support for C pointer types: C pointers are only supported to allow parameters by reference. Any other use of C pointers is not supported.
  • Compound literal expressions of C language: C compound literal expressions are not supported. Initializers that use compound literals are translated as JavaScript array initialization, but generated code will require manual fixes.
  • Functions with variable number of arguments: The conversion of C functions with a variable number of arguments is not supported and it may generate a processing error.
  • Dot syntax used with static API methods: dot syntax used with API static methods, that are not property getters, like "NSString.class" instead of "[NSString class]" generate semantically incorrect JavaScript.
  • For-each statement: The use of for each construct with some types such as enumerators, may generate JavaScript code with errors.
  • XIB files with dashes in the filename ('-'): XIB files with dashes in the filename like 'MyXiB-test.xib' generate code that is not valid JavaScript.
  • Variables with name'this': using the name 'this' for local variables generates JavaScript with error.
  • @synchronize support: The @synchronize construct is not supported and does not implement any synchronization mechanisms in the generated code.
  • @try @catch support: The @try @catch constructs with multiple @catch are not supported.
  • Calls to static methods in categories on unsupported APIs: Calls to static methods in user-created categories, for classes that are not supported by the API conversion, may generate JavaScript code that contains errors.
  • @synthetize support: The use of customized variable names on @synthetize is not supported and may generate code with errors..
  • Limited XIB files support: Not all widgets, properties and objects of XIB files are supported.

Documentation

To learn more about this product visit:

To learn more about the Intel XDK NEW development environment, please visit: http://software.intel.com/en-us/html5/tools

* Other names and brands may be claimed as the property of others.

Microsoft, Visual Studio, Windows, and the Windows logo are trademarks, or registered trademarks of Microsoft Corporation in the United States and/or other countries.

Copyright (C) 2012 – 2013, Intel Corporation. All rights reserved.

Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.