30

我想开始使用 angularjs、css3 和 html5 开发移动混合应用程序。正在寻找一个框架,并找到了这两个。两者看起来都很好,但是我无法对它们进行很好的比较。谁能列出两者的优缺点。

在可扩展性、开箱即用组件、速度以及与 Angular 和目标设备的兼容性方面对它们进行比较将非常有帮助

4

7 回答 7

44

自这两个框架发布以来已经过去了一年。Onsen UI 目前处于稳定的 1.2 版本,而 Ionic 处于最后一个候选版本状态。

我和他们两个都合作过,所以让我给你一个简短的概述,我还写了一篇更大的博客文章,你会在这个答案的末尾找到它。

我不会详细介绍核心框架;如果你有以前的 AngularJS 知识,你将很容易过渡到 Ionic 或 Onsen UI。

  • 这两个框架都是围绕 AngularJS 构建的,它们在很大程度上依赖于指令,您也可以轻松地构建您的自定义指令。Onsen UI 还具有对 jQuery 的支持(如果你问我,那是不必要的)。

  • 两个框架都支持 Android 4+、iOS 6+(部分功能在 Android 2.3 上可用),Onsen UI 也正式支持 Firefox OS 和桌面浏览器。Ionic 没有官方桌面支持,但它仍然可以工作(想象一下,它不会很漂亮)。

  • Ionic 目前不支持 Windows Mobile 平台(以后会有);Onsen UI 支持目前正在开发中(自 2014 年 11 月起)。

  • 这两个框架都支持某种拆分视图功能,因此它们可以用于表格开发。

  • 这两个框架都有一个独特的漂亮的扁平 UI。我更喜欢 Ionic 而不是 Onsen UI 的外观和感觉,但这是个人品味的问题。两个默认主题看起来都像 iOS 7。

  • Onsen UI 支持 Android 和 iOS 的原生主题。Ionic 框架对所有平台使用相同的主题,但某些功能将取决于平台(例如选项卡外观)

  • 这两个框架都有一个工作主题构建器。

  • Ionic 支持 SASS,而 Onsen UI 是围绕 Topcoat CSS 库构建的。

  • 两个框架都有一个大的小部件支持(指令)

  • Onsen UI 有更好的文档。它在两个不同的位置分开。第一个是“组件”,您可以在其中看到不同的指令,每个指令都有一个您可以使用和复制的工作示例。第二部分是“指南”,指导您完成应用程序创建过程。

  • Ionic 的文档杂乱无章(非常分散)。即使您以前有 AngularJS 经验,它也缺乏真正的“入门”教程。它向您展示了各个部分,但没有展示如何正确连接它们。

  • 另一方面,Ionic 拥有更大的社区,因此您可以轻松找到问题的解决方案。

  • Ionic 框架有一个很棒的官方论坛 + 大型 StackOverflow 社区。同时,Onsen UI 仅使用 StackOverflow 作为帮助中心(我认为这是失败的)。

  • Onsen UI 有一个名为 MONACA IDE(很棒的工具)的 HTML5 IDE,Ionic IDE 目前正在生产中;你可以参加beta测试。

  • Ionic 有一个不断增长的 3rd 方插件社区(例如日期选择器);我找不到任何 3rd 方 Onsen UI 插件

我写了一篇更大的文章,涵盖了 Ionic / Onsen UI 的变化,请在此处找到。

于 2015-01-02T10:11:35.693 回答
15

由于这两个框架都很新而且不是很流行(还没有!),我认为没有人花时间对两者进行广泛的比较。我什至不认为最终的开箱即用组件集是由开发人员自己决定的,积极的开发仍在继续。

至于兼容性,混合应用程序在安装它们的设备的本机浏览器中运行。两个框架都需要 CSS3,因此任何一个框架都不会支持旧手机。

StackOverflow 上的 OnsenUI-tag 是 OnsenUI 提供的唯一支持(当前),在撰写本文时有 0 个问题/答案。Ionic 在他们的网站上有一个非常活跃的论坛 + 一些关于 SO 的问题/答案。

我认为有一个活跃的社区支持一个框架最终会导致一个更好的框架。因此,我会选择离子。就个人而言,我发现 Ionic 的标准设计也更有吸引力,但你应该自己判断。

于 2014-02-20T11:38:18.967 回答
6

离子

  • 更倾向于像路由、控制器和模板这样的 Angular 风格,而且它的结构在第一手时有点复杂。
  • onsenUI 中仍然没有像“ionic start myApp tabs”这样的命令
  • 提供像“Cardboard”这样的材料设计

温泉UI

  • 结构更简单,上手容易
  • 再加上 Monaca IDE,有些功能只有在使用 Monaca 时才可用。否则你必须自己创造东西。
  • 最近支持ios8设计
于 2014-12-05T07:54:42.767 回答
1

Ionic 具有更成熟的特性和 CSS 组件集并且开箱即用。代表 UI 元素(指令)的可注入委托服务使您可以更好地控制 UI/UX 交互。开发社区(目前)非常活跃,并且越来越受到关注。

我无法正确谈论两者之间的速度/性能,但知道两者都针对移动设备进行了优化。

随着我的发展,我将通过比较进行报告。祝你好运。

于 2014-08-11T20:08:51.873 回答
0

经过一段时间的原生开发后才开始使用 ionic。必须认真地说它有一些很棒的 cli 功能!例如,在我看来,你可以从一个要点开始你的项目,这对 poc 来说很好

还没有能够测试一切,但我所看到的真的让我印象深刻!

它以自己的方式有据可查,活跃的社区,并且不断变得更好。

只是想分享我对它的价值的看法

于 2014-11-06T11:30:07.160 回答
0

由于某些原因,我发现 Ionic 是最好的,比如他们的社区支持和文档。很长一段时间以来,我仍在评估温泉,但与 Ionic 相比,我仍然没有找到一件能让我趋之若鹜的独特事物

于 2017-09-27T09:47:22.220 回答
0

我在 Ionic 框架中工作了 1 年,从事一个真正的项目,我用 Ionic 创建了一个游戏,它非常特别,因为如果你想创建游戏,混合应用程序不是最佳选择。当您开发游戏时,您需要性能!但是,如果您开发具有少量动画的简单游戏,那就太好了。这是我在 Playstore 中的游戏,它是一款记忆游戏“Memory Party”: https ://play.google.com/store/apps/details?id=fr.jhaccoun

为什么 Ionic 是一个不错的选择:

  1. 非常非常非常好的文档(教程、论坛、文章……)
  2. 稳定(离子1),您可以在商店中找到许多应用程序
  3. 易于开发(ionic 附带许多工具来帮助开发人员,您可以在手机中进行实时开发和测试,而无需部署感谢实时重新加载
  4. 许多科尔多瓦模块可用
  5. 你不需要移动技能,只需要 angularjs, html, css ...
  6. Ionic 提供漂亮的组件,您可以根据需要自定义组件
于 2016-04-21T18:40:41.903 回答