Как я могу сделать ядро SmartGWT меньшим?

Как правило, можно было бы ожидать, что потеря производительности ляжет в другом направлении. Рекурсивные вызовы могут привести к конструкции дополнительных стековых фреймов; штраф за это варьируется. Кроме того, на некоторых языках как Python (более правильно, в некоторых реализациях некоторых языков...), можно столкнуться с пределами стека скорее легко для задач, которые Вы могли бы определить рекурсивно, такие как нахождение максимального значения в древовидной структуре данных. В этих случаях Вы действительно хотите придерживаться циклов.

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

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

6
задан skaffman 30 March 2010 в 07:19
поделиться

4 ответа

Unfortunately you cannot, as SmartGWT have already stated here the size will remain constant or even increase. I tried SmartGWT but because of this issue and 3rd party framework integration problems I chose another framework.

A possible solution to their problem would be to introduce a dynamic JavaScript loader like is present in ZK. I have used it in my enterprise projects and it works very well.

Nowadays for smaller applications I tend to use jQuery directly.

2
ответ дан 17 December 2019 в 00:10
поделиться

SmartGWT предназначен не для приложений Hello World, а для сложных корпоративных приложений, которые работают с множеством объектов и имеют множество экранов. В этом случае конечный предоставленный размер приложения SmartGWT сопоставим, если не меньше, чем размер, который вы получили бы при работе с любой другой технологией.

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

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

5
ответ дан 17 December 2019 в 00:10
поделиться

Если след действительно важен для вас, вы можете подумать о Ext GWT. В Ext GWT все сделано на Java (и скомпилировано с помощью GWT). Технически он может удалить коды, на которые ваше приложение не рассчитывает.

-1
ответ дан 17 December 2019 в 00:10
поделиться

Как сказал Чарльз, вы должны помнить, что вы фактически создаете многофункциональный клиент на одной HTML-странице, поэтому он загружается только один раз. Вы можете предварительно загрузить библиотеки на странице входа, где никто не заметит этого, пока он вводит учетные данные.

Взгляните на http://www.smartclient.com/docs/7.0rc2/a/b/c/go.html#group..networkPerformance

1
ответ дан 17 December 2019 в 00:10
поделиться
Другие вопросы по тегам:

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