Ember.js и Drupal 8

Аватар пользователя multpix
2


upd:
Эта статья кардинально отличается от своей первой редакции, добавлено демо приложения.
31.10.16
Прикрыл репозиторий с кодом в преддверии обновления,
но оставил открытой wiki - если кому интересно: https://bitbucket.org/multpix/ember2drupal/wiki/browse/.
Первая версия демо так и работает по адресу: http://multpix.bitbucket.io.сейчас этот пример устарел, но ревизия до рабочего состояния - не за горами)))

ember to drupal

Вопросы не новы:
Should we decouple Drupal with a client-side framework?
Selecting a client-side framework for Drupal
Can Drupal outdo native applications?

Таблица сравнения js-фреймворков:

(Лично мне приглянулся Ember.js - это замечательный фреймворк для клиента, который позволяет делать удивительные вещи.)

Смотрите доки на оф.сайте, а ниже линки на интересные видео с конф.

Decoupled Drupal and Ember

Amazing User Experiences with Drupal and Ember

Конкретизируя, Headless Drupal8 - эта та тема, которую я хочу обсудить с участниками сообщества drupal.ru.

Возможно несколько различных вариантов связок drupal-бэкенда с клиентом, как показано далее:
Should we decouple Drupal itself?

Я остановился на крайнем правом варианте - полностью отдельные бэкенд и фронтенд приложения.
Ember - это полное приложение (mvc), на стороне клиента;
на стороне сервера - Drupal хранит данные, предоставляя все прелести своей системы пользовательских ролей и прав, в связке со своей моделью данных (сущности - поля).
Обмен данными между клиентом и сервером происходит в формате JSON API - это замечательная спецификация json для организации api.

Принципиальной особенностью использования drupal в этой связке является следующее:
минимальное применение контриб-модулей от сторонних разработчиков.

Это одна из главных проблем большинства пользовательских инсталляций drupal-based сайтов.
Простых пользователей привлекают такие характеристики drupal, как: безопасность, универсальность...
но фактически - установив ядро и добавляя к нему контриб на каждый "чих"
- пользователь получает весьма ресурсо-прожорливую конструкцию, неимоверной степени сложности, сомнительную в плане безопасности.

В моем варианте, из контриб модулей я использовал только  jsonapi, библиотеку docson
(ну и  devel, известно зачем - в продакшн он уже не нужен).

Это простейший пример, как брать данные из drupal и скармливать их ember,
формат - api_json.

А теперь по порядку.

Установка и первоначальная настройка Drupal тривиальна:

drush dl drupal && mv drupal-8.2.1 drupalback && cd drupalback
mkdir libraries && cd libraries
git clone https://github.com/lbovet/docson.git && cd ../
drush dl devel jsonapi --destination='modules/contrib'
drush si minimal --db-url=sqlite://sites/default/files/.ht.sqlite
drush en seven toolbar field_ui  devel_generate jsonapi
drush config-set system.theme default seven
drush pm-uninstall stark

Настройка cors (для разработки)

chmod 0755 sites/default/
cp sites/default/default.services.yml sites/default/services.yml
chmod 0555 sites/default

vim sites/default/services.yml

# Enable CORS for develop in services.yml file:
cors.config:
  enabled: true
  allowedOrigins: ['*']

Сменить пароль да запустить:

drush upwd admin --password='12345'
drush rs

Далее, то что так подкупает в drupal - ui,
создаем нужные сущности и связи используя field_ui,
создаем необходимую систему ролей и прав пользователей,
дополнительно - возможно использовать views_ui для организации административных интерфейсов управления данными и пользователями.

Подмодуль jsonapi_docson из коробки jsonapi, предоставляет наглядный интерфейс для изучения структуры данных.

jsonapi doc
jsonapi docson

Вот и все с серверной частью, теперь фронт.

Что-бы Ember без проблем принимал api_json, который отдает drupal, нужно использовать и расширять дефолтные адаптер и сериализатор, соответственно: JSONAPIAdapter и JSONAPISerializer.
Несколько особенностей я опубликовал в примере кода здесь.

Для демонстрации простого приложения, сделано следующее:
для бэкенд - в pantheon.io развернут drupal 8,
для фронтенд - сборка ember выгружена на мою страницу bitbucket.org.

Приложение кране простое, не удивляйтесь некоторым его "приколам" - не все проработано до должного уровня,
это просто небольшая демонстрация возможностей :-)

Точка входа в приложение: http://multpix.bitbucket.org/
Обратите внимание, что при переходе по ссылкам приложения, перезагрузки страниц не происходит.
Посмотрите на эффект перехода между articles <-->users, это работает liquid-fire.
Сама верстка - foundation 6.

Я считаю, что потенциал у подобного стека - огромный :-)

Краткое описание Ember.js:

Ember.js это JavaScript фреймворк для создания динамичных web приложений. Реализует MVC шаблон, предназначен для упрощения создания масштабируемых одностраничных веб-приложений.

Основные особенности:

  • Толстые объектные модели
  • Вычисляемые свойства
  • Декларативная двусторонняя привязка данных
  • Автоматически обновляемые шаблоны с Handlebars.js
  • Маршрутизатор для управления состоянием приложения
  • Включение зависимостей

Принципы

Изначально Ember проектировался с учетом нескольких ключевых идей:

Фокусировка на амбициозных web приложениях
Ember нацелен на полное решение всех задач приложений на стороне клиента, в отличии от многих JavaScript фреймворков, которые реализуют составляющую V в MVC (т.е., Представление из шаблона Модель-Представление-Контроллер).

Больше продуктивности из коробки
Ember является одним из компонентов целого комплекса инструментов для полного стека разработки. Цель этих инструментов - немедленно повысить продуктивность разработки. Например, Ember CLI (интерфейс командной строки) обеспечивает возможности автоматического создания стандартной структуры приложения, генерацию типового кода, инструменты тестирования, проксирование на внутренний сервер, живую перезагрузку браузера при редактировании кода. Он также обладает расширяемой архитектурой и обширным списком дополнений.

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

Предвидение будущих web стандартов
Ember один из первых внедрял много новшеств в сфере Web и JavaScript, таких как промисы, web компоненты, ES6 синтакс. Иегуда Катц, один из основателей Ember, участник группы TC39, ответственной за будущее развитие языка Javascript.

Ember, подобно Ruby on Rails, следует принципам Convention over Configuration (CoC) - Соглашение превыше Конфигурации, и Don't Repeat Yourself (DRY) - Не повторяйся. Он описывается как высоко опциональный, гибкий фреймворк

Примеры работы Ember:
https://cloud.digitalocean.com
https://dashboard.heroku.com

