Ответ 1
Как у кого-то, у кого есть приложение Sproutcore и приложение Ember рядом с производственным запуском, я возьму на себя ваши вопросы (переупорядоченный для ясности). Все нижеследующее - это то, что я наблюдал без внутренних знаний. Немного о нем - о спекуляции, поэтому я включил режим вики на этот ответ, чтобы более информированные люди могли исправлять детали.
Что такое история раскола?
Вот что я собрал вместе:
SproutCore был создан компанией Charles Jolley Sproutit в качестве основы для своего продукта Mailroom в 2007 году. Позднее Джолли присоединился к Apple, а Sproutcore был использован для создания оригинальных веб-приложений для Mobile Me. Мандат состоял в том, чтобы воссоздать опыт приложений Mac, таких как Mail и iCal, и эти усилия продолжаются на Sproutcore сегодня с iCloud.
Джолли покинул Apple и сформировал компанию Strobe в Сан-Франциско, в которой видение частично использовалось Sproutcore. Команда Strobe решила, что Sproutcore недостаточно подходит для многих случаев использования Web 2.0, и это было слишком много для всех разработчиков или разработчиков, поэтому они приложили усилия к Sproutcore 2. Цели Sproutcore 2 были модулярными, и более HTML-подход, который будет более доступен для веб-разработчиков во всем мире. Ранняя трактовка базовой линии была частью этого анализа.
После попыток переместить кодовую базу Sproutcore в сторону этого видения команда Strobe решила начать новую работу с Sproutcore 2 (внутреннее кодовое имя Amber). Чарльз написал основной цикл Run Loop и ключевой код наблюдателя. Yehuda Katz и Tom Dale были ведущими разработчиками Strobe в проекте. Видение в то время состояло в том, что Strobe и сообщество в конечном итоге перенесли большинство функций и функций от Sproutcore 1.x до Sproutcore 2.
Усилия в бизнесе Strobe не привели к ожидаемым результатам, и компания взвесила свои возможности, в конечном итоге решив приобрести талант Strobe от Facebook. Прежде чем это произошло, ряд сотрудников Strobe, включая Каца и Дейла, откололись, чтобы сформировать новую компанию под названием Tilde.
Тильда решила продолжить разработку Sproutcore 2, но изменила название (на Amber.js, а затем Ember.js) и цели проекта. Они отбросили долгосрочные цели обратной совместимости со Sproutcore. Они отказались от поддержки любой вид виджетной библиотеки и сосредоточились на использовании кода HTML/CSS с плотной интеграцией связывания данных с языком шаблонов Handlebars.
С момента роспуска Strobe руководство Sproutcore 1.x перешло от Джолли к Тайлеру Китингу, и сообщество вновь сосредоточилось на очистке Sproutcore 1.x, которое некоторое время находилось в неудобном месте, когда идея Sproutcore 2 надвигается.
Каковы эффективные различия между этими двумя усилиями?
Сходство в проектах заключается в том, что они имеют очень похожие объектные модели. У них есть аналогичные свойства, системы наблюдения и привязки.
Sproutcore включает в себя библиотеку виджетов, таких как панели инструментов, виды списков, виды сетки, кнопки и систему тематики, а также фокусировку на определении уровня представления через Javascript и абсолютное позиционирование, управляемое библиотекой. Он очень эффективен для создания настольных приложений в Интернете.
У Эмбера меньше места. Он имеет плотную интеграцию с Handlebars. Это альтернатива Backbone для многих проектов. Он предназначен для обеспечения стандартной архитектуры приложений для клиентских приложений и устранения шаблона кода.
Эти различия, вероятно, приведут к тому, что рамки будут расходящимися, хотя было некоторое рассмотрение вопроса о принятии одного и того же ядра. В этом сценарии Sproutcore будет использовать библиотеку Ember "metal" и, возможно, другие базовые библиотеки).
Что такое будущее Sproutcore, где он сейчас?
В этой ветке есть минуты от недавней встречи с разработчиками.
https://groups.google.com/group/sproutcore/browse_thread/thread/aacf00a6047a866e#
Краткосрочная дорожная карта должна сосредоточиться на укреплении маркетинговых материалов, демонстраций и кодовой базы. Недавно команда выпустила Sproutcore Showcase. Существует общее мнение о замене abbot, инструментов сборки Ruby для Sproutcore, на решение Javascript (node.js), которое сейчас активно развивается. Существует также стремление к меньшему количеству "больших" объединений кода от компаний, таких как Apple, и более частых выпусков. Недавно был выпущен Sproutcore 1.8.
Будет ли разработка Ember стать полной заменой sproutcore?
Скорее всего. Основная команда Ember поняла, что у них нет намерения лично разрабатывать те недостающие функции. Возможно, что члены сообщества могут развить их как отдельные проекты - flame.js - самая амбициозная попытка. Выбор дизайна Ember облегчает интеграцию с такими проектами, как jQuery UI, поэтому полная замена может быть или не понадобиться.