Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 21.04.2015, 12:40
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Сообщение от xintrea Посмотреть сообщение

Поэтому вопрос 1 - имеет ли смысл использовать ZendFramework или там Yii или там CodeIgniter? Или это будет сплошной оверхед? Достаточно ли просто пользоваться на сервере возможностями PHP плюс какой-нибудь ORM?

Вопрос 2 - где и как хранить код объектов ExtJS? Хранить как статику в в видет простых файлов в директории? Хранить в директории видов PHP-фреймверка и генерировать JS-код PHP-фреймверком? Какие-то смешанные техники?

Вопрос 3 - имеет ли смысл использовать совместно с ExtJS библиотеку JQuery?

В общем, расскажите, как у вас устроены приложения с ExtJS.



1) Ext JS работает с сервером при помощи RESTfull. Этот протокол является основным для Ext, но не обязательным. Этот протокол хорошо поддерживает Zend Framework 2. Там все уже есть. Я лично сам так и соединяю клиент и сервер. Работает на ура.

2) Клиентскую часть на Ext можно хранить в рамках приложения на Zend Framework 2, а можно хранить вообще в другом месте. Как удобнее разработчику. Я генерирую при помощи Zend Framework 2 только первый index.html чтобы туда заложить настройки Ext-приложения.

3) Не имеет. Но мне больше нравится JQuery, чем Ext, в плане работы с селекторами. Поэтому я их иногда смешиваю.
Ответить с цитированием
  #12 (permalink)  
Старый 21.05.2015, 22:13
Аватар для nohuhu
Профессор
Отправить личное сообщение для nohuhu Посмотреть профиль Найти все сообщения от nohuhu
 
Регистрация: 21.05.2015
Сообщений: 321

Сообщение от khusamov Посмотреть сообщение
1) Ext JS работает с сервером при помощи RESTfull. Этот протокол является основным для Ext, но не обязательным.
Поправка: Ext JS работает с сервером при помощи Proxy, которых есть много разных на любой вкус. Помимо REST в коробке есть ещё JsonP и Ext.Direct. Я всегда пропагандирую последний, т.к. на мой взгляд RPC интерфейсы имеют массу преимуществ перед REST во многих приложениях, и изрядно недооценены.

Можно к этому добавить, что если штатные варианты транспорта чем-то не устраивают, то вам никто не мешает написать свой вариант прокси. Как примеры можно привести SOAP и AMF, которые хоть и не идут в штатной коробке Ext JS, но доступны как пакеты в Sencha Complete.
Ответить с цитированием
  #13 (permalink)  
Старый 21.05.2015, 22:42
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Да, действительно. Правда работая с Ext у меня сложилось ощущение что именно RESTfull для них самый главный.
Ответить с цитированием
  #14 (permalink)  
Старый 21.05.2015, 23:43
Аватар для nohuhu
Профессор
Отправить личное сообщение для nohuhu Посмотреть профиль Найти все сообщения от nohuhu
 
Регистрация: 21.05.2015
Сообщений: 321

RESTful интерфейсы очень просто сляпать по-быстрому для примеров, именно поэтому они и доминируют и в документации, и собственно в примерах кода.

Для больших живых приложений ситуация не совсем совпадает. Да, правильно спроектированный RESTful интерфейс может решить все или почти все задачи, но кто и где видел правильно спроектированный RESTful интерфейс? Я вот лично не видел, везде хак на косяке и костылём подпирает.

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

Хотя я конечно понимаю, что "просто бери и используй" не очень интересно, RESTful велосипеды изобретать гораздо увлекательней. ;)
Ответить с цитированием
  #15 (permalink)  
Старый 21.05.2015, 23:46
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Спасибо за ответ. В следующем проекте обязательно попробую RPC вместо REST. А то я RPC так, теоретически знаю что он есть, как соап и прочее.
Ответить с цитированием
  #16 (permalink)  
Старый 21.05.2015, 23:48
Аватар для nohuhu
Профессор
Отправить личное сообщение для nohuhu Посмотреть профиль Найти все сообщения от nohuhu
 
Регистрация: 21.05.2015
Сообщений: 321

SOAP городить ради своего проекта смысла нет, это очень специфическая штука. В Ext JS есть коннектор для SAP, который по SOAP разговаривает, но протокол довольно сложный и если у вас на серверной стороне не SAP, то и не нужный вовсе.

Смотрите в сторону Ext.Direct, это более простой вариант RPC.
Ответить с цитированием
  #17 (permalink)  
Старый 22.05.2015, 13:22
Профессор
Отправить личное сообщение для novikov Посмотреть профиль Найти все сообщения от novikov
 
Регистрация: 19.11.2012
Сообщений: 178

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

Сейчас использую REST-подобное API, потому что мой PHP код утрачен и не было времени писать этот слой под пятую версию ExtJs. Но главная причина в том, что с сервером работет не только ExtJs, а ещё, например, Jira. Не писать же на Джаве механизм подобный директу. Да и тема о лицензиях на форуме и потенциальное сокращение сообщества заставляет думать об ослаблении привязки к особенностям Экста.

В ресте у меня CRUD для каждой таблицы базы данных. Причём read существует в трёх вариантах: 1) одна строка для форм; 2) несколько строк с фильтрацией, группировкой и разбиением на страницы для гридов; 3) одна строка таблицы, но в виде вложенной структуры, которая содержит данные из связанных таблиц, для кастомных компонентов.
Изображения:
Тип файла: jpg rest.jpg (4.0 Кб, 3 просмотров)

Последний раз редактировалось novikov, 22.05.2015 в 13:35.
Ответить с цитированием
  #18 (permalink)  
Старый 22.05.2015, 15:29
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

а что там с лицензиями не так? хотят бесплатное отменить?
Ответить с цитированием
  #19 (permalink)  
Старый 22.05.2015, 15:46
Профессор
Отправить личное сообщение для novikov Посмотреть профиль Найти все сообщения от novikov
 
Регистрация: 19.11.2012
Сообщений: 178

нет, не хотят. Нельзя теперь купить лицензию на одного разработчика, а только на пятерых, и цена у неё конская. И ещё не все релизы ExtJs имеют бесплатную версию.
Ответить с цитированием
  #20 (permalink)  
Старый 22.05.2015, 15:49
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

А для чего конкретно в России покупают Ext JS? Разве нельзя обойтись бесплатной версией?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать реакцию на изменение любого элемента формы. Mik Events/DOM/Window 3 28.07.2011 08:52
Как убрать hover? Либо как сделать стрелки статичными? krusty36 Элементы интерфейса 1 13.07.2011 09:20
Как лучше сделать виджет? comentator Элементы интерфейса 0 25.03.2011 08:44
Как сделать, чтобы при наведении на кнопку справа от нее появлялись текстовые ссылки? Tass Общие вопросы Javascript 7 17.02.2011 09:06
Как сделать? При выходе мышкой за пределы окна браузера, начинает грузится другая стр alb Events/DOM/Window 13 01.09.2010 12:19