http://discuss.emberjs.com/
https://forum.ionicframework.com/
http://help.apple.com/watch/

Вот и все.
У кого какие вопросы или замечания - в комменты :-)

Модули и темы:
Ключевые слова:
Тип материала:
Версия Drupal:

К материалу прикреплен опрос на тему «ИМХО: Drupal8 frontend»:

  • Существующая система темизации полностю покрывает мои потребности 0 голосов
  • Angular 0 голосов
  • Backbone 0 голосов
  • Ember 0 голосов
  • Другой client-side framework (какой из многих - озвучу в комментах) 0 голосов
  • Не понял вопроса 0 голосов
Log in or register to vote

Комментарии

Аватар пользователя multpix
multpix 1 год назад

И конечно, всем привет!
Давно я вас не видел))

Аватар пользователя bumble
bumble 1 год назад

@multpix - с возвращением!
Пост на главной, но просьба добавить тегов и, по возможности, немного примеров из реальных кейсов.

ЗЫ - сам все больше смотрю в сторону ангуляро-реактов...

Аватар пользователя multpix
multpix 1 год назад

По примерам, весьма показательно - NASA, это ember и drupal.
nasa

Аватар пользователя bumble
bumble 1 год назад
multpix написал:
По примерам, весьма показательно - NASA, это ember и drupal.

:)) Я имел ввиду "разжевать", в общем, какие преимущества можно получить от интеграции Drupal с client-side фреймворками (опять же - по возможности, дабы придать информативной ценности посту).

Аватар пользователя mbaev
mbaev 1 год назад
bumble написал:
ЗЫ - сам все больше смотрю в сторону ангуляро-реактов...

Смотреть в сторону ангуляра не рекомендую.

Аватар пользователя gun_dose
gun_dose 1 год назад
4

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

Что касается примера с сайтом НАСА - такой можно было бы сверстать на любой базовой теме, добавить пару скриптов для слайдеров и скроллбаров и всё. А так, что мы видим: страница грузится совсем не быстро, после загрузки страницы элементы какое-то время расставляются по местам. После полной загрузки создаётся впечатление, что скролл местами подтупливает. Кароч обычный красивый дизайн совершенно без оптимизации.

И всё этот я тут написал не для того, чтобы кого-то оскорбить, а для того, чтобы проиллюстрировать факт того, что польза от таких решений крайне неочевидна.

Аватар пользователя fairrandir
fairrandir 1 год назад
1

Действительно, показательный пример. Сайт NASA грузится 20с, при этом, на протяжении этого времени наблюдаю только белый экран. Дольше всего грузится как раз скрипт, который весит 3МБ (!). На протяжении загрузки ожидаешь увидеть ВАХ!, а видишь обычный в общем-то сайт.

gun_dose написал:
Требую разъяснений для простых крестьян.

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

Аватар пользователя tlito
tlito 1 год назад

nasa.gov медленно литается. тот же контакт (когда был под управлением павла дурова) листался в тыщу раз быстрее.

Аватар пользователя multpix
multpix 1 год назад

Как было сказано выше - хорош "Для админок и всяких сервисов",
да, для сервисов, живых и отзывчивых сервисов и для разделения монолита на микросервисы.

Показательными примерами работы Ember считаю:
https://cloud.digitalocean.com
https://dashboard.heroku.com

http://discuss.emberjs.com/
https://forum.ionicframework.com/
http://help.apple.com/watch/

В приведенных примерах, drupal и не пахнет - увы, но единственная найденная мной связка em2dru - это наса,
как вы заметили - не лучший пример - согласен.

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

upd.
Салют - Денис!!
))

Аватар пользователя multpix
multpix 1 год назад

Знакомое чтиво - сам улыбался, когда читал)))
Выглядит страшно, но как только занырнул - уже не вынырнешь - не так страшен черт!

А вот в случае "двусторонней связки данных", как это у ng и ember - мы бы страницу эту не обновляли руками, а просто болтали)

Аватар пользователя sergeybelya
sergeybelya 1 год назад

ну чаты на веб-сайтах были еще задолго до появления js-"фреймворков".

Аватар пользователя xakd
xakd 1 год назад

Единственное что понравилось - "Надо просто знать, что функциональное программирование лучше, чем объектно-ориентированное программирование, и это то, что мы должны использовать в 2016 году."

Drupal7 рулит, drupal 8 отстой, это я о наболевшем. ))

Аватар пользователя multpix
multpix 1 год назад
xakd написал:
Drupal7 рулит, drupal 8 отстой, это я о наболевшем. ))

Аргументы?
Если не сложно)

Это сообщение находится в тёмной материи. Вы можете изменить настройки просмотра тёмной материи в личном кабинете.
Это сообщение находится в тёмной материи. Вы можете изменить настройки просмотра тёмной материи в личном кабинете.
Это сообщение находится в тёмной материи. Вы можете изменить настройки просмотра тёмной материи в личном кабинете.
Это сообщение находится в тёмной материи. Вы можете изменить настройки просмотра тёмной материи в личном кабинете.
Это сообщение находится в тёмной материи. Вы можете изменить настройки просмотра тёмной материи в личном кабинете.
Это сообщение находится в тёмной материи. Вы можете изменить настройки просмотра тёмной материи в личном кабинете.
Это сообщение находится в тёмной материи. Вы можете изменить настройки просмотра тёмной материи в личном кабинете.
Аватар пользователя multpix
multpix 1 год назад
1

Мой выбор ember определило только то, что "рельсы жеж", яж рублюсь)))
Поэтому и ember - front, express -back мне как-то боле близки, это как рельсы и синатра - только js.
Да и к сахару привык)))

А тут недавно обнаружил, что у drupal все неплохо с подготовкой данных для фронтенда.
Все уже написано, и довольно стабильно - кроме cors и контриба не нужно.
Дальше - только полет фантазии.
Кстати - одна из веток этого моего изучения была с ng на фронте.

Аватар пользователя bumble
bumble 1 год назад
mbaev написал:
Смотреть в сторону ангуляра не рекомендую.

Всего в жизни нужно "хлебнуть"... ))

Ху**GUN написал:
Хотя использование полноценной cms исключительно ради бэка считаю идиотизмом.

Это же про-друпальный форум... Тут так можно ))
Надеюсь на полноценную реализацию MVC в Drupal следующих версий. Просто отключаешь модули фронтовые и вперед. Вот круть то будет!

sergeybelya написал:
Какой ангуляр с эмбером, вы что

Да-ну... Ничего там такого сверхъестественного, если не начитаться подобных пьес.
Пробуешь gulp - и ты в системе. Потом только в клиниках отвязаться сможешь:
- "Драсьте, меня зовут [USER], и я NPM'щик..."
- "При-иве-ет [USER]."

