gpt4 book ai didi

javascript - SproutCore 与 Cappuccino

转载 作者:行者123 更新时间:2023-12-02 13:11:52 25 4
gpt4 key购买 nike

除了 Javascript 与 Objective-J 的语言差异之外,在您的体验中,Cappuccino 与 SproutCore 相比有什么好处,反之亦然?

从长期预测来看,SproutCore 是否比 Cappuccino 更“受支持”,因为它得到了苹果的支持?

我试图在两者之间做出选择。我熟悉 JavaScript 和 Objective-C。

最佳答案

这是一个有趣的问题,并且在各种消息组、推特甚至 IRC 上经常出现。有几种方法可以评估 SproutCore 与 Cappuccino ,但是,也许人们看到的一些直接caparisons 如下:

1)各自的特征集
2) 易用性
3) 社区支持和文档

让我们看看第一点——有各自的功能集。通过“功能集”,有几种方法可以查看它。从他们拥有的 UI 小部件的数量来看;将事物连接在一起并与某种后端进行通信的基础支持;框架的一般架构方法,虽然不一定是“特性”,但仍然很重要;而且,是的,甚至是您可以使用的语言。

关于语言,我认为重要的是不要忽视正在使用的内容(JS 与 Obj-J)。为什么?因为收养和你来自哪里。 SproutCore 的出发点是 JavaScript 确实是 Web 语言,因此您可以使用它来针对框架进行编程。 JavaScript 缺乏语言 OO 完整性(正确的对象-对象继承等),它在框架中弥补(例如 MyApp.Foo = SC.Object.extend({...}))。 Cappuccino 从不同的 Angular 进来。他们使用 Obj-J 作为 JS 的主要语言增强,以注入(inject) JS 缺少的语言特性;这而不是将这些语言功能直接注入(inject)框架(Cappuccino)本身。当然,正如 Cappuccino 的人之前所指出的,您仍然可以使用 JS 对 Cappuccino 进行适当的编程,但是,您会错过 Obj-J 提供的功能。 Cappuccino 社区的注意事项:如果我错了,请纠正我:-)。最后,如果您已经熟悉 Obj-C,那么 Obj-J 可能更适合您。嘿,即使是索尼显然现在也加入了整个 Obj-C 的潮流,以针对他们的移动平台进行开发 :-P。

查看这两个框架的架构,他们都查看了 Apple 的 Cocoa 框架以某种形式的指导/灵感。 Cappuccino 完全把 Cocoa 放在心上,基本上移植了 Cocoas API。再说一次,如果您是在 Apple 中使用 Cocoa 开发应用程序,那么您可能会感到宾至如归。另一方面,SproutCore 从 Cocoa 那里获得灵感,感觉不错。至于纯架构,他们都遵循MVC,他们都使用Cocoa风格的绑定(bind),他们都有数据存储机制,他们都有自己的渲染和组成UI小部件/ View 的风格。

对我来说, View 的呈现是一个特别重要的领域。这两个框架都有一定程度的抽象,以便让您无需直接处理 CSS 和 HTML,即使在一天结束时它们必须呈现 Web 浏览器最终能够理解的内容。

在 Cappuccino 方面,他们完全从你那里抽象出 CSS 和 HTML。相反,您可以使用框架的各种渲染原语来“绘制”您的 View 。由于这种抽象级别,Cappuccino 可以利用可用的最佳渲染方法,而不是在某种程度上将您与 CSS 和 HTML 结合起来。

至于 SproutCore,可以这么说,您渲染得更接近“金属”。在对 View 进行纯渲染时,您会使用提供一定程度抽象的渲染上下文对象,但最终,您是直接注入(inject) HTML 并添加类名以应用 CSS。即使在您的 View 已呈现并且您想根据事件操作 View 的某些部分后,您也可以直接访问 DOM 元素并操作它们的属性。取决于你来自哪里,这可能看起来好或坏。适合那些习惯于使用 CSS 和 HTML 并且喜欢更直接地控制 View 的呈现和样式的人。如果您想根据浏览器允许的内容(HTML/CSS、SVG、HTML5 Canvas 等)使用最佳渲染方法来一般地渲染 View ,那就不好了。但是,请注意, future 有计划使 SproutCore 具有更抽象的渲染方法,但如果您愿意,仍然允许您直接使用 HTML 和 CSS。所以你最终会得到两全其美的。

现在,至于两个框架附带的库存 UI 小部件/ View - 它们都有很多开箱即用的功能,以便您继续前进。按钮、标签、列表、分段 View 、单选按钮、滚动条等——它们都在那里。因此,可以肯定地说,您在两个阵营中都很好。

回过头来,现在让我们讨论一下易用性。对我来说,易用性是基于你个人使用 JavaScript、HTML、Obj-C、Cocoa、其他 MVC 框架、文档和社区支持的经验。如果您从未使用过 Cocoa,或者从未构建过类似桌面或 iPad 的应用程序,那么可以公平地说,无论您选择哪种框架,您都会有一些学习曲线。话虽如此,您不知道和想学习的内容可以通过每个框架各自的社区和文档获得。两者都有活跃的社区,所以如果你被困在某个地方,你不会被冷落。至于文档,无可否认, Cappuccino 占了上风。缺少 SproutCore 的文档,但代码库至少有完整的注释。 SproutCore 社区完全了解需要更新的文档,目前正在处理中,因此请继续检查。

最后,您提到了两个框架的长期预测。众所周知,摩托罗拉购买了 Cappuccino 框架,因此您肯定有一家大公司支持其增长和长寿,或者至少目前看起来是这样。至于Apple和SproutCore,我个人不能代表他们,但Apple不拥有该框架。有许多公司和各种个人都以某种方式使用该框架并对其做出贡献。由于框架开发的更有机的性质,这可能会让一些人和公司对那些关注 SproutCore 的人感到犹豫或不适,但我不认为这是一个问题。我的感觉是这两个框架都会存在很长时间,尤其是现在更多的人正在考虑使用开源框架开发下一代桌面和 iPad 应用程序。而且,嘿,框架之间的竞争很好——让每个人都保持警觉:-)。

希望这些信息可以帮助您做出决定!

干杯,

麦克风

关于javascript - SproutCore 与 Cappuccino ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4287953/

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