43 votes

Différences entre Sproutcore et Ember

J'avais sélectionné sproutcore comme un cadre de droit avant de Braise fourche de sproutcore. Je suis resté incertain de la façon dont aller un peu frustré dans l'apparente dilution des efforts causés par la fragmentation en tant que rarement ne fait que conduire à de meilleures choses. Les efforts de Sproutcore 2.0 (maintenant Braise) semble aller dans la bonne direction pour la modularité et la réutilisation des autres javasript composants (jQuery), mais il est vraiment pas clair à partir d'une vue de l'extérieur pourquoi les deux efforts doivent se séparer... ne pourrions-nous pas avoir de code modulaire, et une bibliothèque de widgets module de trop?

Les principales questions sont:

  1. Quels sont les différences entre les deux démarches?
  2. Qu'est-ce que l'histoire de la scission?
  3. Qu'est-ce que sproutcore avenir, où est-il maintenant?
  4. Est de Braise va se développer pour être un remplacement complet pour sproutcore?

80voto

Luke Melia Points 5887

Comme quelqu'un qui a à la fois un Sproutcore application et une Braise app près d'un lancement en production, je vais prendre un coup de couteau à vos questions (re-commandé pour plus de clarté). Tous les ci-dessous est ce que j'ai observé avec des pas à l'intérieur de la connaissance. Un peu de c'est de la spéculation, j'ai donc activé le mode wiki sur cette réponse, de sorte que plus de personnes informées pouvez corriger des détails.

Qu'est-ce que l'histoire de la scission?

Voici ce que j'ai reconstitué:

SproutCore a été créé par Charles Jolley de la société Sproutit comme la base de leur salle du Courrier produit en 2007. Jolley plus tard rejoint Apple et Sproutcore a été utilisé pour construire le site web d'origine apps pour Mobile Me. Le mandat était de recréer l'expérience de Mac applications comme Mail et iCal, et que les efforts se poursuivent sur Sproutcore aujourd'hui avec iCloud.

Jolley Pomme à gauche et a créé une société appelée Stroboscope à San Francisco avec une vision en partie à l'effet de levier Sproutcore. L'équipe de Stroboscope décidé que Sproutcore ne collait pas beaucoup de Web 2.0 les cas d'utilisation assez bien, et était trop d'un tout-ou-rien de proposition pour les développeurs, donc ils ont lancé un effort vers la Sproutcore 2. Les objectifs de Sproutcore 2 ont été modularité, et plus HTML-connaissance de l'approche qui serait plus accessible pour les développeurs web partout. Épine dorsale du début de la traction a été le cadre de cette analyse.

Après avoir lutté pour déplacer le Sproutcore codebase pour concrétiser cette vision, le Stroboscope équipe a décidé de repartir sur de Sproutcore 2 (nom de code interne de l'Ambre). Charles a écrit le cœur d'Exécuter la Boucle et la clé-valeur observateur code. Yehuda Katz et Tom Dale étaient en tête de Stroboscope de développeurs sur le projet. La vision à l'époque était que Stroboscope et la communauté serait finalement port sur la plupart des caractéristiques et des fonctionnalités de Sproutcore 1.x de Sproutcore 2.

Stroboscope les efforts des entreprises n'ont pas de rendement résultats escomptés, et la société a pesé ses options, éventuellement, de décider sur l'acquisition de Stroboscope de talent, par Facebook. Avant de ce qui s'est passé, un certain nombre de Stroboscope les employés, y compris Katz et Dale, se séparent pour former une nouvelle société appelée Tilde.

Tilde a décidé de continuer à développer Sproutcore 2, mais de changer le nom (pour Amber.js et puis Ember.js) et les objectifs du projet. Ils ont abandonné les objectifs à long terme de compatibilité ascendante avec les Sproutcore. Ils ont abandonné la prise en charge pour tout type de vue de la bibliothèque de widgets et axé sur le HTML/CSS de cas d'utilisation grâce à l'intégration étroite de la liaison de données avec le Guidon création de modèles de langue.

Depuis la dissolution de Stroboscope, de l'intendance de Sproutcore 1.x est passé de Jolley à thomas Keating, et la communauté a re-concentre sur le nettoyage de Sproutcore 1.x, qui était dans un endroit inconfortable pendant un certain temps, quand l'idée de Sproutcore 2 a été imminente.

Quels sont les différences entre les deux démarches?

Les similitudes dans les projets qu'ils ont des fonctions très similaires, les modèles d'objet. Ils ont des propriétés similaires, des observateurs et des systèmes de reliure, trop.

Sproutcore comprend une bibliothèque de composants graphiques de vue comme les barres d'outils, les vues de liste, de la grille de points de vue, des boutons, et la thématisation du système, et de mettre l'accent sur la définition de la couche de la vue via Javascript et le positionnement absolu géré par la bibliothèque. Il est très puissant pour la création de bureau de style applications sur le web.

Braise a une plus petite empreinte. Il dispose d'une intégration étroite avec le Guidon. C'est une alternative à l'épine Dorsale de nombreux projets. Il vise à fournir une norme de l'architecture de l'application côté client apps et de les éliminer du code réutilisable.

Ces différences sont susceptibles de mener à des cadres divergentes, bien qu'il y a eu une certaine considération de l'adoption de la même base. Dans ce scénario, Sproutcore serait d'utiliser la Braise du "métal" de la bibliothèque et peut-être d'autres libs).