sergeybelya написал:
ну чаты на веб-сайтах были еще задолго до появления js-"фреймворков".

ВЕБСОКЕТЫ ))

Аватар пользователя sergeybelya
sergeybelya 1 год назад

С выходом ES6 JS стал более-менее полноценным языком программирования, думаю, в ближайшие годы он "переболеет" обилием фреймворков, как это происходит сейчас, останется несколько ходовых, поддерживаемых гугло-фейсбуком, и ситуация устаканится. А jQuery еще долго никуда не денется.

Аватар пользователя multpix
multpix 1 год назад
sergeybelya написал:
С выходом ES6 JS стал более-менее полноценным языком программирования, думаю, в ближайшие годы он "переболеет" обилием фреймворков, как это происходит сейчас, останется несколько ходовых, поддерживаемых гугло-фейсбуком

А что мешает писать на ES6 сейчас?
Это, кстати, был один из моих аргументов в пользу ember, спс за напоминание))))
Не ng от гугла или react от фб, но ember))

Аватар пользователя multpix
multpix 1 год назад

Тут как-раз через babel es6 и есть...
Чеб бабел то не угодил?
babel

Аватар пользователя multpix
multpix 1 год назад

да, и Emblem для шаблонов,
а от вот coffee тут отказался в пользу ES6.

Жизнь, понимаешь-ли такая пошла - без сахарка вообще никак))))

Аватар пользователя multpix
multpix 1 год назад

Далеко не нова, и уже подробно разжевана на всех языках мира, особенно на рус))))

И именно поэтому, я добавил в начало поста линки на статьи Дриса,
линк на видос ef4, где он использует  jsonapi,

а дальше по тексту - показал свой пример, где и jsonapi (не все так гладко с ним) не нужен - хватает ядра.

upd.

sergeybelya написал:
даже имеет название Headless Drupal

именно по этому, так и величается drupal бэкенд приложение в репе:
Drupal RESTful
Simple JSON from Headless Drupal8

Аватар пользователя sergeybelya
sergeybelya 1 год назад
multpix написал:
Чеб бабел то не угодил?

самим своим наличием как свидетельство незрелости es6 и неполной поддержки браузерами.

Аватар пользователя bumble
bumble 1 год назад

А LESS, SASS, Stylus - свидетельство незрелости CSS как стандарта. ))

Аватар пользователя sergeybelya
sergeybelya 1 год назад

less вы можете использовать в процессе разработки, но его не нужно подключать в исходник страницы.

Аватар пользователя bumble
bumble 1 год назад
1

Как и Babel.

Аватар пользователя sergeybelya
sergeybelya 1 год назад

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

Аватар пользователя bumble
bumble 1 год назад
1
sergeybelya написал:
я про это

На самом деле не с этого началось, ну да ладно...

sergeybelya написал:
использование современного js-фреймворка тянет за собой необходимость подключать в проект еще кучу всего

Но это не ненормально.
Тот же D8 сейчас использует composer, а это ничто иное как NPM для PHP. Тот же Drush - это частично NPM.
Тот же D8 сейчас использует Symfony (читать фреймворк) у которого тоже есть свои компоненты.
И это все воспринимается на ура сейчас.

Использование, а вначале изучение, множества библиотек/компонентов это плата за универсальность и удобство. Это ведь лучше чем из проекта в проект переносить пачками код и все руками писать.

Аватар пользователя Frantsuzzz
Frantsuzzz 1 год назад

Хочу поинтересоваться по поводу less. Вариант, когда less обрабатывается на стороне php. Генерируются css файлы и они отдаются в браузер пользователя. Пока кеш не сбросишь, идет в вывод css. Чем это подход плох? Сайт после сдачи остается на поддержке. Вы пробовали вносить изменения в css, сгенерированные компиляторами? Не проще в less внести правки и сбросить кеш? Речь не о своем отдельном модуле, а о текущей теме сайта. При использовании bootstrap, например, это вполне оправдано, как я считаю. Жду аргументов и интересных мнений...

Аватар пользователя multpix
multpix 1 год назад
sergeybelya написал:
как свидетельство незрелости es6 и неполной поддержки браузерами

Вот прямо в точку!!!

Ждать, когда ES6 начнет поддерживаться всеми браузерами?
Пока кто-то ждет - люди уже пишут, вникают, учатся и уже используют все плюсы.

Это работает один из основных принципов уголька - "Предвидение будущих web стандартов")))

Аватар пользователя sergeybelya
sergeybelya 1 год назад

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

Аватар пользователя multpix
multpix 1 год назад
sergeybelya написал:
у друпалеров несколько другие задачи

Боюсь даже спрашивать какие))))

Скажу свое мнение:
самое адовое, что может произойти с человеком, который разрабатывает для веб,
это то, что он станет "Друпалером"
(или вэпэшником, или битриксоводом, или джумлорастом, да даже джангистом, энждистом или рельсорубом etc.) только.
Это ситуация, когда ограничивают себя чем-то знакомым, в ущерб изучению нового.
"Остановился, прекратил искать, учить" - читай как: "назад покатился".

У JS разработчиков сейчас праздник - такое бурное развитие, js догоняет ruby, python!
А исполняется в браузере.

имхо: быстее ES6 пролучит полную поддержку браузеров, нежели тот-же руби или пайтон
отсюда простой вывод - разработчику нужен и этот скилл)))

Аватар пользователя multpix
multpix 1 год назад
sergeybelya написал:
js-фреймворка тянет за собой необходимость подключать в проект еще кучу всего, я про это.

а у дру не так? монолит?
ls vendor в корне проекта)))
composer, bower, npm, gem ... о чем это мы... ))))

Да и подключаем то не руками)))

Аватар пользователя sergeybelya
sergeybelya 1 год назад

В друпал все уже "сделано до нас". Это готовый к использованию инструмент.

Аватар пользователя sergeybelya
sergeybelya 1 год назад
multpix написал:
У JS разработчиков сейчас праздник - такое бурное развитие, js догоняет ruby, python!

я это и имел в виду. Но это поутихнет, как было в java и том же пхп, устаканится.

Аватар пользователя multpix
multpix 1 год назад
sergeybelya написал:
В друпал все уже "сделано до нас". Это готовый к использованию инструмент.

С этим сложно не спорить, пребывая на этом форуме боле 7ми лет,
там настолько ВСЕ сделано, и он так ГОТОВ К ИСПОЛЬЗОВАНИЮ,
что все семь лет моих здесь, тут люди только об этом и твердят -
открываем трекер и любуемся радостными отзывами о безотказной работе)))

