最近由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团队正在规划定期与频繁的更新,我们的用户会定期看到新的特性与功能。