Icenium:Doug Seven 谈针对 iOS 与 Android 构建混合移动应用

  • Anand Narayanaswamy
  • 张龙

2013 年 1 月 9 日

话题:JavaScriptAndroid云计算iOS语言 & 开发

最近由Telerik发布的Icenium简化了跨平台混合移动应用的开发,它利用了云的能力与灵活性,使用 HTML、CSS 与 JavaScript 为 iOS 与 Android 设备构建应用。它包含了一个集成的云环境(ICE),你可以在 5 月 1 日前免费使用它来构建应用。该框架还可以实时追踪变化,这样就无需在多台设备上重新编译了。

要想使用 Icenium,你只需点击项目主页上方的 Get Started 按钮,选择所需的模块和认证选项。ICE 会立刻呈现出来,你可以提供应用所需的代码,还可以管理文件。

然而,内建的模拟器只能用在 Google Chrome 浏览器上。如果使用 Internet Explorer 或是 Firefox,那么会给你一个代码,使用它就可以在 Chrome 上测试应用了。

InfoQ 有幸采访到了 Telerik 的执行副总裁Doug Seven以了解关于 Icenium 的更多信息。

InfoQ:创建 Icenium 的初衷是什么?

2012 年销售的移动设备数量已经超越了“传统”PC,开发者需要构建出能够充分利用这些移动形式的应用,这包括智能手机与平板。

对于开发者来说遗憾的是,移动操作系统并没有一个标准。比如说,85% 的美国智能手机市场被Apple iOS与 Google Android移动平台所占据。这对开发者提出了巨大的挑战——无论他们的技能是什么,在桌面、服务端还是 Web 开发上。

要想为移动平台构建应用,至少要学习新的 SDK,还要学习新语言与技术栈,包括 iOS 的 Objective-C、Xcode 以及 Android 的 Java 与 Eclipse。

对于大多数 Web 开发者来说,这使得他们感到畏缩,Web 开发者常常是首先以移动的思维进行思考的一批人,他们会开发出移动优化版本的网站,这可能是因为他们看到了新形式下的机会,或是因为他们所服务的公司想要通过这种形式吸引用户。

每个移动平台开发栈都需要下载、安装、配置并在本地管理工具与 SDK。这与过去 20 年的做法如出一辙,我认为这种方式太过时了(特别是在 Pandora 上听音乐、在 Dropbox 上保存文件、在 Evernote 上记录想法时更是如此)。

在当今这个时代中,大多数开发者都能随时连接到 Internet 上。云已经成为了我们生活的一部分,使得我们生活中的众多应用成为了可能。然而,我们的开发环境(使用了 20 多年的 IDE)却并未进化。

Icenium 的目标是打破这种僵局,促使 Web 开发者能够以一种更简单和现代化的方式构建跨平台应用;这种新的方式可以让他们将精力放在应用的内容上,而非多种开发环境的管理。

一年前,我带着疯狂的点子来到了 Telerik,想要构建我所谓的“集成云环境(ICE)”——这是一个集成工具集,同时提供本地编码环境的便捷性以及云的能力与灵活性,这样开发者就可以为各种平台构建应用,避免了开发环境与运行时平台的紧密耦合。

借助于云,我们可以从 IDE 中提取出所有的平台依赖并将其转换为一组服务,这样开发者编写代码与应用运行时之间就不存在任何平台兼容性需求了。

换言之,基于 Windows 的 Web 开发者可以构建出可在 Apple App Store 与 Google Play 上分发的应用,并且运行在 iOS 与 Android 设备上(不仅仅是移动站点,而是实际的可安装应用)。

ICE 旨在简化构建应用所需的基础设施,将云服务集成到开发者工作流中。这样就无需开发者本地的大量资源,可以促使开发者执行本地无法执行的任务,比如说使用 Windows PC 编译 iOS 应用等。

InfoQ:能否介绍一下 Icenium Graphite、Icenium Mist 与 Icenium Ion 的目标呢?

Icenium Graphite提供了一个现代化的代码编辑环境,具备语句完成、重构、代码导航与版本控制功能,这会简化应用开发并加快开发速度。集成的实时代码分析会在输入时检测开发者代码中的潜在错误,促使开发者能够尽早发现并解决问题。
Icenium Mist是个基于浏览器的开发环境,开发者可以在任何地方仅通过 Web 浏览器即可创建应用。Icenium Mist 提供了一个轻量级的编辑体验,带有 Icenium Graphite 的众多特性,这样开发者即便不在工作机前也可以轻松编码。
Icenium Ion简化了任意 Apple iOS 设备上应用的部署与测试,开发者无需购买这些设备。它只是扫描项目 QR 代码,片刻之后应用就会安装完毕并使用按需的 LiveSync 运行在 Ion 上。