Эх, два утверждения, и два моих к ним уточнения:
В друпал все уже "сделано до нас"
что значит все, прямо таки ВСЕ-ВСЕ-ВСЕ???
сделано КЕМ? инопланетянами?

Это готовый к использованию инструмент.
Вот реально - друпал это ядро,
чего не хватало - в силу своей модульной структуры - сообщество пишет контриб,
Что вы называете готовым у использованию инструментом?
И че, своего дописать нельзя? )))))))))))
Контриб тоже инопланетяне пишут, им можно?

Я вот хоть ты тресни, в упор не понимаю, чем вас пугает вариант интеграции dru со сторонними фреймворками,
и что вы видите в этом плохого?

Друпал - хорошая система, но такое уж чрезмерное only dru не здраво)))

Аватар пользователя sergeybelya
sergeybelya 1 год назад

Я имел в виду, что для того чтобы начать использовать друпал, достаточно его просто установить на сервере, не устанавливая при этом еще что-то дополнительно. По аналогии с js - это ближе к jquery - самодостаточный скрипт, работающий во всех современных браузерах. А если вы хотите кроссбраузерный реакт, например, будьте добры - подключайте еще доп. библиотеки или что-то там компилируйте и т.д. А против интеграции Drupal с другими технологиями я ничего не имею.

Аватар пользователя multpix
multpix 1 год назад

эт не спор был, а повышение грамотности)))
Ушли от темы мы, даешь предмет спора!
p.s/
опрос в теме весьма нехорошо себя ведет...

Аватар пользователя gun_dose
gun_dose 1 год назад
multpix написал:
самое адовое, что может произойти с человеком, который разрабатывает для веб,

это то, что он станет "Друпалером"
(или вэпэшником, или битриксоводом, или джумлорастом, да даже джангистом, энждистом или рельсорубом etc.) только.

Это ситуация, когда ограничивают себя чем-то знакомым, в ущерб изучению нового.

"Остановился, прекратил искать, учить" - читай как: "назад покатился".

Что значит "остановился"? Сколько лет надо изучать друпал, чтобы изучить его полностью? Что лучше: уметь решать любые задачи одним инструментом или уметь писать Hello world на всех языках мира? Другое дело, что есть задачи, которые нереально решить друпаловским аяксом, но если ты пришёл к этой задаче, то значит ты дорос до того, чтобы решить, свернуть тебе на фронт или в бэк. И тут уже надо помнить, что в такой ситуации ты, как разработчик с многолетним стажем, на фронте не будешь иметь никаких преимуществ перед 20-летними студентами.

Аватар пользователя multpix
multpix 1 год назад
1
gun_dose написал:
Что лучше: уметь решать любые задачи одним инструментом или уметь писать Hello world на всех языках мира?

Ответ: универсальных инструментов для любых задач не существует, лучше так - знать для каких дел какой инструмент более хорош.

Я даже больше скажу - пока у вас не будет с чем сравнивать, вы не поймете что у вас в руках)))

И не свернуть, но расширить,
И не преимущества, но здоровая конкуренция только приветствуется.

p.s/
тема - бомба, 40+ комментов и ни одного вопроса по существу,
это друпалру детка ))))
ну хоть камрадов поприветствовал - и то радует

Куда запаковали Константина?
Выпустить немедленно!!!

Аватар пользователя gun_dose
gun_dose 1 год назад

Свернуть или расширить - это уже дело каждого, должен быть баланс между шириной и глубиной кругозора)) А вообще, мечтаю когда-нибудь поковырять нод.жс, посмотреть, что за зверь. Но времени нет совсем.

Аватар пользователя bumble
bumble 1 год назад
gun_dose написал:
мечтаю когда-нибудь поковырять нод.жс, посмотреть, что за зверь

Вкуснятина неимоверная!!!

Аватар пользователя bumble
bumble 1 год назад
multpix написал:
Куда запаковали Константина?

Выпустить немедленно!!!

Будет доступен завтра с 22:26.

Аватар пользователя multpix
multpix 1 год назад
gun_dose написал:
Но времени нет совсем

А я больше скажу - его и не будет))))
Это закон "нипомнюкого" - любая работа займет ровно столько времени, сколько на нее выделено
А времени нет никогда, лишнего - тем более, надо просто взять, да и начать)))

bumble написал:
Будет доступен завтра

Шо, доскакался дед?
Я и не в курсе был))))
А по делу - в этой теме опрос - он с багами, есть возможность просто взять его и удалить?
В принципе - он не нужен.

Аватар пользователя bumble
bumble 1 год назад
multpix написал:
в этой теме опрос - он с багами, есть возможность просто взять его и удалить?

Да, баг - знатный... Но фиксить сейчас нет возможности, к сожалению.
Закрыл его, удалить нет возможности.

Аватар пользователя gun_dose
gun_dose 1 год назад
multpix написал:
А я больше скажу - его и не будет))))

Тут мне не привыкать. Например с drush, linux, git и gulp я познакомился во время горящих дедлайнов)) Не со всем одновременно конечно - это были 4 одинаковые истории))

Это сообщение находится в тёмной материи. Вы можете изменить настройки просмотра тёмной материи в личном кабинете.
Это сообщение находится в тёмной материи. Вы можете изменить настройки просмотра тёмной материи в личном кабинете.
Это сообщение находится в тёмной материи. Вы можете изменить настройки просмотра тёмной материи в личном кабинете.
Это сообщение находится в тёмной материи. Вы можете изменить настройки просмотра тёмной материи в личном кабинете.
Это сообщение находится в тёмной материи. Вы можете изменить настройки просмотра тёмной материи в личном кабинете.
Это сообщение находится в тёмной материи. Вы можете изменить настройки просмотра тёмной материи в личном кабинете.
Это сообщение находится в тёмной материи. Вы можете изменить настройки просмотра тёмной материи в личном кабинете.
Аватар пользователя dashiwa
dashiwa 1 год назад

Тема интересна. Как раз такой функционал нужно реализовать. Пока мучаем джекуэри
Много подобного интерфейса

Для господ "модников" статья по теме
https://m.habrahabr.ru/post/312022/

Аватар пользователя multpix
multpix 1 год назад
dashiwa написал:
статья по теме

На первой странице комментов уже мелькала, улыбнулись по ее поводу)
Все намного проще - организация рабочего процесса, подтягивание зависимостей, сборка, тесты, типовые участки кода - очень многое автоматизированно.
Но это лучше попробовать, чем слушать мои объяснения - в контексте сабжа, это три инструмента: composer, drush, ember-cli.

dashiwa написал:
Пока мучаем джекуэри

