Текущее состояние Sproutcore / Ember / Blossom / Sencha и мобильных устройств (или других платформ) - PullRequest
2 голосов
/ 14 марта 2012

Я просматривал Sproutcore, Ember и Blossom и другие конкурентные фреймворки (например, Sencha), чтобы выбрать для проекта приложения на стороне клиента HTML5.Состояние, информация и документация этих проектов немного фрагментированы и нуждаются в ясности, поэтому я представляю это сообществу.

Мой проект должен быть нативным HTML5-приложением со сложностью на уровне рабочего стола.нуждающийся в полной структуре приложения, которая будет хорошо работать на настольных компьютерах и работать с хорошей скоростью на мобильных устройствах с поддержкой сенсорного ввода.Виджеты должны быть нативными (не веб-подобными), но настраиваемыми, чтобы быть уникальными для приложения.

Вопросы / рамки Требование:

  1. Нативные противПриложения в веб-стиле. Framework должен облегчать создание нативного пользовательского интерфейса с возможностью создания собственного нативного ощущения (а не только полностью имитирующего mac / win / iOS).Часть текста, окружающего Ember, указывает на то, что он действительно предназначен для приложений в веб-стиле, которые без слоя пользовательского интерфейса, само собой разумеется.Такие фреймворки, как Sencha, могут ли они легко приспосабливать пользовательские виджеты?
  2. Mobile Appropreatness. Фреймворк должен быть подходящим для мобильных устройств и иметь средства для сенсорного ввода и жестов. Несколько замечаний, которые я видел в моемисследования показывают, что Sproutcore и Blossom не очень подходят для мобильных устройств, и что Ember лучше ориентируется на мобильные устройства (размер?).Не ясно, очень ли развиты сенсорные / мобильные библиотеки в Sproutcore / Blossom и будут ли они поддерживаться в текущем состоянии.(и компилировать в родной цвет не допустимо).С другой стороны, у таких фреймворков, как Sencha, есть ли у них возможность хорошо работать как на настольных компьютерах, так и на мобильных устройствах?
  3. Полнота фреймворка. Фреймворк должен быть довольно полной прикладной средой с настольным компьютером-подобно ожиданиям ОО и управлению для автоматической и эффективной синхронизации, управления и сериализации модели данных с сервером.Не уверен, что между Ember и Sproutcore есть большая разница, как другие усилия, такие как Sencha, складываются?

Ответы [ 2 ]

7 голосов
/ 14 марта 2012

Ваш вопрос охватывает много вопросов. Я возьму некоторые цитаты и отвечу на них напрямую.

Мой проект должен быть нативным HTML5-приложением с уровнем рабочего стола сложность, нуждающаяся в полной структуре приложения

Ember.js определенно позиционирует себя как фреймворк "в веб-стиле", а не как фреймворк RIA. Тем не менее, вы можете построить все, что захотите, но вы будете первопроходцем.

Sproutcore объявляет себя как структура RIA. У вас есть полный контроль над DOM, поэтому, если вы можете сделать это в браузере, вы можете сделать это в Sproutcore.

Ext-Js также является хорошим фреймворком для настольных ПК (Sencha Touch для мобильных устройств). Если вам нравится, как выглядят его примеры, то это хороший выбор. Конечно, вы можете настроить DOM и написать свои собственные виджеты.

Blossom - это в основном Sproutcore со слоем вида на основе холста. Это только что вошло в бета-версию, так что вы наверняка были бы первоклассными, если бы пошли с ней.

Таким образом, вы можете в основном использовать любую из платформ, которые вы упомянули для части RIA вашего предприятия. Я бы исключил Ember.js просто потому, что сама платформа предназначена для веб-стиля (например, твиттера), а не для приложений RIA (например, iCloud), а это не то, что вам нужно.

Виджеты должны быть родными (не веб-подобными), но настраиваемыми быть уникальным для приложения.

Все три оставшихся варианта могут сделать это. Если вам нравятся виджеты Senchas, это хороший выбор. Я не знаю, достаточно ли они родные для вас. Тем не менее, с любой из оставшихся платформ вы можете настроить DOM в соответствии с вашим сердцем.

Mobile Appropreatness. Framework should be appropreate for mobile devices

Это сложный вопрос. Sencha Touch (который является отдельным, но похожим на Ext-Js) очень популярен и выполняет свою работу. Это также перформанс; нетривиальное приложение отлично работало на моем оригинальном Droid (что меня удивило).

Sproutcore очень тяжелый вес. Он имеет мобильную поддержку (то есть для сенсорных событий), но вам нужно быть очень осторожным с созданным вами домом, чтобы не перегружать браузер. Я бы не выбрал Sproutcore для мобильных устройств, хотя вы могли бы, если бы вы были очень осторожны.

и компиляция на натуру не допускается

Это не кажется мне разумным. Чтобы было ясно, ни одна из этих платформ не работает изначально на мобильных устройствах; они ВСЕ работают в браузере. Blossom закрывается, так как API Canvas сопоставляется непосредственно с нативным API, что дает вам действительно нативное приложение. Единственный способ приблизиться - это использовать target-c / java для iO и Android.

Так что, в основном, на данный момент вы слева от Sencha (Ext-Js) и Blossom. Blossom по-прежнему в бета-версии, вы были бы первоклассными, если бы вы попробовали это. Sencha установлен, имеет отличную поддержку (поддержка Blossom хороша для irc) и большую базу разработчиков.

Так что Сенча - это выбор, если только вы действительно не хотите быть передовым и немного рисковать.

0 голосов
/ 16 мая 2012

Трой. Действительно, ember может работать с другой структурой слоя представления, такой как jQuery Mobile, которая может обеспечивать внешний вид и стиль приложения. Существует проект github: https://github.com/LuisSala/emberjs-jqm. На мой взгляд, если вам нужна очень крутая анимация, вы Можно использовать Blossom. Если вы хотите создать приложение, SC или Ember должны быть в порядке. Я выберу янтарь, потому что он слабо связан.

...