sproutcore vs javascriptMVC для разработки веб-приложений - PullRequest
9 голосов
/ 27 мая 2010

Я хочу использовать среду JavaScript с MVC для сложного веб-приложения (которое будет одним из набора связанных приложений и страниц) для интрасети в цифровых архивах. Я смотрю на SproutCore и JavascriptMVC. Я хочу выбрать один фреймворк и придерживаться его.

Кто-нибудь знает, каковы отличительные особенности при сравнении этих двух?

Я хочу что-то простое, понятное, что я могу легко настроить / взломать, и это не мешает мне слишком сильно, но в то же время дает мне основу для правильной организации моего кода и событий управляемое общество. Я также планирую использовать JQuery существенно.

Я знаю, что sproutcore поддерживается Apple, и похоже, что он становится все популярнее с каждым днем, и у него хороший зеленый сайт :), тогда как JavascriptMVC выглядит менее профессионально, с меньшим количеством последователей и меньшим импульсом.

Я сделал уроки для обоих, и SproutCore произвел на меня большее впечатление (в уроке по JMVC вы на самом деле не делаете ничего существенного), но где-то в глубине души я чувствую, что JMVC может быть лучше, потому что он не пытается и делает слишком много - он просто дает вам функциональность MVC, основанную на паре плагинов jquery, и вы можете использовать jquery для всего остального, поэтому он гибкий. В то время как у SproutCore, похоже, больше собственного API и т. Д., Что тоже неплохо ... но тогда вы как бы застряли в этом .... хммм, я в замешательстве:).

Любые мысли приветствуются.

Ответы [ 4 ]

9 голосов
/ 21 июля 2010

Будучи участником JavaScriptMVC, я чрезвычайно предвзят. Но я постараюсь дать лучший ответ, какой только смогу.

JavaScriptMVC также потребовались годы для разработки. Но вместо того, чтобы сосредоточиться на функциональности пользовательского интерфейса, он сосредоточился на слоях чуть ниже этого. Для этого есть несколько причин:

  1. Вы можете найти виджет jQuery для удовлетворения почти всех потребностей. Нет причин конкурировать с этими плагинами. Вместо этого JavaScriptMVC пытается работать с ними.
  2. Большинству людей нужны один или два пользовательских виджета / элемента управления. JavaScriptMVC хочет максимально упростить создание и обслуживание этих компонентов. '
  3. Гибкость + API. Я не уверен, как именно это сказать ... но вот мой лучший шанс ... С JavaScriptMVC мы хотели, чтобы каждый слой приложения был настолько простым для понимания и поддержки, насколько это возможно. Вот почему мы выбрали jQuery в качестве нашей низкоуровневой библиотеки. Его API - самая лучшая абстракция для всех возможных. Люди обычно переходят непосредственно из низкоуровневого API для создания виджета / элемента управления. Вот почему код большинства виджетов jQuery выглядит очень непохожим. Нам нужен средний уровень, который организует наш код и продвигает лучшие практики, обеспечивая при этом достаточную гибкость, чтобы удовлетворить практически любые требования. Таким образом, с JavaScriptMVC вы получаете очень прочные слои низкого и среднего уровня. Но вы не получаете виджеты.

JavaScriptMVC содержит тестирование, отчеты об ошибках и документацию, встроенную в фреймворк. Тестирование - самая впечатляющая часть. Он интегрировал тестирование селена и envjs.

Я бы порекомендовал использовать SproutCore, если ваши требования могут быть достаточно просты с SproutCore. Но если вы знаете jQuery, вам нужно создать множество пользовательских элементов управления или вам нужно действительно классное тестирование, используйте JavaScriptMVC.

8 голосов
/ 26 ноября 2010

Забавно, потому что всего месяц назад наша команда оценила именно эти 2 фреймворка лицом к лицу. В итоге мы выбрали JavaScriptMVC, и я работаю над этим около месяца.

Мне это нравится ... но я был ОГРОМНЫМ сторонником SproutCore. Я никогда не слышал ни об одном из этих фреймворков, пока мы их не оценили, но как только я увидел SproutCore и заглянул под капот, я был очень, очень впечатлен. Честно говоря, я не думаю, что есть что-то, что могло бы дать вам такую ​​силу, которую оно дает. Да, у вас будет кривая обучения, но это та вещь, которая позволяет одному человеку выполнять работу 5 или 10, как только вы ее знаете.

Так что я бы использовал SproutCore в одно мгновение.

Как говорится, JavascriptMVC (он же JMVC) хорош. Это на самом деле не дает вам тонны поверх самого jQuery. У вас все еще будет некоторая инфраструктура, которую можно построить самостоятельно (в зависимости от сложности ваших требований). Это как за, так и против. Одна приятная вещь в этом заключается в том, что, если вам нужно углубиться в детали какого-то фрагмента JMVC, вы можете ... он не настолько невероятно огромен, что он непроницаем.

В общем, с JMVC все в порядке. Но, на мой взгляд, в SproutCore нет ничего даже в этом эталоне.

2 голосов
/ 27 мая 2010

Я думаю, что основное различие между ними заключается в том, что SproutCore включает в себя графический интерфейс, а JMVC является чем-то низкоуровневым без какой-либо графики, поэтому, если вам нужен графический интерфейс, вы не можете использовать JMVC без включения других сценариев, таких как интерфейс jQuery или Плагины jQuery.

Вы сказали, что «JMVC может быть лучше, потому что он не пытается и не делает слишком много». Я не согласен с этим, потребовались годы, чтобы выпустить SproutCore 1.0, поэтому у разработчиков было время, чтобы сделать отличный продукт. .

Я предлагаю вам использовать SproutCore, возможно, вам придется больше учиться, вы потратите больше времени, чтобы потренироваться и понять все, но вы узнаете, как использовать очень хорошую среду, которая может быть полезна и для будущие проекты.

1 голос
/ 02 июня 2011

Sproutcore-2.0 устраняет ограничения пользовательского интерфейса и прекрасно работает с полностью пользовательскими приложениями.

http://blog.sproutcore.com/announcing-sproutcore-2-0/

http://blog.sproutcore.com/dispatches-from-the-edge-dropping-in-a-sproutcore-2-0-application/

...