Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML5UI框架_Html_User Interface_Web Applications_Frameworks_Javascript Framework - Fatal编程技术网

HTML5UI框架

HTML5UI框架,html,user-interface,web-applications,frameworks,javascript-framework,Html,User Interface,Web Applications,Frameworks,Javascript Framework,我在那里发现了很多HTML5 UI框架,例如: 我又被这么多的资源弄得不知所措了。 看起来有一些,但几乎所有的看起来都太慢,太重了 我对我要学哪一个有点困惑。 他们的每个网站都在谈论他们的产品,好像他们是市场上最好的一样。(明显的营销策略) 作为web应用程序开发和客户端JS UI框架的初学者;各位,根据你们的经验,考虑到速度、小部件集合、复杂性、外观和支持等因素,你们推荐哪一款用于快速桌面web应用程序开发 你建议我开始学习哪一个 我知道可能会有很多答案,每个人都可能喜欢

我在那里发现了很多HTML5 UI框架,例如:

我又被这么多的资源弄得不知所措了。 看起来有一些,但几乎所有的看起来都太慢,太重了

我对我要学哪一个有点困惑。 他们的每个网站都在谈论他们的产品,好像他们是市场上最好的一样。(明显的营销策略)

作为web应用程序开发和客户端JS UI框架的初学者;各位,根据你们的经验,考虑到速度、小部件集合、复杂性、外观和支持等因素,你们推荐哪一款用于快速桌面web应用程序开发

你建议我开始学习哪一个


我知道可能会有很多答案,每个人都可能喜欢不同的答案,但这可能会有助于引导我一点,并对一些最流行的框架提出一些批评。

你的问题太多了,答案不容易,也不确定。这也将是非常固执己见的。看看你带来的框架列表,我看到了非常不同的东西,几乎无法相互比较。我将尝试以某种方式对它们进行分组,并在列表中添加更多的框架

这里的主要问题不是某个特定框架的利弊。主要问题是:你想要多少?你真的是指像Gmail或Grooveshark这样的应用程序吗?或者你的意思是像Stackoverflow这样的东西——一个动态的,一点也不简单,但仍然是一个网站。让我们考虑所有这些选项。

也许,您只是想用一些小部件来增强您的网站,比如选项卡、对话框、一些可拖动/可拖放的元素、文本编辑等,而您不愿意更改您的开发模型。我的意思是,您使用您最喜欢的Java/PHP/Ruby,不希望用JavaScript编写大量应用程序的逻辑和行为。在这种情况下,基于jQuery的插件式解决方案将为您提供帮助,尤其是

jQuery小部件遵循其插件系统。这通常意味着它们非常容易使用。要创建按钮,请编写:

$('#myButton').button();
现在,如果要禁用它,请使用以下模式调用一个方法:

$('#myButton').button('disable');
获取或设置值,例如滑块或日期选择器上的值,如下所示:

$('#mySlider').slider('value');
$('#mySlider').slider('value', 42);
如您所见,基于jQuery的解决方案没有模型。所有数据都保存在DOM中,并通过奇怪的方法调用获得。如果你需要动态处理你的数据,例如做一些复杂的验证,在后台加载一些东西,过滤或排序,那么你会发现这很快就会变得混乱。顺便说一句,这就是为什么jQueryUI团队还没有提供网格控件的问题——没有模型他们无法做到这一点。在jquerymobile中,您通过简单的标记获得了一个很好的移动用户界面,但是没有正式的方式在页面之间传递数据

总结一下:如果您有一个多页面的网站,如果您发布表单,那么使用jqueryui或类似的更轻的解决方案

也许,您希望构建更复杂、更实用的应用程序,比如(单页应用程序?)。您知道您需要在客户端处理数据。那你有什么选择

您可以使用许多JavaScript框架中的一种,这些框架为您提供模型、数据绑定和其他创建web应用程序的方法,并将它们与为什么不使用jQuery UI集成。或者您可以使用更完整的框架,如或。这些框架依赖于jQuery(Wijmo依赖于jqueryui),并提供额外的数据操作手段。他们有一个数据模型。Kendo实现了自己的解决方案(我认为),而Wijmo和jqWidgets与流行的击倒JS集成

因此,Kendo和Wijmo属于提供小部件/控件和一些支持模型的框架组。还有其他类似的框架,它们不是基于jQuery的,例如。添加一些动态数据加载,您将得到一个稍微复杂的web应用程序。你还有什么愿望

事实上,最重要的事情被遗忘了——您如何构造(组织)您的应用程序?若您试图构建一个单页应用程序,以RESTful方式与服务器通信,那个么若您的应用程序并没有体系结构,那个么很快就会陷入混乱。这通常需要一些关注点分离(MVC、MVVM)、模板、路由和模块管理等特性。这是和出现的地方。它们为构建web应用程序提供了一个全面的解决方案,其中小部件只是其中的一小部分

看起来SproutCore和Sencha是这里的赢家,因为它们是最完整的解决方案,包括UI和业务逻辑,还可以构建应用程序。尽管有很多优点,但也有一些缺点。有些人说他们太重了,或者需要坚持他们的开发模式,而你可能不喜欢。例如,在Sencha中,您用JavaScript描述GUI并使用Sencha的类型系统。这增加了一种沉重的感觉,即存在抽象和包装,而您确实喜欢HTML、CSS和香草JavaScript的简单性

但这不是唯一的办法。web的强大之处在于,它有许多框架、库、工具,以及更大的工具,可以帮助您按照自己喜欢的方式设计应用程序。例如,考虑一下。它本身并没有提供一组控件,但与Twitter引导相结合成为RIA的完整解决方案。或者,举个例子,看看,一个更轻量级的框架,它来自于创建重量级SproutCore的人。它也没有为您提供一组小部件,但在我看来,它是一个非常好的应用程序基础

这是我最后的想法,而不是结论。所有这些框架通常都会向您显示它们的小部件集、外观漂亮的主题和其他可视化内容。但真正重要的是你将如何开发你的应用程序,你将如何构造它,在哪里