С голым jQuery реализация подобных штук - действительно мучение)
Но можете глянуть в vendor.js - там jQuery 2.2.4, куда уж без нее.

Друзья, давайте feedback по сабжу, тема-то горячая!

Аватар пользователя sergeybelya
sergeybelya 1 год назад
multpix написал:
Друзья, давайте feedback по сабжу, тема-то горячая!

Тема особо не востребована по правде говоря, таких проектов очень мало.

Аватар пользователя dashiwa
dashiwa 1 год назад

По чем судим?

Аватар пользователя sergeybelya
sergeybelya 1 год назад

По своему опыту конечно.

Аватар пользователя dashiwa
dashiwa 1 год назад

А я бы судил по индивидуальным заказам. Мировые биржы,доски обьявлений.
Так и по корпоративным заказам. - Предложение работы,поиск сотрудников

Аватар пользователя sergeybelya
sergeybelya 1 год назад

Ок, какова доля таких проектов на рынке, вы располагаете конкретными цифрами?

Аватар пользователя dashiwa
dashiwa 1 год назад

Да. распологаю источниками. Для анализа мне понадобится часа 3-5 ..пока что нет приоритета этим заниматься)) Много дел и личное время

Аватар пользователя gun_dose
gun_dose 1 год назад

А вот ни разу нет. Уже даже на всяких отвлечённых от программухи ресурсах пошла волна постов типа "ребята, я хочу сделать форум, как этот, только лучше, движок будет нод.жс, а база - монга". Всё идёт к тому, что всё больше сайтов на морде будут иметь жс-фреймворки, а бэкенд будет отдавать json

Аватар пользователя multpix
multpix 1 год назад

Express это очень хорошо!
Но я тут пытаюсь обосновать разумность применения именно Drupal
в стеке, использующем популярные client-side фреймворки)

Ведь мы берем только ядро D8,
и просто его используем.
Со всеми его плюшками, и поддержкой.

А поддержка - немаловажно, моя мысль такая:
пока дру используется в gov секторе многих развитых стран - он будет на плаву, а тут еще Дрис говорил - NASDAQ в 17-ом подтягивается,
это такой пулл мощных игроков - то что они используют opensource - читай: они в него инвестируют.
Какие у кого по этому поводу мыслишки?
И по демке че, ни у кого ни каких вопросов?
))

Аватар пользователя bumble
bumble 1 год назад

NASDAQ, на сколько я понял, просто рекомендует использовать D8, как одну из возможных платформ.
А .gov-сектор - не уверен что тот-самый, которому SPA нужен.

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

ЗЫ - сам, последние несколько недель активно выбираю технологию из Angular/Ember/React. Из всего прочтенного, мой вывод:

  • Angular: для низкого старта - прост в освоении, работает и развивается.
  • Ember: трохи сложнее (и профессиональнее, что-ли) инструмент. Аля Друпал, среди SPA-фреймворков.
  • React: за ним будущее, он крут...
Аватар пользователя multpix
multpix 1 год назад
1
bumble написал:
По демке вот

Я для этого отдельную статью сделаю, когда демка вообще жирная будет)))
со сложными связями, с внешними аутентификаторами, github-овским хотя-бы...

Аватар пользователя sergeybelya
sergeybelya 1 год назад

Переболеет народ модными js-"фреймворками", на этапе становления языка это нормально.

Аватар пользователя gun_dose
gun_dose 1 год назад
1

Становления какого языка? Без того же node.js сейчас и не поверстаешь толком, ибо всё заточено под gulp.

Аватар пользователя multpix
multpix 1 год назад

К слову об удобствах, то вот, к примеру кусок компонента навигации,
как по мне - то такое и читать и писать приятно:

.top-bar
  .top-bar-left
    = page-title
  .top-bar-right
    ul.menu
      li.menu-text
        = link-to 'articles'
          |articles
      li.menu-text
        = link-to 'users'
          |users
Аватар пользователя gun_dose
gun_dose 1 год назад

Да, выглядит очень лаконично, но я ничего не понял)))

Аватар пользователя multpix
multpix 1 год назад

А на что похоже?
На css селекторы похоже?
доты - классы, шарпы - идентификаторы, а теги это теги.
отступ - дочерний элемент,
а компоненты, переменные, условия и т.п. - это отдельный разговор

Есть целый ряд подобных шаблонизаторов.
Это embelm, он очень похож на slim, есть подобный для php - это jade

Аватар пользователя sergeybelya
sergeybelya 1 год назад

А как по мне - это какой-то треш) Было бы хорошо, если бы вы привели аргументы, на каких проектах headless drupal хорош, так как в любом случае разработка при таком подходе дольше и дороже. У Drupal 8 довольно мощная и гибкая темизация, какой смысл от нее отказываться? В чем выгода клиенту, как это продать? Только скорость загрузки и быстродействие сайта? Если да, то во сколько раз она возрастает? Или просто дань моде?

Аватар пользователя gun_dose
gun_dose 1 год назад

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

ЗЫ: я правильно понимаю, что twig должен как-то быть особенно дружен с js-фронтендом или нет?

Аватар пользователя multpix
multpix 1 год назад
sergeybelya написал:

При всем уважении, друг,
но Иегуда Кац не похож на больного человека,
да и корпорация добра не замечена за не приносящими прибыль делишками)))

Аватар пользователя multpix
multpix 1 год назад

Интересные новостишки,
может кто простенький пример с ng2 оформит?

ps
фронт - это вынос мозга еще тот, на самом-то деле)))

Аватар пользователя bumble
bumble 1 год назад

А вот как обстоят дела с, например динамической подгрузкой стилей/скриптов для "отдельных страниц" из своих модулей (аля drupal_add_* из 7ки)? Есть ли способы автоматизации?

Аватар пользователя multpix
multpix 1 год назад
1

Грубо говоря, все собирается в один (ну, не один, а несколько)).
Но, в исходниках - все отдельно и очень по полочкам.
Так что, что модели, что шаблоны, или сервисы, или хелперы, компоненты и шаблоны компонентов -
все весьма разумно разложено по каталогам - а язык один - js (es6 точнее).
Стили лежат в каталоге app/styles,
есть такой https://emberobserver.com/addons/ember-css-modules - так он еще удобней поступает,
но я пока его не пользую.

Структура приложения (ember-cli) следующая:

.
├── app
│   ├── adapters
│   ├── app.js
│   ├── components
│   ├── controllers
│   ├── helpers
│   ├── index.html
│   ├── models
│   ├── resolver.js
│   ├── router.js
│   ├── routes
│   ├── serializers
│   ├── services
│   ├── styles
│   ├── templates
│   └── transitions.js
├── bower_components
├── bower.json
├── config
│   └── environment.js
├── dist
├── ember-cli-build.js
├── node_modules
├── package.json
├── public
│   ├── crossdomain.xml
│   └── robots.txt
├── README.md
├── testem.js
├── tests
│   ├── helpers
│   ├── index.html
│   ├── integration
│   ├── test-helper.js
│   └── unit
├── tmp
└── vendor

Для старта, есть вполне понятные руководства (на енгл, и на рус.)
http://emjs.ru/v2/tutorial/ember-cli/

Аватар пользователя bumble
bumble 1 год назад

А где, собственно, Drupal должен находится? vendor? bower_components?
Или Ember-App = [part of] Drupal-theme?

Аватар пользователя multpix
multpix 1 год назад

Дак в этом вся соль:
это два отдельных приложения которые общаются по сети, через jsonapi)))

Локально у меня ember 0.0.0.0:4200, а drupal 0.0.0.0:8888 - это дефолтные порты для запуска их дев-серваков.
В демо - drupal живет в pantheon.io, а ember выложен на страницу bitbucket.org

Аватар пользователя mbaev
mbaev 1 год назад

Не убиваемая тема!

Аватар пользователя Frantsuzzz
Frantsuzzz 1 год назад
multpix написал:
Принципиальной особенностью использования drupal в этой связке является следующее:

минимальное применение контриб-модулей от сторонних разработчиков.

Контриб контрибу - рознь! Дожили, уже давайте d.org закроем, оставим на главной ссылку для скачивания основного дистрибутива и веселый смайлик. Автор поста не обижайся! В моей практике основной проблемой всегда был не contrib, а custom...

Аватар пользователя multpix
multpix 1 год назад
Frantsuzzz написал:
оставим на главной ссылку для скачивания основного дистрибутива и веселый смайлик

Все верно, как в воду глядел.

Именно так и выглядит сейчас кусок главной,
в моей свежей версии headless drupal 8 + ember на примере дру.ру)))
drurunew

Смысл темы - обратить внимание здешних на restful services,
всего-лишь заменили дефолтный фронтенд на что-либо помоднее - и сразу масса интересных штук появляется)))

Аватар пользователя Frantsuzzz
Frantsuzzz 1 год назад

less вы можете использовать в процессе разработки, но его не нужно подключать в исходник страницы.

суть моего ответа в этом коменте. Я и хочу понять его историю. Может человек имел ввиду ситуацию, когда css генерируется на стороне клиента через js. Но как по мне, это глупо и плохо. Плохой разработчик, не делай так, ты плохой)))

Аватар пользователя multpix
multpix 1 год назад

человек просто сказал, что es6 - рано, ибо бабель, который якобы надо на сервер...,
а все оказалось немного проще)))

Аватар пользователя Frantsuzzz
Frantsuzzz 1 год назад
multpix написал:
Frantsuzzz написал:

оставим на главной ссылку для скачивания основного дистрибутива и веселый смайлик

Все верно, как в воду глядел.
Именно так и выглядит сейчас кусок главной,

в моей свежей версии headless drupal 8 + ember на примере дру.ру)))

drurunew
Смысл темы - обратить внимание здешних на restful services,

всего-лишь заменили дефолтный фронтенд на что-либо помоднее - и сразу масса интересных штук появляется)))

Нельзя так делать. Вы своим последним предложением убили половину пользователей drupal.ru. Форум называется DRUPAL.RU. Мучайте только наших, рускоязычных друпалистов! Люди и так бегут, потому что в шоке от друпала. Друпал без контриба - это не Друпал. Так что, или продвигаем контриб, или от нас пользователи убегут. Оно вам надо?

Аватар пользователя multpix
multpix 1 год назад
Frantsuzzz написал:
Друпал без контриба - это не Друпал.

Невнимательно читаете - я говорю: минимальном
Это значит - осознанно и аргументированно,
это значит не попадать в ситуацию когда:
"установил больше 100 модулей, они производят 100500 запросов в БД- что мне делать?",
"сделал на друпал 100 статичных страниц и блоков - как обслуживать?",
"деплой? -ХЗ, клепаю сразу на продакшн",
"7-ка/8-ка - вешает сервер...".

Нам тут нужны разделы по типу "best practices" и "tips & tricks",
чтоб пользователи не летали как мухи у гуано,
но росли как цветы в саду)))

Аватар пользователя Frantsuzzz
Frantsuzzz 1 год назад
multpix написал:
Принципиальной особенностью использования drupal в этой связке является следующее:

минимальное применение контриб-модулей от сторонних разработчиков.
Это одна из главных проблем большинства пользовательских инсталляций drupal-based сайтов.

Простых пользователей привлекают такие характеристики drupal, как: безопасность, универсальность...

но фактически - установив ядро и добавляя к нему контриб на каждый "чих"

- пользователь получает весьма ресурсо-прожорливую конструкцию, неимоверной степени сложности, сомнительную в плане безопасности.

Ваши слова
тут смысл в том, если человек понял, о чем вы говорите, то это хорошо

Аватар пользователя Frantsuzzz
Frantsuzzz 1 год назад
multpix написал:
Frantsuzzz написал:

Невнимательно читаете - я говорю: минимальном

Это значит - осознанно и аргументированно,

это значит не попадать в ситуацию когда:

"установил больше 100 модулей, они производят 100500 запросов в БД- что мне делать?",

"сделал на друпал 100 статичных страниц и блоков - как обслуживать?",

"деплой? -ХЗ, клепаю сразу на продакшн",

"7-ка/8-ка - вешает сервер...".
Нам тут нужны разделы по типу "best practices" и "tips & tricks",

чтоб пользователи не летали как мухи у гуано,

но росли как цветы в саду)))

да забудьте вы про такие разделы. Никаких Нам тут нужны разделы по типу "best practices" и "tips & tricks",

чтоб пользователи не летали как мухи у гуано,

но росли как цветы в саду)))

Аватар пользователя multpix
multpix 1 год назад
Frantsuzzz написал:
да забудьте вы про такие разделы

сие не понятно мне, объясните подробнее, если не трудно.

Аватар пользователя Frantsuzzz
Frantsuzzz 1 год назад

Наверное, я тупой, но я не понял вопроса в статье.
Все, вопрос понял. Отвечаю. У нас на форуме обычно две категории людей, или нам нужны инструкции как прочитать статьи в разделе "best practices" или как нам написать статью в раздел "best practices". Всё. Обычно, все остальные проходят мимо. Если не находят способа ее написать, то проходят мимо... Иногда останавливаются и грустно вздыхают..... Но потом уходят)))
От себя скажу: ни при каких условиях нельзя такое говорить на друпал форуме: минимальное применение контриб-модулей от сторонних разработчиков - это прям плохо.. очень плохо.. а Вы же хороший человек...

