gpt4 book ai didi

sencha-touch - Sproutcore/Ember/Blossom/Sencha 和移动设备(或替代框架)的现状

转载 作者:行者123 更新时间:2023-12-04 05:24:44 25 4
gpt4 key购买 nike

我一直在查看 Sproutcore、Ember 和 Blossom 以及其他竞争性框架成果(例如 Sencha),以选择 HTML5 客户端应用程序项目。这些项目的状态、信息和文档有点零散,需要清晰明了,因此我将其呈现给社区。

我的项目是成为一个类似本地的 HTML5 应用程序,具有桌面级别的复杂性,需要一个完整的应用程序框架,它可以在桌面上运行良好,并在具有触摸感知功能的移动设备上以良好的速度运行。小部件应该是原生的(而不是网络的),但可以自定义,以便对应用程序来说是独一无二的。

问题/框架要求:

  1. native 与 Web 风格的应用程序。框架应该使它易于构建类似原生的用户体验,并能够进行自定义原生感觉(不仅仅是完全模仿 mac/win/iOS)。部分文字周围的 Ember 表明它确实适用于网络风格的应用程序 - 没有给出UI 层可能不言而喻。像 Sencha 这样的框架,它能轻松容纳自定义小部件吗?
  2. Mobile Appropreatness.框架应该适合移动设备,并具有触摸输入和手势。我在研究中看到的一些笔记表明 Sproutcore 和Blossom 不太适合移动设备,而 Ember 更好面向移动设备(尺寸?)。目前尚不清楚touch/mobile 库在 Sproutcore/Blossom 中非常发达,如果它们得到支持,当前状态。 (并且 blossom 编译成 native 是 Not Acceptable )。另一方面,像 Sencha 这样的框架是否有能力在桌面和移动设备上正常工作?
  3. 框架完整性。该框架应该是一个相当完整的应用程序框架,具有类似桌面的 OO 预期和管理功能,可以自动高效地与服务器同步、管理和序列化数据模型。不确定 Ember 和 Sproutcore 之间是否有很大区别,Sencha 等其他努力如何叠加?

最佳答案

您的问题涵盖了很多方面。我会挑选一些引述并直接回答。

My project is to be a native-like HTML5 application with desktop level complexity in need of a complete application framework

Ember.js 特别标榜自己是“网络风格”框架,而不是 RIA 框架。也就是说,您可以构建任何您想要的东西,但您将成为开拓者。

Sproutcore 自称是 RIA 框架。您可以完全控制 DOM,因此如果您可以在浏览器中执行此操作,那么您也可以在 Sproutcore 中执行。

Ext-Js 也是一个很好的桌面应用程序框架(Sencha Touch 适用于移动设备)。如果您喜欢它的示异常(exception)观,那么它是一个不错的选择。您当然可以自定义 dom 并编写自己的小部件。

Blossom 基本上是带有基于 Canvas 的 View 层的 Sproutcore。它刚刚进入测试阶段,所以如果您使用它,您肯定会开创先河。

因此,您基本上可以使用您为企业的 RIA 部分提到的任何框架。我会消除 Ember.js 只是因为框架本身旨在用于网络风格(例如 twitter)而不是 RIA(例如 iCloud)应用程序,这不是您想要的。

The widgets should be native-like (not web-like), but customizable so to be unique to the application.

您剩下的所有三个选项都可以做到这一点。如果你喜欢 Senchas 小部件,它是一个不错的选择。我不知道它们是否足够适合您。也就是说,使用任何剩余的框架,您都可以根据自己的喜好自定义 DOM。

Mobile Appropreatness. Framework should be appropreate for mobile devices

这是一个艰难的过程。 Sencha Touch(它是独立的,但类似于 Ext-Js)非常流行并且可以完成工作。它也很高效;一个非常重要的应用程序在我原来的 Droid 上运行良好(这让我感到惊讶)。

Sproutcore 非常重。它有移动支持(即触摸事件),但你需要非常小心你创建的 dom,以免浏览器不堪重负。我不会选择用于移动设备的 Sproutcore,但如果你非常小心的话你可以。

and blossom compile to native is not acceptable

这对我来说似乎不合理。需要明确的是,这些框架中没有一个在移动设备上本地运行;它们都在浏览器中运行。 Blossom 即将关闭,因为 Canvas API 直接映射到 native API,为您提供真正的 native 应用程序。您可以更接近的唯一方法是为 iO 和 Android 使用 objective-c/java。

所以基本上,在这一点上你的左边是 Sencha(Ext-Js) 和 Blossom。 Blossom 仍处于 Beta 阶段,如果您尝试了它,您将成为开拓者。 Sencha 成立,拥有强大的支持(Blossom 在 irc 上的支持很好),以及庞大的开发者基础。

所以 Sencha 是您的选择,除非您真的想走在前沿,并冒一点风险。

关于sencha-touch - Sproutcore/Ember/Blossom/Sencha 和移动设备(或替代框架)的现状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9695033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com