Каковы лучшие стратегии того, чтобы пользоваться несколькими библиотеками AJAX?

Вам нужно увеличить размер памяти в Jdeveloper, перейдите в setDomainEnv.cmd.

set WLS_HOME=%WL_HOME%\server    
set XMS_SUN_64BIT=**256**
set XMS_SUN_32BIT=**256**
set XMX_SUN_64BIT=**3072**
set XMX_SUN_32BIT=**3072**
set XMS_JROCKIT_64BIT=**256**
set XMS_JROCKIT_32BIT=**256**
set XMX_JROCKIT_64BIT=**1024**
set XMX_JROCKIT_32BIT=**1024**

if "%JAVA_VENDOR%"=="Sun" (
    set WLS_MEM_ARGS_64BIT=**-Xms256m -Xmx512m**
    set WLS_MEM_ARGS_32BIT=**-Xms256m -Xmx512m**
) else (
    set WLS_MEM_ARGS_64BIT=**-Xms512m -Xmx512m**
    set WLS_MEM_ARGS_32BIT=**-Xms512m -Xmx512m**
)

и

set MEM_PERM_SIZE_64BIT=-XX:PermSize=**256m**
set MEM_PERM_SIZE_32BIT=-XX:PermSize=**256m**

if "%JAVA_USE_64BIT%"=="true" (
    set MEM_PERM_SIZE=%MEM_PERM_SIZE_64BIT%
) else (
    set MEM_PERM_SIZE=%MEM_PERM_SIZE_32BIT%
)

set MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize=**1024m**
set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=**1024m**
7
задан Rob W 27 December 2011 в 22:36
поделиться

7 ответов

Вы могли пользоваться всеми теми библиотеками, но я настоятельно рекомендую против него. Загрузка и выполнение так большого количества JavaScript будут, скорее всего, дросселировать браузер и замедлять опыт Вашего пользователя. Было бы намного лучше с точки зрения пользователя и разработчик выбрать того. Меньше переключения контекста/архитектуры и меньше кода для поддержания.

Как другие ответы сказали, большинство не конфликтует.

Обратитесь на Исключительный сайт Производительности Yahoo! за большим количеством информации.

9
ответ дан 6 December 2019 в 09:23
поделиться

Вы могли использовать Google AJAX Libraries API. Это обеспечивает общую распределительную сеть и загружающуюся архитектуру для jQuery, прототипа, script.aculo.us, MooTools и додзе

4
ответ дан 6 December 2019 в 09:23
поделиться

YUI довольно сильно namespaced, так не должен сталкиваться с другими библиотеками.

Как упомянуто можно запустить jQuery ни в каком режиме конфликта.

Прототип действительно имеет некоторые проблемы, играющие по правилам с другими библиотеками частично, потому что это (или он привык для), изменяет базовые объекты как Array. Protosafe пытается решить те проблемы.

Script.aculo.us является просто библиотекой виджета, которая располагается сверху Прототипа, таким образом, те два должны, очевидно, играть приятно вместе.

Все это означает, что Вы могли использовать YUI, jQuery, Prototype & Script.aculo.us в Вашем приложении, но можно найти, что пользование единственной библиотекой делает намного легче поддержать вещи.

3
ответ дан 6 December 2019 в 09:23
поделиться

Я - сторонник jQuery также, так простите мое отсутствие знаний о других, но...

То, что делает jQuery настолько большим, является режимом без конфликтов, так например, Вы сделали бы:

$('#foobar').whatever();

С режимом без конфликтов Вы сделали бы это:

var jq = jQuery.noConflict();
jq('#foobar').whatever();

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

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

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

2
ответ дан 6 December 2019 в 09:23
поделиться

Я использую jQuery и файл JavaScript только версия инструментария Microsof ajax рядом в проекте прямо сейчас.

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

1
ответ дан 6 December 2019 в 09:23
поделиться

Лучшая стратегия не состоит в том, чтобы пользоваться несколькими библиотеками. Заманчиво хотеть бросить больше библиотек в проблему, но это неэффективно, подвержено ошибкам, и делает Ваш код тяжелее для поддержания другими.

В большинстве случаев необходимо смочь избегать использования нескольких библиотек путем понимания проблемной области и какая библиотека поможет Вам лучше всего решить ее. Существует также несметное число плагинов и расширений для всех этих библиотек.

Например, JQuery поддерживает междоменные вызовы JSONP прямо из поля и имеет хорошую библиотеку виджета в JQueryUI, Прототип не делает.

$.getJSON('http://anothersite.com/mashup.json?callback=?', function(data) { });

Прототип имеет действительно хорошую поддержку OO, и это легко пересечь DOM, но испытывает недостаток в части междоменной функциональности, требуемой создать виджеты и мэшапы.

var Foo =  Class.create({  
  initialize: function(name) {
    this.name = name;
  }   
});

var Bar = Class.create(Foo, {
  initialize: function($super, name)  {
     $super(name);
   }
});

Mootools имеет большие эффекты, хорошую поддержку OO, действительно твердые виджеты и перекрестный доменный запрос, но (и это могло бы просто быть моим впечатлением), сообщество разработчиков не является столь же совместным и социальным с глобальным сообществом (за пределами mootools) как другие сообщества (Прототип раньше был этим путем). Это могло быть результатом их основного разработчика (разработчиков), живущего за пределами США, и таким образом не может принять участие как много конференций и участвовать в большем сообществе. Я не позволил бы этому удержать Вас полностью, хотя, но это - что-то для учета.

1
ответ дан 6 December 2019 в 09:23
поделиться

Ruby on Rails использует и прототип и Scriptaculous по умолчанию, поскольку существует мало перекрытия между двумя. Я также использовал yui отрывки в дополнение к этому и никогда не имел проблемы. Время загрузки является проблемой, но библиотеки обычно кэшируются, таким образом, это находится только на первой загруженной странице.

0
ответ дан 6 December 2019 в 09:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: