Tro*_*vey 2 sproutcore sencha-touch ember.js
我一直在寻找Sproutcore,Ember和Blossom以及其他竞争框架(例如Sencha)来选择HTML5客户端应用程序项目.这些项目的状态,信息和文档有点分散,需要清晰,所以我向社区提出这个问题.
我的项目是一个类似本机的HTML5应用程序,其桌面级复杂性需要一个完整的应用程序框架,它可以很好地在桌面上运行,并且可以在具有触摸感知功能的移动设备上以极快的速度运行.小部件应该是原生的(不是类似Web的),但可以自定义,以便应用程序是唯一的.
问题/框架要求:
你的问题涉及很多方面.我会选择一些报价并直接回答.
我的项目是一个类似本机的HTML5应用程序,其桌面级复杂性需要一个完整的应用程序框架
Ember.js特别将自己称为"网络式"框架,而不是RIA框架.也就是说,你可以建造任何你想要的东西,但你会开拓创新.
Sproutcore将自己称为RIA框架.您可以完全控制DOM,因此如果您可以在浏览器中执行此操作,则可以在Sproutcore中执行此操作.
Ext-Js也是一个很好的桌面应用程序框架(Sencha Touch适用于移动设备).如果你喜欢它的例子,那么它是一个不错的选择.您当然可以自定义dom并编写自己的小部件.
Blossom基本上是Sproutcore,带有基于画布的视图层.它刚刚进入测试版,所以如果你选择它,你肯定会开始尝试.
因此,您基本上可以使用您为企业的RIA部分提到的任何框架.我会消除Ember.js只是因为框架本身的目的是为了网络风格(例如推特)而不是RIA(例如iCloud)应用程序,这不是你想要的.
小部件应该是原生的(不是类似Web的),但可以自定义,以便应用程序是唯一的.
您剩下的所有三个选项都可以执行此操作.如果您喜欢Senchas小部件,那么它是一个不错的选择.我不知道他们是否适合你.也就是说,使用任何剩余的框架,您可以根据自己的内容自定义DOM.
Mobile Appropreatness. Framework should be appropreate for mobile devices
Run Code Online (Sandbox Code Playgroud)
这是困难的一个.Sencha Touch(与Ext-Js分开但类似)非常受欢迎并完成工作.它也是高效的; 一个非平凡的应用程序在我原来的Droid上运行得很好(这令我感到惊讶).
Sproutcore非常重.它具有移动支持(即触摸事件),但您需要非常小心您创建的dom,以免压倒浏览器.我不会选择Sproutcore用于移动设备,但如果你非常小心,你可以选择.
和开花编译到本机是不可接受的
这对我来说似乎不合理.需要明确的是,这些框架中没有一个在移动设备上本地运行; 他们都在浏览器中运行.当canvas API直接映射到本机API时,Blossom会关闭,为您提供真正的本机应用程序.你可以接近的唯一方法是使用objective-c/java for iOs和Android.
所以基本上,此时你的左手是Sencha(Ext-Js)和Blossom.Blossom仍然处于测试阶段,如果你尝试过,你会开始尝试.Sencha成立,有很大的支持(对irc的开花支持很好),以及庞大的开发者基础.
所以Sencha是你的选择,除非你真的想成为最前沿,并冒一点风险.