Аватар пользователя negociant
negociant 1 год назад
1
Frantsuzzz написал:

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

Внимательно перечитайте всю статью заново и вдумайтесь, в каком контексте автор имел ввиду минимальное использование контриба. Каждая задача требует разных подходов и реализаций. Так вот задачи, суть которых изложены в этом материале практически не требуют для своей реализации контрибных модулей, так как все необходимое есть уже в ядре Drupal 8.

Аватар пользователя multpix
multpix 1 год назад

Это же очень простой пример и очень простое демо,
в нем пока нет рендера на стороне сервера))

Аватар пользователя dashiwa
dashiwa 1 год назад

По поводу фреймворков и язка скажу вот что.. Обычно об этом все молчат..
90 процентов использующих фреймворки не вкурсе алгоритмов ,которые они реализуют..Поэтому подсев на один фреймворк не могут использовать второй..
Учить надо язык и алгоритмы..товарищи

Аватар пользователя multpix
multpix 1 год назад

Лично мне нравится вникать в новые фреймворки, разбираться и понимать как они устроены.
Это отличные наглядные примеры применения того или иного языка, реализации патернов, примеры решения отдельных задач, примеры мышления.
И пусть добрая половина не найдет применения в быту - это все одно хорошая практика.

Язык и чужая программа на этом языке - это как букварь и сборник стихов.
Хотите быть грамотным?
Тогда нужно:
1. Читать.
2. Писать.

Ваше же высказывание обобщающее не обобщаемое - настолько голословно и ничем не подтверждено, что и расцениваю его не иначе, как неудачную шутку )))
Оно мне подход к науке статистике в СССР напомнило...

Мы видим на примере этого форума (да даже конкретно этой ветки форума), как использование только одной CMS порой сужает кругозор,
но это ведь не повод, чтоб на основе этой выборки строить обобщение: "90% использующих друпал [тут любой вывод]".

Учить языки и алгоритмы - надо; вникать в современные технологии и изучать открытые результаты труда - надо!
А обобщать и голословить надо поменьше))

Аватар пользователя negociant
negociant 1 год назад
3
dashiwa написал:

90 процентов использующих фреймворки не вкурсе алгоритмов ,которые они реализуют..Поэтому подсев на один фреймворк не могут использовать второй..

99,99 процентов использующих CMS не вкурсе алгоритмов ,которые они реализуют..Поэтому подсев на одну CMS не могут использовать другую..

Фреймворки (и js, и php, python, ruby) как правило следуют одним и тем же паттернам, идеям и стандартам, поэтому изучив один, с легкостью поймешь другой, изучив документацию. А вот каждая CMS характерна индивидуальным набором спагетти-кода по принципу "Мы так сделали, потому что так посчитали нужным". И изучив одну CMS, вряд ли захочется прыгать в непролазные дебри другой. В этом плане Drupal 8 сделал огромный полушаг вперед (направление правильное, но реализация половинчатая).

Аватар пользователя multpix
multpix 1 год назад

Путь начинается с одного шага.

Аватар пользователя gun_dose
gun_dose 1 год назад

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

Аватар пользователя multpix
multpix 1 год назад
gun_dose написал:
Есть у такого подхода один минус - нагрузка на клиентскую машину.

Это особенность а не минус или плюс.
Особенность client-side фреймворков.
И вот самый простой пример, когда это плюс: "снижение нагрузки на сервер".

А по поводу открытых вкладок и слабого проца, сразу напрашивается метафора:
"мопед, груженный металлом".

Аватар пользователя gun_dose
gun_dose 1 год назад

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

А что касается старого проца - 1 - 1,2ГГц - это стандартная частота любого современного ультрабука, в том числе самого тонкого макбук эйр, интересно было бы посмотреть, как он будет отрисовывать гугл карту к примеру)) Правда у меня не ультрабук, просто когда-то сэкономил в трудные времена.

Аватар пользователя dashiwa
dashiwa 1 год назад

Голословно или не голословно. По тому же друпалу. Кто вникает в задачи
Нужно сделать модалку..Значит ситулс...
А как работает модалка? не знаю не хочу знать...
И так далее..
А сделать на css? тоже не хочу..
Выпадающее меню - модуль...
И это общая проблема

Аватар пользователя dashiwa
dashiwa 1 год назад

По поводу вникания.
Мало кто вникает..

Аватар пользователя multpix
multpix 1 год назад

Это именно то, что я вам пытался донести:
мало вникать - это больше проблема готовых CMS, но не фреймворков.

Аватар пользователя Studio VIZA
Studio VIZA 1 год назад

Учил материаловедение, в далёком1980 году, не понимал, для чего это нужно. Но ох как пригодилось в спорах с ненормальными заказчиками, которые всё оспаривали, и пытались вникнуть в суть процесса.
Знание хотя бы трёх cms позволяет видеть процесс "со стороны". Без идиотской "религии" и прочих штучек.

Аватар пользователя multpix
multpix 1 год назад

А это избитая максима:
"все познается в сравнении".

Аватар пользователя Studio VIZA
Studio VIZA 1 год назад
Ху ли GUN написал:
этот некст передавать либо гет параметром в экшн формы, либо скрытым инпутом и альтерим сабмит относительно нашего next_page.

Вапще всё ясно ))

Ху ли GUN написал:
Вроде тоже не сложно, но как это объяснять местным кликерам?

Вапще нисложна.
---------------------------------
Оторвись от консоли уже, послушай, понимают ли тебя люди после первой сказанной фразы. Сыпать англоязычным слэнгом, неэтично. Это может вызвать уважение, граничащее с благоговением, но никак не понимание.
Общаюсь с клиентами и очень часто приходится спусткатся на 8 ступенек ниже. 80% людей не знают что такое доменное имя, а ты...« скрытым инпутом и альтерим».

Аватар пользователя multpix
multpix 1 год назад
3
Studio VIZA написал:
80% людей не знают что такое доменное имя

Таким сразу давай инфу пр whois..
Ликвидируй девственность, как половую безграмотность!

Сорри за оффтоп, не удержался))))

Аватар пользователя xakd
xakd 1 год назад

Эта ветка походу вечной будет ))

Аватар пользователя multpix
multpix 10 месяцев назад

Жир)

Аватар пользователя negociant
negociant 10 месяцев назад

И кстати разработчики lamborghini.com почему то (даже не знаю почему) не стали использовать panels, ds и даже bootstrap. Слабаки)

