- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 python 和 django 构建企业 Web 应用程序。我要做的最后决定是使用哪个 javascript 库。我正在考虑使用 Google 的闭包库或 YUI3。大多数开发,我都使用 jQuery。我可以用 jQuery 快速编码,但似乎不适合企业使用。
YUI 3 看起来不错。它包括我想使用的大多数小部件,但 Closure 库几乎相同。 Closure 库的更好之处在于它们有 Closure Compiler,但似乎 Closure 需要编写比 YUI 3 多得多的代码。来自 YUI 3 的文档也非常好。
该应用程序将同时适用于 Web 和移动设备,因此该库不应在 Android 或 iPhone 等移动设备上中断。
如果你是我,你会做出什么决定?
最佳答案
免责声明
我主要借鉴了企业环境中关于 jQuery 的评论,由于我缺乏 YUI 经验,我无法就 [不] 在 Closure 上使用它给出任何有意识的建议。
但是由于缺乏任何其他答案,我将分享我对 Closure 的经验。
关闭库
至于 Closure 库,我在最近几个项目中一直在使用它,但我绝不是这方面的专家,我只能说好话。
库提供了构建任何类型的 UI 时所需的核心组件。但是,与 jQuery 不同的是,它没有附带数以万亿计的“准备好部署”的插件脚本,或者如某些人所说,不包含电池。
它有基本的事件、控件、xhr、对话框、表单组件等,我认为最重要的是,命名空间 (或者至少看起来像他们的东西......)。
有了这个,你可以创建你自己的自定义 UI,只受你的想象力和 JavaScript 的力量的限制(而且 JS 是非常强大的语言,即使它确实有它自己的烦恼)。
并在 Closure compiler 的帮助下,它不仅缩小了代码,而且排除了所有未使用的代码,进行了类型检查,给出了对调试有用的警告等等,它看起来像是构建由任何规模的团队建立的大型应用程序的坚实基础。
在我看来,在企业项目中使用 Closure 而不是 jQuery 的主要原因是一致性。插件很棒,但它们往往包含所有级别的不一致,无论是编程实践、视觉风格和结构、性能、使用,你说出来。在大型项目中消除这些小的不一致可能会浪费大量时间。
所以总而言之,如果您有需要自定义 UI 和很大灵活性的大型项目,Closure 是适合该工作的工具。有了“命名空间”,它甚至感觉都是 Pythonish。
附言我们还在服务器端使用 Django。
关于yui3 - 关闭库或 YUI 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7536155/
在过去的两年里,我一直在广泛使用 jQuery 和 ExtJs 进行编程。我认为现在是时候花一些时间来学习令人印象深刻的 YUI 库了。 在从头开始学习方面什么是可取的? 我不打算在我 future
我们使用 YUI3 加载器来管理加载我们的 javascript 和 css 文件。作为每个页面上引导 js 代码的一部分,我们有如下内容: YUI({ ... groups: {
我有一个 YUI 数据表,我将以下数据放入表中: {key:"name", label:"name", editor: nameChoiceEditor}, {key:"group", label
我想向已经包含 Prototype 和 Scriptaculous 的页面添加日历控件。对我能找到的任何原型(prototype)都不满意,我正在考虑使用 YUI 日历小部件。 我这可能会导致什么问题
我可以使用多个下拉菜单和分页的 YUI 数据表来过滤静态数据集的行吗? http://www.mappingbahia.org/project/iguape_dataset.html 最佳答案 每个
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 9 年前。 Improv
在我们的 SSL 页面上使用 YUI 脚本会破坏 SSL 连接,因为它们通过 http 连接动态加载来自 yahoo(组合)的脚本。 由于我们只使用 YUI 3 的历史管理器,所以我想将代码托管在我们
我使用以下代码通过 YUI 在页面正文中创建一个 html 元素。此代码不会产生任何错误。 问题是,段落元素没有在 html 页面中创建。 YUI Test
YUI Compressor,在其(不是很广泛的)文档中将其作为一个选项: --disable-optimizations Disable all the built-in micro opt
如果我运行这样的测试用例,我的测试结果将显示在 YUI 测试控制台小部件中: YUI({debug: true}).use('test', 'event-base', 'test-console',
YUI.add 和 YUI().add 有什么区别? 最佳答案 在第一种情况下,您要注册一个模块可以加载到 YUI 沙箱中,在第二种情况下,您要构建一个沙箱,然后进行注册(这是一种非常不典型的用法)。
我一直在使用 YUI 库来开发网站。 YUI 3 于 9 月发布。 我仍然不确定是否必须为迁移做好准备。 第三版比第二版有什么优势? 您最近参与过这样的迁移吗? 最佳答案 我没有参与迁移,但我为 YU
将 Yahoo JS 和 CSS 库从版本 2 升级到版本 3 的迁移路径是什么? 特别是:CSS 和字体、按钮、TabView。 如能提供有关所遇到问题的更多信息、简化问题的提示等,我们将不胜感激。
我遇到的问题是它也跟踪日志阅读器中的所有事件。这使得它很难使用。当我向上向下滚动、在阅读器中单击或移动以检查事件时,它会在各处滚动以添加新事件。有没有办法过滤它以仅包含来自某些来源的某些事件?我可能做
这个问题主要是出于学术兴趣。 我今天开始使用 YUI 3,并偶然发现了它的沙箱概念。在彻底尝试在 DOM 中找到一些对象(比如我注册的事件处理程序)后,我不得不放弃。我只是找不到任何实例对象结束于此。
YUI 似乎非常专注于为浏览器和 node.js 提供所有相同的代码。 这非常强大,因为现在我可以在两端使用相同的测试,而不必重写/重新学习任何东西。 在测试方面,谷歌是否也专注于 node.js?
我正在尝试使用 Maven 的 YUI Compressor 插件来压缩我的 CSS 和 JavaScript,但我遇到了两个问题。 我的配置正确地压缩和聚合了 JavaScript 文件,但是如果我
我正在使用Yahoo.Yui.Compressor.Build.MsBuild压缩 css 和 javascript 文件。我已经安装了Yahoo.Yui.Compressor.Build.MsBui
我正在尝试使用 YUI 3.3.0 预览版 3 charting solution因为它不再使用 Flash,而是使用浏览器 Canvas 。到目前为止,我把这些和平的代码拼凑在一起(因为我是 YUI
我正在使用 YUI,需要获取元素的真实宽度。元素的宽度可以如下确定。 宽度 + 左边框 + 右边框 + 左填充 + 右填充 + 左边距 + 右边距。 下面是我想出的。它似乎正在工作。我只是想知道这是确
我是一名优秀的程序员,十分优秀!