2013-08-28 8 views
4

Я пробовал использовать PhoneJS - это довольно легко начать, и, кажется, обеспечивает хорошую структуру. Тем не менее, я обычно предпочитаю избегать предустановленных фреймворков, поскольку они ограничивают меня гибко. Мои основные 2 проблемы являются:Каковы преимущества PhoneJS для обычного приложения backbonejs/HTML5?

  1. PhoneJs использует Jquery, в то время как много людей, используя зепто рекомендую для повышения производительности
  2. Могу ли я использовать собственные плагин trigger.io/phonegap?
  3. Как правило, следует избегать использования «больших» фреймворков для мобильных приложений (по соображениям производительности) - вот почему некоторые люди против JQuery Mobile. PhoneJS довольно большой. Есть ли у кого-нибудь опыт работы с PhoneJS?
  4. Рамки уменьшают гибкость - как легко настроить PhoneJS/расширить?
+0

http://www.codefessions.com/2012/08/performance-of-jquery-compatible-mobile.html –

+0

интересный ... Вы пробовали использовать платформу приложений? – EugeneMi

ответ

14

1. PhoneJs использует Jquery, в то время как много людей, используя зепто рекомендую для повышения производительности

Если вы установите на использовании зепто, несмотря на то, что certain benchmarks показывают, что он не выполняет любой лучше, чем jQuery в целом, вполне вероятно, что вы сможете добавить его в jQuery без особых трудностей. Zepto - это клон jQuery с кодом, который обрабатывает крайние случаи для старых браузеров. Поскольку вы разрабатываете для мобильных устройств, я подозреваю, что это не проблема. Foundation 4 framework, как раз в качестве примера, позволяет вам выбирать между ними.

2. Могу ли я использовать родные плагины trigger.io/phonegap?

Нет причин, по которым вы не могли использовать PhoneJS для структурирования своего кода и PhoneGap ИЛИ Trigger.io для сборки, упаковки и развертывания. PhoneJS и PhoneGap/Trigger.io - это рамки, которые направлены на решение совершенно разных (но дополнительных) проблем. Фактически, PhoneJS page специально упоминает упаковочные приложения, используя PhoneGap. Вы, безусловно, сможете в полной мере использовать API и плагины, предлагаемые любым из двух (PhoneGap или Trigger.io), которые вы решили использовать с PhoneJS.

3. Как правило, следует избегать использования «больших» фреймворков для мобильных приложений (по соображениям производительности) - вот почему некоторые люди против JQuery Mobile. PhoneJS довольно большой. Есть ли у кого-нибудь опыт работы с PhoneJS?

Помимо влияния на время загрузки, которое не будет проблемой, если вы используете trigger.io/PhoneGap для упаковки своего кода в качестве родного приложения, необязательно корреляция между размером рамки и качество исполнения. Насколько я понимаю, основная проблема с jQuery mobile - это размер маркировки, которую он создает для отображения своих компонентов пользовательского интерфейса (link). Тем не менее, я недавно использовал jQuery mobile на мобильном приложении, упакованном с помощью PhoneGap, и производительность была прекрасной. По всей видимости, я ожидаю, что PhoneJS будет таким же.

Обратите внимание, что любой ответ, который вы получите относительно выполнения структуры от кого-то, кто использовал его, скорее всего, будет довольно субъективным. Если вас это волнует, лучшим предложением было бы загрузить фреймворк, использовать его для прототипа представительного подмножества функциональности вашего приложения и протестировать его на самом низком устройстве, которое вы планируете использовать.

4. Рамки уменьшают гибкость - насколько легко PhoneJS настраивать/расширять?

Хорошая структура может ограничить вашу гибкость, но, я бы сказал, положительно. Это побудит вас структурировать ваш код, чтобы он был согласованным, десвязным и поддерживаемым. Зачем тратить время на изобретательство колеса, когда кто-то уже проделал для вас всю тяжелую работу?

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

PhoneJS состоит из набора компонентов пользовательского интерфейса и Knockout MVVM framework, поэтому он примерно аналогичен сочетанию jQuery mobile и Backbone. Если вам не нравятся компоненты пользовательского интерфейса, вы можете отредактировать код, чтобы улучшить их, или вообще не использовать их. Вы получите представление о гибкости нокаута, посмотрев документацию, но, ссылаясь на мой первый пункт, если вы обнаружите, что сражаетесь с ним, вы, вероятно, не получаете от него ничего лучшего.


TLDR: Человек лучше всех оценить рамки, является ли хорошо подходит для ваших требований, с точки зрения производительности и гибкости, вы. Загрузите его, посмотрите на код, поиграйте с ним, прототипируйте некоторые функции самостоятельно, а затем принимайте решение на основе вашего опыта.

+0

спасибо за ввод Zepto против JQuery. Было надеяться найти кого-то, кто действовал, по-прежнему, используя PhoneJS. – EugeneMi

+0

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