InfoQ:Icenium 在应用开发上有何不同?

Icenium 是业界最快的、端到端集成云环境(ICE),它简化了 Apple iOS 与 Google Android 平台的跨平台开发。

通过联合本地开发环境的便捷性与云的能力和灵活性,Icenium 促使开发者可以为多种平台构建混合移动应用。

Apache Cordova的集成支持促使开发者可以构建出颇具吸引力的应用,能够充分利用设备的能力,仅仅使用 HTML5、CSS 与 JavaScript 即可。

开发者可以借助于高级的开发与调试工具、真实的设备模拟器与 Icenium 云服务快速构建应用,可以针对多种平台编译应用,所有这一切都在一个环境中完成。

Icenium 简化了管理多个 SDK 与开发环境的复杂度,可以让开发者将精力集中在自己的想法上。借助于 Icenium,我们改变了整个局面,创建了一个面向开发者而非平台的工具。

InfoQ:使用 Icenium 开发应用的难易度如何?

如果开发者熟悉 HTML 与 JavaScript,那么他们就已经知道如何构建 Icenium 应用了,Icenium 可以简化在模拟器中查看应用并且可以将应用部署到一个或多个设备上。我们很兴奋 Icenium 能够实现其简化跨平台开发的承诺。下面是 Twitter 上一些开发者的早期反馈:

Martin N. ?@AVGP:

@phonegap 与 @icenium 简直太神了,很有意思!我刚刚在两个半小时内完成了第一个 Android 与 iOS 的 Google Calendar 应用。

Mike Mullins ?@THIMK:

来自 Telerik 的基于云的 Icenium 将跨平台移动开发的复杂度降低了几个数量级。这一天我等了好几年了。

Damian Brady ?@damovisa:

刚刚玩了会 @icenium,让人难以忘记。示例应用几乎一眨眼功夫就运行在了我的 iPad 上。

InfoQ:还有没有必要使用平板设备如 iPad 来测试 Icenium 创建的应用?

借助于 Icenium,开发者可以通过集成的设备模拟器快速迭代其设计并查看应用的样子——无需部署到物理设备上。

如果开发者想要在物理设备上查看应用,那可以使用 Icenium LiveSync 轻松部署应用,你会看到修改会立刻呈现在集成的设备模拟器及所有连接的设备上,无需像其他产品那样在每个设备上为每次修改都重新编译。

InfoQ:我可以在 ASP.NET MVC、基于 Windows 与 Windows Phone 的应用开发中使用 Icenium 么?

目前 Icenium 支持 Apple iOS 与 Google Android 移动平台。关于其他平台的支持,请参见我的文章What About Windows Phone

InfoQ:Icenium 与 ASP.NET AJAX Controls 之间有何区别?

Icenium 是个完整的开发解决方案,包含了用于编码、测试、调试与将混合应用部署到 iOS 与 Android 平台上的工具。ASP.NET AJAX Controls是一组在构建高响应式基于 AJAX 的 Web 应用时可用在 ASP.NET 中的对象。

InfoQ:Icenium 会减少总的开发时间么?

毫无疑问。Icenium通过减少开发者不得不下载、安装与管理的工具与 SDK 数量提升了开发者生产力,还减少了构建跨平台应用所需的开发环境数量。

借助于 Icenium,开发者在构建应用时就能够获得所需的一切。这种动力对于开发者来说是至关重要的。所有开发者都需要这种动力——这种代码自由流动的感觉是每个开发者都会切身感受到的。

Icenium 旨在消除开发者所面对的所有不必要的中断,比如说管理多个开发工具,或是手工将应用部署到设备,促使开发者为所当为并提升生产力。

InfoQ:Icenium 在 2013 年有何值得期待的地方呢?

只要微软能够让用户喜欢 Windows Phone 8 与 Windows 8 Metro 风格的应用,那我肯定就会支持他们。我很看好这些平台,希望能在不久的将来对其提供支持。

事实上,我们已经开始对编译器以及 LiveSync 在这些平台上的功能进行原型试验了。此外,我非常希望能够将 Telerik 的其他产品集成到 Icenium 中。

在公司中,我们有很多组件来构建颇具吸引力的基于云的 ALM 解决方案,针对跨平台开发——包括问题追踪、测试与部署工具等,因为我深信开发者会从这种集成中获益。

作为基于云的解决方案,Icenium 团队正在规划定期与频繁的更新,我们的用户会定期看到新的特性与功能。

查看英文原文:Icenium: Doug Seven on Building Hybrid Mobile Apps for iOS and Android

JavaScriptAndroid云计算iOS语言 & 开发