gpt4 book ai didi

sproutcore - Sproutcore 和 Ember 之间的差异

转载 作者:行者123 更新时间:2023-12-02 05:03:37 25 4
gpt4 key购买 nike

在 Ember 从 sproutcore fork 之前,我选择了 sproutcore 作为框架。我不确定该走哪条路,并且对碎片化造成的努力明显稀释感到有点沮丧——因为这很少导致更好的事情。 Sproutcore 2.0(现在的 Ember)的努力似乎朝着模块化和重用其他 javasript 组件(jQuery)的正确方向发展,但是从外部角度来看,这两种努力为什么必须分开......我们有模块化代码和小部件库模块吗?

主要问题是:

  • 这两种努力之间的有效区别是什么?
  • split 的历史是什么?
  • 什么是 sproutcore future ,它现在走向何方?
  • Ember 会发展成为 sproutcore 的完全替代品吗?
  • 最佳答案

    作为同时拥有 Sproutcore 应用程序和 Ember 应用程序即将发布的人,我将尝试回答您的问题(为了清晰起见,重新排序)。以下所有内容都是我在没有内部知识的情况下观察到的。有一点是猜测,所以我在这个答案上启用了 wiki 模式,以便更有见识的人可以更正细节。

    split 的历史是什么?

    这是我拼凑起来的:

    SproutCore 由 Charles Jolley 的公司 Sproutit 在 2007 年创建,作为他们 Mailroom 产品的基础。Jolley 后来加入 Apple,Sproutcore 被用于为 Mobile Me 构建原始的 Web 应用程序。任务是重新创建 Mac 应用程序(如 Mail 和 iCal)的体验,而这一努力今天在 Sproutcore 上通过 iCloud 继续进行。

    Jolley 离开苹果并在旧金山成立了一家名为 Strobe 的公司,其愿景部分是为了利用 Sproutcore。 Strobe 的团队认为,Sproutcore 不能很好地适应许多 Web 2.0 用例,而且对于开发人员来说,它是一个要么全有要么全无的主张,因此他们开始努力开发 Sproutcore 2。Sproutcore 2 的目标是模块化,以及一种更能识别 HTML 的方法,让世界各地的 Web 开发人员更容易访问。 Backbone 的早期牵引力是该分析的一部分。

    在努力将 Sproutcore 代码库朝着这个愿景移动之后,Strobe 团队决定重新开始使用 Sproutcore 2(内部代号 Amber)。 Charles 编写了核心 Run Loop 和键值观察器代码。 Yehuda Katz 和 Tom Dale 是该项目的主要 Strobe 开发人员。当时的愿景是 Strobe 和社区最终会将大多数特性和功能从 Sproutcore 1.x 移植到 Sproutcore 2。

    Strobe 的业务努力没有产生预期的结果,公司权衡了各种选择,最终决定由 Facebook 收购 Strobe 人才。在此之前,包括 Katz 和 Dale 在内的一些 Strobe 员工分拆成立了一家名为 Tilde 的新公司。

    Tilde 决定继续开发 Sproutcore 2,但更改了项目的名称(先是 Amber.js,然后是 Ember.js)和目标。他们放弃了与 Sproutcore 向后兼容的长期目标。他们放弃了对任何类型的 View 小部件库的支持,并专注于 HTML/CSS 用例,将数据绑定(bind)与 Handlebars 模板语言紧密集成。

    自从 Strobe 解散后,Sproutcore 1.x 的管理权从 Jolley 转移到了 Tyler Keating,社区重新专注于清理 Sproutcore 1.x,当 Sproutcore 2 的想法出现时,Sproutcore 1.x 一度处于不舒服的位置迫在眉睫。

    这两种努力之间的有效区别是什么?

    这些项目的相似之处在于它们具有非常相似的对象模型。它们也具有相似的属性、观察者和绑定(bind)系统。

    Sproutcore 包括一个 View 小部件库,如工具栏、 ListView 、网格 View 、按钮和主题系统,并专注于通过 Javascript 定义 View 层和由库管理的绝对定位。它非常适合在网络上创建桌面风格的应用程序。

    Ember 的占用空间更小。它与 Handlebars 紧密集成。对于许多项目,它是 Backbone 的替代品。它旨在为客户端应用程序提供标准的应用程序架构并消除样板代码。

    这些差异可能会导致框架出现分歧,尽管已经考虑过采用相同的核心。在这种情况下,Sproutcore 将使用 Ember 的“金属”库和其他核心库)。

    Sproutcore 的 future 是什么,它现在要去哪里?

    该线程包含来自最近贡献者聚会的 session 记录。

    https://groups.google.com/group/sproutcore/browse_thread/thread/aacf00a6047a866e#

    短期路线图将重点放在巩固营销 Material 、演示和代码库上。该团队最近发布了Sproutcore Showcase .关于用基于 Javascript(node.js) 的解决方案替换 Abbot(用于 Sproutcore 的 Ruby 构建工具)已达成普遍共识,该解决方案目前正在积极开发中。还希望减少来自 Apple 等公司的“大”代码合并和更频繁的发布。 Sproutcore 1.8 最近发布。

    Ember 会发展成为 sproutcore 的完全替代品吗?

    不见得。 Ember 核心团队已经明确表示,他们无意亲自开发那些缺失的功能。社区成员可能会将它们作为单独的项目进行开发 -- flame.js是迄今为止最雄心勃勃的尝试。 Ember 的设计选择使其更容易与 jQuery UI 等项目集成,因此可能需要也可能不需要完全替换。

    关于sproutcore - Sproutcore 和 Ember 之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9425307/

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