Как кто-то, у кого есть приложение Sproutcore и приложение Ember, близкое к производственному запуску, я постараюсь ответить на ваши вопросы (для ясности переупорядочен). Все нижеприведенное - это то, что я наблюдал без внутреннего знания. Отчасти это предположение, поэтому я включил режим wiki для этого ответа, чтобы более информированные люди могли исправить детали.
Что такое история раскола?
Вот что я собрал:
SproutCore был создан компанией 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 и код наблюдателя значения ключа. Иегуда Кац и Том Дейл были ведущими разработчиками 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 и абсолютного позиционирования, управляемого библиотекой. Это очень мощный инструмент для создания приложений в стиле рабочего стола в Интернете.
Ember имеет меньшую площадь. Он имеет тесную интеграцию с рулем. Это альтернатива Backbone для многих проектов. Он направлен на обеспечение стандартной архитектуры приложений для клиентских приложений и устранение стандартного кода.
Эти различия, вероятно, приведут к расхождению рамок, хотя было принято решение принять то же ядро. В этом сценарии Sproutcore будет использовать «металлическую» библиотеку Эмбера и, возможно, другие основные библиотеки).
Каково будущее 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, поэтому полная замена может или не может быть необходимой.