Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.04.2014, 21:31
Аспирант
Отправить личное сообщение для xintrea Посмотреть профиль Найти все сообщения от xintrea
 
Регистрация: 02.01.2011
Сообщений: 56

ExtJS и серверный фреймверк - как лучше сделать?
Интересует вопрос о том, как лучше использовать ExtJS с серверными PHP-фреймверками.

То есть, вопрос по архитектуре приложения.

Когда начинаешь работать с ExtJS, получается, что вся логика сосредоточена на клиенте в JavaScript. А на сервере должны существовать только сервисы-ответчики, которые предоставляют данные (по AJAX) клиентским JS-моделям.

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

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

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

В общем, расскажите, как у вас устроены приложения с ExtJS.
Ответить с цитированием
  #2 (permalink)  
Старый 19.04.2014, 22:11
Аватар для Makarov
Профессор
Отправить личное сообщение для Makarov Посмотреть профиль Найти все сообщения от Makarov
 
Регистрация: 08.07.2013
Сообщений: 212

1. Я не пхпшник, поэтому хз. Вообще очевидно зависит от того какая логика ожидается на сервере, и нужны ли навороты предоставляемые фреймворками. Системы "навороченный клиент" + "навороченный сервер" тоже возможны и встречаются, все зависит от задач.
Там где я работаю, сервер написан на .net и логики там много.
На клиенте тоже много)

2. Генерировать приложения на extjs серверным php? Мсье знает толк) По каким причинам Вы собираетесь это делать?)
View мы правда тоже генерим с помощью sencha architect, но самому писать такую штуку убьешься.
архитектура взаимодействия - rest
Код храним просто как статические файлы, mvc позволяет в них не путаться, на продакшне храним минифицированный файл для юзера и все остальное для отладки.

3. Я такое тоже видел, использовать их вместе вполне возможно даже в больших приложениях, они друг друга не переписывают. Вот только зачем? Jquery - это как шило. Им можно успешно делать что-то одно, лаконично и хорошо. Extjs - это как швейцарский армейский нож - в нем есть все необходимое, и еще вагон всего что никогда не пригодится. Шило тоже есть, правда не столь удобное.
Ответить с цитированием
  #3 (permalink)  
Старый 19.04.2014, 23:19
Аспирант
Отправить личное сообщение для xintrea Посмотреть профиль Найти все сообщения от xintrea
 
Регистрация: 02.01.2011
Сообщений: 56

Сообщение от Makarov Посмотреть сообщение
Генерировать приложения на extjs серверным php? Мсье знает толк) По каким причинам Вы собираетесь это делать?)
Ну, например, когда нужно сделать универсальный класс экранной таблицы. Чтобы не в JS коде статически прописывать имена полей, URL-ы для CRUD-обработчиков и прочие свойства. А чтоб весь этот JS-код генерировался на сервере.

Или так не делается, ибо очень сложно?
Ответить с цитированием
  #4 (permalink)  
Старый 20.04.2014, 00:38
Аватар для Makarov
Профессор
Отправить личное сообщение для Makarov Посмотреть профиль Найти все сообщения от Makarov
 
Регистрация: 08.07.2013
Сообщений: 212

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

Применительно к динамической генерации js на сервере - для extjs я такого не видел. Возможно потому что это будет во-первых сложно, во-вторых, огромно и неизящно, в-третьих, самое главное, с трудом поддерживаемо. Возможно в каких-то конкретных случаях это и может оправдано, но как общий подход - врядли
Ответить с цитированием
  #5 (permalink)  
Старый 20.04.2014, 23:37
Аспирант
Отправить личное сообщение для xintrea Посмотреть профиль Найти все сообщения от xintrea
 
Регистрация: 02.01.2011
Сообщений: 56

Понял, спасибо.
Ответить с цитированием
  #6 (permalink)  
Старый 21.04.2014, 17:03
Профессор
Отправить личное сообщение для novikov Посмотреть профиль Найти все сообщения от novikov
 
Регистрация: 19.11.2012
Сообщений: 178

Sencha Cmd создаёт свою структуру директорий
Компания Sencha бесплатно раздаёт разработчикам приложений на ExtJs свой продукт для автоматизации Sencha Cmd

Эта программа способна собирать все ваши классы и классы SDK, используемые в вашем приложении, в один сжатый файл.

У меня структура директорий выглядит приблизительно так:

Код:
www
     data
          sdk
               ext-4.2.1
     private
          workspace
                build
                      production
                           Superfotoalbum
                                 index.html
                ext
                superfotoalbum
                      app
                          controller
                          model
                          store
                          view
                          Application.js
                      index.html
     public
          server
          client
                index.html
В директории ext-4.2.1 я запустил sencha generate workspace, чтобы заполнить директорию workspace.
Затем из директории ext запустил sencha generate app, чтобы заполнить директорию superfotoalbum.
Код приложения помещаю в директорию app, а в браузере открываю index.html, который расположен уровнем выше.
Когда всё готово, запускаю из директории app команду sencha app build, которая собирает приложение и кладёт его в папку production/Superfotoalbum.
Для окончательной проверки открываю index.html из этой папки, а затем переношу всё её содержимое в директорию client, которую и отправляю на боевой сервер.
На сервере лёгкий MVC-фреймворк на PHP(bulletphp) или NodeJs (express). Общение браузера с сервером чистый Ajax, Rest или RPC.

Последний раз редактировалось novikov, 21.04.2014 в 17:07.
Ответить с цитированием
  #7 (permalink)  
Старый 22.04.2014, 05:08
Профессор
Отправить личное сообщение для siber-biber Посмотреть профиль Найти все сообщения от siber-biber
 
Регистрация: 07.08.2013
Сообщений: 214

Сообщение от xintrea Посмотреть сообщение
Ну, например, когда нужно сделать универсальный класс экранной таблицы. Чтобы не в JS коде статически прописывать имена полей, URL-ы для CRUD-обработчиков и прочие свойства. А чтоб весь этот JS-код генерировался на сервере.

Или так не делается, ибо очень сложно?
Может иметь смысл если у вас много гридов.. но вряд ли правильно на каждый запрос дергать базу данных. Я делал вариацию на эту тему .."полуавтоматика": генерим статические js классы скриптом один раз (ну и можно перегенерировать вручную если структура таблиц поменялась)
Ответить с цитированием
  #8 (permalink)  
Старый 24.06.2014, 14:19
Новичок на форуме
Отправить личное сообщение для bankir Посмотреть профиль Найти все сообщения от bankir
 
Регистрация: 24.06.2014
Сообщений: 4

У нас небольшие веб приложения. База на Oracle.

Я вообще сделал свой мини Web сервер на Java, который умеет отдавать статичные файлы с настроенной папки с кэшированием (ext, свои приложения) и по определенному урлу передавать json данные в БД Oracle в процедуры (через clob переменные), которые уже делают в БД то что требуется.
Никаких прослоек в виде php и прочих серверных скриптов нет
Веб сервер поддерживает сессионность.

Но повторяюсь, у нас небольшие веб приложения - не сложные.

Вот тут есть описание одного такого нашего приложения:
http://absinversion.blogspot.ru/2014/06/blog-post.html
Ответить с цитированием
  #9 (permalink)  
Старый 15.04.2015, 20:51
Новичок на форуме
Отправить личное сообщение для Rastiniak Посмотреть профиль Найти все сообщения от Rastiniak
 
Регистрация: 15.04.2015
Сообщений: 7

novikov,
Подскажите, пожалуйста, мне нужна подобная структура

--public
----index.html
----build
----src
------app.js
------app

Как заставить bootstrap.js искать файлы не в public, а в src?
Как билдить в build?
Ответить с цитированием
  #10 (permalink)  
Старый 16.04.2015, 09:33
Аспирант
Отправить личное сообщение для bastrakov Посмотреть профиль Найти все сообщения от bastrakov
 
Регистрация: 27.03.2015
Сообщений: 31

Сообщение от xintrea Посмотреть сообщение
...
То есть, вопрос по архитектуре приложения.

1 Достаточно ли просто пользоваться на сервере возможностями PHP плюс какой-нибудь ORM?

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

3 - имеет ли смысл использовать совместно с ExtJS библиотеку JQuery?
ExtJs берет на себя кучу работы. в этом и + и -.
поэтому архитектура приложения может быть вырождена до примитивизма на более низких уровнях (база, бизнес).

1) достаточно тупых ответов базы, обернутых в json.
2) статика js очень сильно упрощает сопровождение. любой автогенеримый код - головная боль поддержки.
3) нет. ExtJs имеет очень мощные средства подобные jQuery.

быстро-бегом архитектуру текущего проекта упомянул тут
http://bastrakof.livejournal.com/363117.html
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать реакцию на изменение любого элемента формы. 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