3

Ionic 框架与 Famo.us 框架有什么区别。可以在一个项目中同时使用这两种框架。哪一个支持在移动设备上平滑渲染图形?

两个框架都支持 AngularJs?

4

2 回答 2

11

这两个框架都与 AngularJS 一起工作,但它们来自不同的方向并且有不同的目标。

离子

构建在 AngularJS 之上并对其进行了扩展,为您提供按钮、网格和其他现成的 UI 元素,以帮助您真正快速地发布您的移动应用程序。AngularJS 专注于数据绑定和应用程序的 MVC 结构,并不真正关心它是在桌面浏览器中运行还是在移动设备上运行。Ionic 专注于您的应用程序数据的呈现,并扩展了 AngularJS 以使其适合在移动设备上使用,并为您提供移动用户所期望的设计模式。由于 Ionic 位于 AngularJS 之上,因此没有 Angular 就无法真正拥有 Ionic。

查看 Ionic 的组件以获得更好的理解。

著名的

另一方面争取最快的渲染性能。碰巧您可以将常规 HTML 放入 Famo.us Surface 中——它是保存要显示的内容的容器。该内容可以是 HTML,但不是必须的。

Famo.us 本身不使用标准的 HTML 重排来将其表面定位在视口中,而是使用它自己的渲染树实现,因此即使在 3D 空间中,您也可以自由操作表面位置和旋转,并具有黄油般的平滑性能. 另一方面,放置在表面内的 HTML 使用重排来定位其元素,就像您习惯的那样。阅读有关渲染树的更多信息

Famo.us 可以输出为 HTML,但也可以使用 WebGL 甚至混合模式进行渲染,将 DOM 与 WebGL 相结合。这允许使用纯 CSS 不可能实现的精美图形效果。还与 Easing 和 Physics 紧密集成,以实现有趣和逼真的动画。

现在有了Famo.us/Angular,我不明白为什么你不能在同一个应用程序中使用 Ionic 和 Famo.us,尽管我还没有尝试过。

概括

Ionic 坚持使用常规 DOM 进行渲染,并专注于移动设计/UX 模式。Famo.us 无视 DOM 并让您(阅读:要求您)构建/填充渲染树,提供物理并允许更复杂和流畅的动画。这也意味着使用 Famo.us 有一个学习曲线。好消息是:您不必“全力以赴”,因为您可以使用 Famo.us 构建应用程序的某些视图,然后对其他所有内容使用常规 HTML/CSS。

于 2015-02-15T21:21:02.193 回答
1

当着名的加载到同一个 index.html SPA 中时,离子列表工作得很好。

当 ionic 和 famo.us 共享同一个页面时,一些东西,比如 angular-google-maps 中的触摸平移停止工作。使用 ion-nav-bar 从 ionic 选项卡状态转换到详细视图的动画效果也很糟糕。

因此,我建议您只需根据需要将您的应用程序从 Famous.html 切换到 ionic.html 即可将事情分开。每个实现都有自己的依赖堆栈和独立的样式,因为它们出现在示例应用程序中。

您可以使用 document.location.href 进行转换

我认为您可以通过在 url 中设置正确的状态来找到一种方法来从一个世界过渡到另一个世界的特定状态。

于 2015-02-19T04:20:59.533 回答