Qu'est-ce que Sproutcore de l'avenir, où est-il maintenant?

Ce fil a quelques minutes de l'un contributeur récent du meetup.

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

Le court-terme de la feuille de route est de se concentrer sur la solidification de la matériel de marketing, des démos, et de la base de code. L'équipe a récemment publié la Sproutcore Vitrine. Il existe un consensus général sur le remplacement de l'abbé, le Rubis construire des outils pour Sproutcore, avec un Javascript(node.js) à base de solution, qui est maintenant en cours de développement. Il y a aussi une volonté pour moins de "gros" fusionne de code à partir de sociétés comme Apple et de plus en plus fréquentes sorties. Sproutcore 1,8 a été publié récemment.

Est de Braise va se développer pour être un remplacement complet pour sproutcore?

Probablement pas. La Braise à l'équipe de base a été clair qu'ils n'ont pas l'intention de personnellement le développement de ces fonctionnalités manquantes. Il est possible que les membres de la communauté peuvent les développer en tant que projet distinct -- flame.js est la tentative la plus ambitieuse à ce jour. Braise de choix de conception de la rendre plus facile à intégrer avec des projets comme jQuery UI, donc un remplacement complet peut ou peut ne pas être nécessaire.

13voto

hvgotcodes Points 55375

1) La ligne officielle est Sproutcore est destiné à Ria et de Ember.js est destiné pour le web "style" des applications. Ainsi, lorsque vous regardez iCloud pense Sproutcore et quand vous regardez Twitter pense Ember.js.

Du point de vue technique, Ember.js est porté sur plus modulaire code et que l'on appelle "la sémantique des modèles" pour les vues. Sproutcore est plus monolithique.

2) je ne suis pas sûr que quelqu'un sait vraiment. Si vous regardez le calendrier, Charles Jolley quitté Apple pour former une société appelée Stroboscope, qui a développé un "full-stack" plate-forme pour le développement de l'application. Stroboscope embauché Yehuda Katz et autres, qui ont commencé à travailler sur maigrir SC donc, il serait mieux fonctionner sur les appareils mobiles. Après environ un an, Yehuda gauche pour former la société Tilde, et un mois après que Facebook a acheté Stroboscope dans ce qui est largement considéré comme une acquisition de talents.

Donc l'interpréter comme vous le voulez.

3) C'est une excellente question. Récemment, il y avait un meetup et plusieurs choses ont été discutées. Principaux points abordés ont été:

  • La SC est encore bien vivante
  • Améliorer la documentation (nous avons entendu que, pour un certain temps).
  • Garder les bonnes parties du code qui a été introduit post 1.4.5 dans le développement de SC2 et de se débarrasser de ou de passer à des modules optionnels d'autres trucs (comme les Modèles)
  • nouveau javascript outils de construction
  • complètement nouvelle toile de vue de la couche, appelée Fleur.
  • Une sorte de fondation/le soutien d'une société de la sp

Il y a probablement d'autres que j'ai raté

4) Certainement pas un remplacement, mais vous pouvez utiliser n'importe quel framework pour construire n'importe quelle application (c'est du javascript, après tout).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X