Аватар пользователя multpix
multpix 10 месяцев назад
1

Атсчипенцы)
Неучи)

Аватар пользователя gun_dose
gun_dose 10 месяцев назад

Это потому что в восьмёрке у панелей сильно порезан функционал. Настолько, что весь смысл теряется. Бутстрап не юзали, т.к. судя по наличию ангуляра, не стоял вопрос об удешевлении разработки. Дс я вообще не понимаю зачем.

А вообще дай бог кому-нибудь с этого форума добраться до проектов, стоимостью хотя бы 1/10 от подобного.

Аватар пользователя sergeybelya
sergeybelya 10 месяцев назад

бутстрап не удешевляет разработку)

Аватар пользователя gun_dose
gun_dose 10 месяцев назад

Если не умеешь им пользоваться, то, несомненно, да.

Аватар пользователя negociant
negociant 10 месяцев назад
gun_dose написал:
Это потому что в восьмёрке у панелей сильно порезан функционал. Настолько, что весь смысл теряется.

Не знаю, что конкретно не хватает в восьмерочной версии, но тот же page manager вполне применяют - пример в типах материалов сайта http://www.rainforest-alliance.org/

Аватар пользователя Studio VIZA
Studio VIZA 10 месяцев назад

lamborghini.com
Registration Date: 1996-09-16 2 decades 3 months 4 days ago

Аватар пользователя BatKor
BatKor 10 месяцев назад
1

С Новым Годом! Решил написать свои комменты в эту темы, с бутылкой пива, после бурных обсуждений. Я вот, что то не понял или "тупой" совсем. Уже лет как 15 Разработчики html, js, css. ведут к тому что все надо разделять html отдельно js отдельно css отдельно и все такое, но черт возьми web приложение MVC где html + "непойми что" все в одном, да при том к этому es6 наверно с babel и с не понимание заработает ли все это на мобильных устройствах, а если нету js? то поступить как компания APPLE отказатьзя от 3.5 и все пусть блютуз гарнитура? да еще и показуха к примеру ангуляр вводишь ты данные в какой либо инпут и вот те на вывод сразу же в какото тег, вроде "красиво" но зачем это? Зачем? ну отправил ты данные кудато или проверяешь ну типа валидации вводимых данных, да и все равно зачем? Перейдем к друпал 8 с его twig и подключение к ниму ember, ангуляр или еще что там, и что вы мне предлагаете? (Я еще не занимался сильно с Друпал 8 и twig) но писать потом в twig шаблоне ({}) для вывода и еще сверху script какой нибудь еще потом все обромлять {% verbatim %} Да зачем мне это надо? Вот решил разобраться я ember.js чисто для понимания работы, так они мне пытаются "втюхать", node.js в консоли писать какие либо команды и вирт машине работать с emberom, а мне вот не нужна вирт машина я делаю сразу на VDS, на вирт машине конечно все уже настроено но как мне vds настроить, (Это я ember изучаю второй день)? ладно обращаюсь к ember на прямую подключаю все файлы с их сервака, и вот тебе на все работает модель представления, но вот решил я подключить базу, что мне делать? (Походу пива уже много), Ладно Отдыхайте Музики!!!

Аватар пользователя gun_dose
gun_dose 8 месяцев назад

@multpix я недавно стал более глубоко изучать данный вопрос и стало интересно, почему ты использовал json_api вместо имеющихся в ядре rest и hal?

Аватар пользователя multpix
multpix 8 месяцев назад
1

Были прощупаны все варианты.

Вернулся к json_api, ибо это действительно почти "orm по http")

Аватар пользователя mbaev
mbaev 8 месяцев назад

JSON - модно, современно, удобно.
SOAP - прошлое, хотя мне он больше симпатизирует и окружение, для работы с ним, есть в Drupal'е.

Аватар пользователя gun_dose
gun_dose 8 месяцев назад

Отдача джейсона на восьмёрке рулится за 5 сек раскидыванием нескольких галок совершенно без контриба.

Аватар пользователя mbaev
mbaev 8 месяцев назад

Говоря SOAP имею ввиду xmlrpc, а Вы?

Аватар пользователя gun_dose
gun_dose 8 месяцев назад

А я, говоря JSON, имею в виду REST

Аватар пользователя mbaev
mbaev 8 месяцев назад

REST имеет мало отношения к JSON.
REST - это архитектура приложения (больше его роутинговая часть)
JSON - это формат общения.

Из SOAPа не сделать JSON, сделать REST с использованием RPC, теоретически, можно.

Но все это совершенно не важно, т.к. я заметил, что мы говорим о 8-ке и тут мой интерес заканчивается. Простите.

Аватар пользователя multpix
multpix 8 месяцев назад

можно и так поабстрактничать:

rest, json, json_api
архитектура, транспорт, тип транспорта

Аватар пользователя gun_dose
gun_dose 8 месяцев назад

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

Аватар пользователя multpix
multpix 8 месяцев назад

погляди редакции топика,
вот в этой редакции - ядреный джейсон:
http://drupal.ru/node/130426/revisions/197848/view

просто сравни какой ответ отдает апи на нем и апи с использованием спецификации json_api

Аватар пользователя gun_dose
gun_dose 8 месяцев назад

Типа это ядро:
сщку

А это жсонапи?
4

Аватар пользователя multpix
multpix 8 месяцев назад

да
ток в первом случае - список статей, а во втором просмотр статьи

щас глянул, у битбакета пейдж отвалился
но пантеон еще работает))

попробуй эти клиенты:
https://chrome.google.com/webstore/detail/rested/eelcnbccaccipfolokglfhh...
https://addons.mozilla.org/ru/firefox/addon/rested/

ими можешь пощупать пример апи:
http://dev-headless-d8.pantheonsite.io/api/node/article?_format=api_json
http://dev-headless-d8.pantheonsite.io/api/user/user?_format=api_json

Аватар пользователя multpix
multpix 8 месяцев назад
1

просто сравните эту спецификацию с голым джейсоном
http://jsonapi.org/

Аватар пользователя mbaev
mbaev 8 месяцев назад

Спасибо за ссылочку. Отличное субботнее чтиво.

Аватар пользователя negociant
negociant 7 месяцев назад
gun_dose написал:
@multpix я недавно стал более глубоко изучать данный вопрос и стало интересно, почему ты использовал json_api вместо имеющихся в ядре rest и hal?

Дрис же писал, что JSON API и Simple OAuth будут включены в ядро, предварительно попав в экспериментальные модули ядра и объяснял почему - http://buytaert.net/improving-drupal-8-api-first-json-api-oauth2
Или друпал разработчики не читают блог http://buytaert.net, раз возникают подобные вопросы?