Tro*_*vey 43 sproutcore ember.js
在Ember从sproutcore分叉之前,我选择了sproutcore作为框架.我不确定哪条路可走,而且由于碎片造成的工作明显稀释而有点沮丧 - 因为很少会导致更好的事情.Sproutcore 2.0(现在的Ember)的努力似乎正朝着模块化和重用其他javasript组件(jQuery)的正确方向发展,但是从外部观点来看,为什么这两个努力必须分裂......才能真正不清楚...我们有模块化代码和小部件库模块吗?
主要问题是:
Luk*_*lia 80
作为一个同时拥有Sproutcore应用程序和Ember应用程序的人,我会接受你的问题(为了清晰起见,我们会重新订购).所有这些都是我在没有内部知识的情况下观察到的.有点推测,所以我在这个答案上启用了wiki模式,这样更有见识的人可以纠正细节.
分裂的历史是什么?
以下是我拼凑的内容:
SproutCore由Charles Jolley的公司Sproutit创建,作为2007年Mailroom产品的基础.Jolley后来加入了Apple,Sproutcore用于构建Mobile Me的原始Web应用程序.我们的任务是重新创建像Mac和iCal这样的Mac应用程序的体验,而今天使用iCloud继续在Sproutcore上继续努力.
Jolley离开Apple并在旧金山成立了一家名为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的新公司.
波浪号决定继续开发了SproutCore 2,但更改名称(以Amber.js然后Ember.js)和项目的目标.他们放弃了与Sproutcore向后兼容的长期目标.他们放弃了对任何类型的视图小部件库的支持,并专注于HTML/CSS用例,并将数据绑定与Handlebars模板语言紧密集成.
自从Strobe解散以来,Sproutcore 1.x的管理工作已经从Jolley转移到Tyler Keating,社区已经重新关注清理Sproutcore 1.x,当Sproutcore 2的想法出现时,它已经有一段时间处于一个不舒服的地方迫在眉睫.
这两项努力之间的有效区别是什么?
项目的相似之处在于它们具有非常相似的对象模型.它们也有类似的属性,观察者和绑定系统.
Sproutcore包括一个视图小部件库,如工具栏,列表视图,网格视图,按钮和主题系统,以及通过Javascript定义视图层和由库管理的绝对定位.它非常强大,可以在Web上创建桌面风格的应用程序.
Ember占地面积较小.它与Handlebars紧密集成.对于许多项目来说,它是Backbone的替代品.它旨在为客户端应用程序提供标准的应用程序架构,并消除样板代码.
这些差异可能会导致框架出现分歧,尽管已经考虑采用相同的核心.在那种情况下,Sproutcore将使用Ember的"金属"库和其他核心库.
什么是Sproutcore的未来,它现在在哪里?
这个帖子距离最近的贡献者的聚会还有几分钟的时间.
https://groups.google.com/group/sproutcore/browse_thread/thread/aacf00a6047a866e#
短期路线图的重点是巩固营销材料,演示和代码库.该团队最近发布了Sproutcore Showcase.有一个关于更换方丈,Ruby的构建工具SproutCore的,有一个Javascript(node.js的)的解决方案,这是目前正在积极发展普遍共识.还希望减少来自Apple等公司和更频繁发布的代码的"大"合并.最近发布了Sproutcore 1.8.
Ember会发展成为sproutcore的完全替代品吗?
不见得.Ember核心团队已明确表示他们无意亲自开发这些缺失的功能.社区成员可能将这些项目作为单独的项目开发 - flame.js是迄今为止最雄心勃勃的尝试.Ember的设计选择使其更容易与jQuery UI等项目集成,因此完全替换可能需要也可能不需要.
hvg*_*des 13
1)官方线是Sproutcore用于RIA,Ember.js用于"网络风格"应用程序.所以,当你看到iCloud时,想想Sproutcore,当你看到Twitter时,就会想到Ember.js.
从技术角度来看,Ember.js专注于更加模块化的代码和所谓的视图"语义模板".Sproutcore更加单一.
2)我不确定是否有人真的知道.如果看一下时间表,Charles Jolley就离开了Apple,成立了一家名为Strobe的公司,该公司开发了一个用于应用程序开发的全栈平台.Strobe聘请了Yehuda Katz和其他人,他们开始致力于减肥SC,以便在移动设备上运行得更好.大约一年后,Yehuda离开了公司Tilde公司,一个月后,Facebook以广泛认为的人才收购方式收购了Strobe.
所以按照你的意愿解释.
3)这是一个很好的问题. 最近有一次聚会,讨论了几件事.讨论的要点是:
可能还有其他我错过了
4)绝对不是替代品,虽然你可以使用任何框架来构建任何应用程序(毕竟这是所有的javascript).
| 归档时间: |
|
| 查看次数: |
14529 次 |
| 最近记录: |