|
|
|
использование "пространства имен" в jQuery
|
|||
|---|---|---|---|
|
#18+
(сразу извиняюсь, за возможно неправильную терминологию, но надеюсь, что вопрос мой понятен будет) У меня есть набор AJAX методов, которые выступают API. Грубо говоря методы такие (url): Код: sql 1. 2. 3. 4. 5. вместо Код: sql 1. и Код: sql 1. хочется как-то более унифицированно обращаться к API: Код: sql 1. 2. нормально ли будет такой подход и какие недостатки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2013, 08:10 |
|
||
|
использование "пространства имен" в jQuery
|
|||
|---|---|---|---|
|
#18+
scymaks, Ну, а о каких недостатках может идти речь в абстрактном примере? В конечном итоге, все зависит от реализации и контекста. Например, в АСП.Нет подобное реализовано: семейство функций по именам методов генерятся автоматически: Namespace.MethodName([param1, param2, ...,] callback); Если удобно - пуркуа бы не па? Непонятно только зачем это пристегивать к jQuery... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2013, 10:06 |
|
||
|
использование "пространства имен" в jQuery
|
|||
|---|---|---|---|
|
#18+
scymaks, пишем плагин для jQuery ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2013, 12:48 |
|
||
|
использование "пространства имен" в jQuery
|
|||
|---|---|---|---|
|
#18+
Только действительно непонятноiConstзачем это пристегивать к jQuery... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2013, 12:50 |
|
||
|
использование "пространства имен" в jQuery
|
|||
|---|---|---|---|
|
#18+
iConst, То есть можно делать вот так: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. а потом Код: javascript 1. 2. 3. так? Это нормальный подход? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2013, 13:04 |
|
||
|
использование "пространства имен" в jQuery
|
|||
|---|---|---|---|
|
#18+
scymaks, это классический подход организации пространства имён в JavaScript. Только зачем Вы response на верхний уровень пробрасываете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2013, 13:36 |
|
||
|
использование "пространства имен" в jQuery
|
|||
|---|---|---|---|
|
#18+
scymaksiConst, То есть можно делать вот так: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. а потом Код: javascript 1. 2. 3. так? Это нормальный подход?Модульность - нормальный подход. В принципе - бест прексис. Но в данном примере (опять же - неизвестен контекст): 1. проброс jQuery совершенно бессмысленен - он глобален. 2. оборачивание в замыкание - не нужно: API тоже глобальный объект В этом ключе уместней было бы что-то вроде: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Но все равно - это переделка вашего кода на лету. И не факт, что правильно. Если код пишется вручную - одно, если это генерится сервером - другое. Если работаем исключительно внутри модуля - можно не возвращать объект API. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2013, 14:59 |
|
||
|
использование "пространства имен" в jQuery
|
|||
|---|---|---|---|
|
#18+
поправка Код: javascript 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2013, 15:11 |
|
||
|
использование "пространства имен" в jQuery
|
|||
|---|---|---|---|
|
#18+
iConst, что-то у меня не получается так сделать... Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. почему a.f и a.g выполняют один и тот же код? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2013, 09:44 |
|
||
|
использование "пространства имен" в jQuery
|
|||
|---|---|---|---|
|
#18+
scymaks, потому что на момент вызова i - это g. Изучите замыкания. Начните отсюда . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2013, 10:13 |
|
||
|
использование "пространства имен" в jQuery
|
|||
|---|---|---|---|
|
#18+
scymaksхочется как-то более унифицированно обращаться к API: Код: sql 1. 2. нормально ли будет такой подход и какие недостатки? Такой способ называется RFC/RPC - Remote Function/Procedure Call - и часто используется на практике. Все флексовские фреймворки используют такой подход для дерганий методов на сервере. Для javascript я использовал DWR - это фреймворк как раз для этого используется, правда, он заточен исключительно для Java на сервере. Думаю, для других языков аналогичные продукты тоже должны быть. Немного крутил его, реализация не такая примитивная - там гибкость достигается за счет того, что на сервере определяются методы, которые можно "дергать" с клиента (в т.ч. аннотациями) и при компиляции и запуске проекта создается бин, где собран весь референс на методы. А когда клиент обращается за требуемыми js-файлами, сервер динамически их отдает. Таким образом, на клиенте нет жесткой привязки к конкретным прописанным методам - это делает проект крайне гибким. Но сам js-функционал статичен, все делает сервер. Библиотека достаточно большая, там много всякого сопутствующего, в том числе server push на long polling, но проект зарекомендовал себя неплохо - пожалуй, самое популярное решение в данной области. Что мне импонирует еще в нем, так это еще одно удобство: к примеру, имеем форму на странице; при корректном вводе страница или перегрузится, или загрузится новая, но вот валидацию часто делают через ajax - юзабилити выше. Однако при таком подходе (если ничего не предпринимать) данные в строках ввода не сохраняются для дальнейшего браузер-suggestion, в том числе хранение данных форм, что напрягает. Если нужна динамическая валидация и автозаполнение форм, то приходится задействовать схему взаимодействия не через ajax, а через target формы в лице iframe (можно и динамического) - это на корню убивает всю прелесть использования ajax за его неприменимостью. А вот используя DWR, удается еще и рыбку съесть - форма отправлена путем вызова референсного серверного метода, возвращен ответ сервера, можно задействовать кучу хандлеров и автозаполнение форм работает. Можно, конечно, и самому ... но из коробки приятнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2013, 13:45 |
|
||
|
использование "пространства имен" в jQuery
|
|||
|---|---|---|---|
|
#18+
IDVsbruck, У нас как раз сервер на Java (Tomcat). Но сейчас проект уже в стадии завершения, в будущем проекте обязательно попробую этот framework! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2013, 19:51 |
|
||
|
использование "пространства имен" в jQuery
|
|||
|---|---|---|---|
|
#18+
О! Тогда это именно оно. Запуск за 3 минуты, море примеров на родном сайте, адаптация под любой серверный фреймворк (я к спрингу его цеплял), аннотационное декларирование. Правда, на клиенте у них только или нативное использование, или под DOJO. Но в отсутствии зависимостей от другого продукта есть свои плюсы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2013, 20:11 |
|
||
|
|

start [/forum/topic.php?fid=22&fpage=145&tid=1448876]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 233ms |
| total: | 370ms |

| 0 / 0 |
