Intel 近日推出了一个 HTML5 APP Porter(HTML5 应用移植)工具,可以帮助移动应用开发者将 iOS 本地应用代码转换为 HTML5 代码(Mozilla 应该会很高兴,其 Firefox OS 就是专门运行此类应用的操作系统)。
该工具不是一个完整的解决方案,即不会自动转换 iOS 应用的所有代码,但可以帮助开发者完成尽可能多的代码转换工作,来加速应用移植过程。
该工具可以帮助开发者完成如下工作:
1. 将 Objective-C 源代码转换成 JavaScript 代码
2. 将 iOS API 类型和调用转换成 JavaScript/HTML5 对象和调用
3. 将 Xcode 界面生成器的布局文件转换成 HTML+CSS 文件
4. 将 Xcode 项目文件转换成微软 Visual Studio 2012 项目文件
以下建议可以为你带来更好的转换效果:
保持良好的设计和架构,代码模块化,可以轻松去耦、测试和重构;
避免转换依赖的第三方库的源代码。对于一些 iOS 库,你可以很容易地找到同等的 JavaScript 替代库或 API。
隔离除 Objective-C 外的任何C/C++底层代码。该工具目前仅支持转换 Objective-C 代码,尽管涵盖大部分C语言特性,但尚不支持联合体(unions)、指针、位字段等底层特性。因此,建议将这些代码封装起来,采用其他形式来转换或重构。