ExtJS и серверный фреймверк - как лучше сделать?
Интересует вопрос о том, как лучше использовать ExtJS с серверными PHP-фреймверками.
То есть, вопрос по архитектуре приложения. Когда начинаешь работать с ExtJS, получается, что вся логика сосредоточена на клиенте в JavaScript. А на сервере должны существовать только сервисы-ответчики, которые предоставляют данные (по AJAX) клиентским JS-моделям. Поэтому вопрос 1 - имеет ли смысл использовать ZendFramework или там Yii или там CodeIgniter? Или это будет сплошной оверхед? Достаточно ли просто пользоваться на сервере возможностями PHP плюс какой-нибудь ORM? Вопрос 2 - где и как хранить код объектов ExtJS? Хранить как статику в в видет простых файлов в директории? Хранить в директории видов PHP-фреймверка и генерировать JS-код PHP-фреймверком? Какие-то смешанные техники? Вопрос 3 - имеет ли смысл использовать совместно с ExtJS библиотеку JQuery? В общем, расскажите, как у вас устроены приложения с ExtJS. |
1. Я не пхпшник, поэтому хз. Вообще очевидно зависит от того какая логика ожидается на сервере, и нужны ли навороты предоставляемые фреймворками. Системы "навороченный клиент" + "навороченный сервер" тоже возможны и встречаются, все зависит от задач.
Там где я работаю, сервер написан на .net и логики там много. На клиенте тоже много) 2. Генерировать приложения на extjs серверным php? Мсье знает толк) По каким причинам Вы собираетесь это делать?) View мы правда тоже генерим с помощью sencha architect, но самому писать такую штуку убьешься. архитектура взаимодействия - rest Код храним просто как статические файлы, mvc позволяет в них не путаться, на продакшне храним минифицированный файл для юзера и все остальное для отладки. 3. Я такое тоже видел, использовать их вместе вполне возможно даже в больших приложениях, они друг друга не переписывают. Вот только зачем? Jquery - это как шило. Им можно успешно делать что-то одно, лаконично и хорошо. Extjs - это как швейцарский армейский нож - в нем есть все необходимое, и еще вагон всего что никогда не пригодится. Шило тоже есть, правда не столь удобное. |
Цитата:
Или так не делается, ибо очень сложно? |
Ну выглядит действительно как какое-то излишнее усложнение и с extjs я таких фокусов не встречал.
Если религия не позволяет хардкодить юрлы для обработчиков и прочее, то по-моему логичнее получать сначала все необходимые для конфигурации данные с сервера и на скриптах их уже распедалить. Применительно к динамической генерации js на сервере - для extjs я такого не видел. Возможно потому что это будет во-первых сложно, во-вторых, огромно и неизящно, в-третьих, самое главное, с трудом поддерживаемо. Возможно в каких-то конкретных случаях это и может оправдано, но как общий подход - врядли |
Понял, спасибо.
|
Sencha Cmd создаёт свою структуру директорий
Компания Sencha бесплатно раздаёт разработчикам приложений на ExtJs свой продукт для автоматизации Sencha Cmd
Эта программа способна собирать все ваши классы и классы SDK, используемые в вашем приложении, в один сжатый файл. У меня структура директорий выглядит приблизительно так: Код:
www Затем из директории 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. |
Цитата:
|
У нас небольшие веб приложения. База на Oracle.
Я вообще сделал свой мини Web сервер на Java, который умеет отдавать статичные файлы с настроенной папки с кэшированием (ext, свои приложения) и по определенному урлу передавать json данные в БД Oracle в процедуры (через clob переменные), которые уже делают в БД то что требуется. Никаких прослоек в виде php и прочих серверных скриптов нет :) Веб сервер поддерживает сессионность. Но повторяюсь, у нас небольшие веб приложения - не сложные. Вот тут есть описание одного такого нашего приложения: http://absinversion.blogspot.ru/2014/06/blog-post.html |
novikov,
Подскажите, пожалуйста, мне нужна подобная структура --public ----index.html ----build ----src ------app.js ------app Как заставить bootstrap.js искать файлы не в public, а в src? Как билдить в build? |
Цитата:
поэтому архитектура приложения может быть вырождена до примитивизма на более низких уровнях (база, бизнес). 1) достаточно тупых ответов базы, обернутых в json. 2) статика js очень сильно упрощает сопровождение. любой автогенеримый код - головная боль поддержки. 3) нет. ExtJs имеет очень мощные средства подобные jQuery. быстро-бегом архитектуру текущего проекта упомянул тут http://bastrakof.livejournal.com/363117.html |
Часовой пояс GMT +3, время: 08:27. |