LINUX.ORG.RU

Современная CRM без JavaScript

 , ,


0

3

Есть желание разработать CRM систему. Но в требованиях к ней есть ….полноценная работа с отключенным в браузере JS.

Собственно, проблема на этапе проектирования CRM: уведомлять пользователя о пришедших письмах и сообщениях.

Варианты решения:

  1. ддосить сервер перезагружающимся iframe раз в 3-5 сек. и выводить количество новый уведомлений.

  2. вариант с вебсокетом отпал по причине неработающего JS

Какие варианты есть?

ПС. Отказ от веб решения в пользу нативного софта в ОС рассматриваем после того как будет решение с web платформой.

полноценная работа с отключенным в браузере JS

Отличное требование. Одобряю. Чем меньше js - тем лучше.

Какие варианты есть?

Выдавать уведомление при обновлении страницы. Если js не будет, пользователи будут же лазить по CRM, будут открывать страницы и увидят уведомление.

th3m3 ★★★★★
()

Но в требованиях к ней есть ….полноценная работа с отключенным в браузере JS

Очень интересное требование. Но зачем?

goingUp ★★★★★
()
Ответ на: комментарий от goingUp

За всех пользователей интернета с выключенным в браузере js не отвечу. От некоторых слышал что установили расширение Аля BlockJS, так как «сильно тормозит»

morkovkin
() автор топика
Последнее исправление: morkovkin (всего исправлений: 1)

ддосить сервер перезагружающимся iframe раз в 3-5 сек. и выводить количество новый уведомлений
За всех пользователей интернета с выключенным в браузере js не отвечу. От некоторых слышал что установили расширение Аля BlockJS, так как «сильно тормозит»

Ты решаешь неправильную проблему. По-твоему, перезагружающийся по 20 раз в минуту iframe будет тормозить меньше, чем грамотно выполненные оповещения на WebSocket? А вот я думаю наоборот. Лично у меня, как у пользователя uMatrix, скрипты самого сайта всегда разрешены, а проблемы возникают от левых хостов, в том числе трекеров, и просто рукожопых индусов пишущих на каком-нибудь угаре, вроде React, подтормаживающем даже в статичной странице на достаточно современном компе (что тот же Facebook давно решает через SSR).

Отказ от веб решения в пользу нативного софта в ОС рассматриваем после того как будет решение с web платформой

Веб-платформа плохо подходит для большинства приложений, кроме каких-то примитивных мессенжеров или других примитивных апликух совместной работы, эксплуатирующих простую доступность HTML разметки в своем содержимом. Хотя, если положить руку на сердце, то нативные решения даже в этой нише намного лучше веб-приложений, потому что там используется от силы 10% всего HTML, потому легко реализуются нативными либами, а плюшки от лучшей интеграции с системой и отсутствия лишних слоев HTML/DOM наследия перевешивают легкодоступный HTML.

byko3y ★★★★
()
Ответ на: комментарий от fernandos

Выдавать уведомление при обновлении страницы

Лорчую

Мне вот интересно, как вы представляете ускорение работы приложухи с таким подходом? Чтобы прочитать эти сообщения, ему придется делать еще одно обновление страницы. Обновление контента AJAX-запросом с тупой перезаписью HTML в блоке, без выполнения запросов вспомогательных запросов, без загрузки базовых стилей и картинок будет быстрее, чем обновление страницы. Именно поэтому такой подход применялся уже в бородатых 90-х, когда компы были намного, намного тормознутее, а каналы были меньше 1 Мбита/с даже у буржуев.

byko3y ★★★★
()
Последнее исправление: byko3y (всего исправлений: 1)
Ответ на: комментарий от byko3y

Какое ещё ускорение работы? ТС хочет сделать что-то без ЖС, его право.

Маниакальное «лишь бы не жс» мне не нравится, если вы про это.

fernandos ★★★
()
Ответ на: комментарий от fernandos

Какое ещё ускорение работы? ТС хочет сделать что-то без ЖС, его право
Маниакальное «лишь бы не жс» мне не нравится, если вы про это

Так что ты тогда лорчуешь? Давайте не забывать, что HTML — это протокол для передачи текста с картинками и ссылками. Да, еще были примитивные формы для обратной передачи информации, и очень убогие таблицы. До появления flexbox и layour grid там даже нельзя было сделать четыре панельки по сторонам страницы. Соответственно, ни о каких уведомлениях-сообщениях не могло идти речи, в разные эпохи интерактивность делалась на ActiveX, Flash, Java, ну и на JS, вестимо.

byko3y ★★★★
()
Ответ на: комментарий от byko3y

Так что ты тогда лорчуешь

Потому что если ТС хочет сделать без ЖС — то это самый оптимальный вариант.

HTML — это протокол

Нет, язык разметки.

Соответственно, ни о каких уведомлениях-сообщениях не могло идти речи

Это будет «уведомление» по типу гмейла-html версии. Просто циферка/галочка в нужном месте.

З.Ы.: сам когда-то пилил no-js блоговый движок, отсутствие ЖС выливается в отсутсвие функциональности. Поэтому самым нормальным будет

Выдавать уведомление при обновлении страницы

, и тормозить не будет, и не надо сношаться со странными технологиями.

fernandos ★★★
()
Последнее исправление: fernandos (всего исправлений: 1)
Ответ на: комментарий от byko3y

ускорение работы приложухи с таким подходом?

Нет приложухи - нет проблем. HTML текст не тормозит.

Shadow ★★★★★
()

Ух вообще ппц тупое ТЗ. Щас без ЖС никуда…

Но как вариант можно рассмотреть эти технологии:

  • Silverlight (works as Moonlight on Linux too!)

  • Flash

  • Java

Ну или само собой копать в сторону webassembly (WASM) Но похоже его тоже можно отключить

https://security.stackexchange.com/questions/224623/can-webassembly-execution-be-disabled-in-browsers

romanlinux ★★★
()
Последнее исправление: romanlinux (всего исправлений: 2)

Наверное вам надо смотреть в сторону «грамотного использования» js, а не его полного исключения. Помню где-то на хабре была статья на эту тему. Там чел подробно анализировал что сколько кушает и как самому приготовить нужные JS компоненты.

Кстати, на ЛОРе посмотрите как работает ссылка «обновить». Кроме неё ведь больше ничего не стали вставлять в страницу и все довольны

poshat ★★★
()
Последнее исправление: poshat (всего исправлений: 2)

Если отказываетесь от жс, то и от фич подобных отказывайтесь.

Legioner ★★★★★
()
Ответ на: комментарий от poshat

и все довольны

4.2, надо бы в лор интегрировать функциональность lorify-ng.

fernandos ★★★
()

Автор неадекват какой-то 🤣 давай тогда, чтобы интерфейс был CLI, и таким образом новые данные вносились в CRM, через терминал по SSH, и только так

menangen ★★★★★
()
Ответ на: комментарий от poshat

Помню где-то на хабре была статья на эту тему. Там чел подробно анализировал что сколько кушает и как самому приготовить нужные JS компоненты

Какой смысл ее упоминать без ссылки на статью? Если это обычное профилирование в dev tools, то, в принципе. можно и без ссылки, это и так все известно.

byko3y ★★★★
()

Бесконечно подгружающийся айфрейм. CSS’ом делаешь чтобы только последнее (или n последних) уведомление отображалось. Дополнительно ещё повесить метарефреш, например, минуту (хотя я не знаю сработает ли он для бесконечного айфрейма - не проверял, хотя можно сделать чтобы сервер завершал реквест чуть раньше и тогда точно всё будет работать) чтобы хтмло у юзера в браузере бесконечно не росло в открытой вкладке.

fulmar_lor
()
Последнее исправление: fulmar_lor (всего исправлений: 1)

Ну раз вариант у нас один, то я выбираю именно его.

thesis ★★★★★
()

Сделай свой браузер, где нотификации будут вшиты в спецификацию. Тебе всё равно цсс выпиливать.

crutch_master ★★★★★
()

Как посмотреть ютуб на ПК без ОС?

Как позвонить с телефона, которого нет?

Какие варианты есть?

CryNet ★★★★★
()
Последнее исправление: CryNet (всего исправлений: 1)
Ответ на: комментарий от CryNet

Как позвонить с телефона, которого нет.

Могу рассказать по теме много (если интересует и не решили пустить пыль в глаза). Раньше АТ станции считали импульсы в качестве индентификации цифр номера телефона, и мы применив военную смекалку пользовались этим. Достаточно было подключить динамик (который выступал реверс-микрофоном), набор номера осуществляется кратковременным разрывом линии. (С) учись студент!

morkovkin
() автор топика
Ответ на: комментарий от morkovkin

Современная CRM без JavaScript

Это не тот случай :(

CryNet ★★★★★
()

Elixir/Phoenix LiveView не подойдёт? Заявлена работа с отключённым в браузере JS.

anonymous
()

Можно взять за основу XEP-0124: Bidirectional-streams Over Synchronous HTTP (BOSH)

FoXy_
()

Не получится. Суть современной CRM это интеграции с другими платформами, многие из которых используют JS и вам придется встраивать их JS код на страницы своей CRM, потому что:

  1. Вы не будете вольны выбирать с чем интегрироваться. Клиент или начальство сказало, значит надо делать.
  2. Многие, если не все решения для бизнеса, которые клиенты хотят интегрировать, представляют из себя набор костылей без альтернативных решений.
anonymous
()
Ответ на: комментарий от th3m3

Охуенное требование. Одобряю. Чем меньше js - тем лучше.

Уведомления не будут работать без жс 100%. Имхо, требования противоречат друг другу. Как компромисс можно сойтись на минимальном использовании vanilla js, без либ и прочей мишуры.

anonymous
()
Ответ на: комментарий от anonymous

CRM это не про минимальность. Это про максимальность на каждый квадратный сантиметр экрана.

anonymous
()

самый главный тормоз - это БД, а JS то тут причём? Что это за CRM без аякса будет?
это же надо очень постараться, чтобы напихать юзеру либ от мегабайта, написанных индусом, чтобы у него браузер начал запинаться...

кстати, CSS тоже умеет тормозить... Вырубай.

tip78
()
Последнее исправление: tip78 (всего исправлений: 3)
Ответ на: комментарий от CryNet

Как позвонить с телефона, которого нет?

Вы упускаете важную деталь: смысл не в звонке, а в передаче информации. Кому-то и телеграфа хватает.

fernandos ★★★
()

ддосить сервер перезагружающимся iframe раз в 3-5 сек. и выводить количество новый уведомлений.

Не надо DDOSить, long polling работает и с iframe

Грубо говоря, тормозить отдачу ответа «уведомлений нет» на 30-60с или до появления уведомления.

Таким образом сильно сократится частота запросов

timdorohin ★★★★
()

нет js - нет динамического контента ¯\(ツ)

вариант, что без js просто не будет динамически обновляться счётчик уведомлений не рассматривается?

Ford_Focus ★★★★★
()
Ответ на: комментарий от no-such-file

Скоро 🍑 и пульсирующие 🍆 пойдут)

anonymous
()

Не совсем понял. Без JS ты даже к Local Storage не сможешь обратиться. Где ты будешь хранить состояние, которое переживет обновление страницы?

guten_morgen
()
Ответ на: комментарий от menangen

и это прекрасно, ато наберут тупых блондинок, которые не понимают как оно работает ))

deep-purple ★★★★★
()
Ответ на: комментарий от fernandos

Маниакальное «лишь бы не жс» мне не нравится, если вы про это.

Так он может для tor разрабатывает.

adn ★★★★
()
Ответ на: комментарий от guten_morgen

Ну хорошо. А это как можно сделать без JS:

meta http-equiv=«refresh»

morkovkin
() автор топика
Последнее исправление: morkovkin (всего исправлений: 2)

а в чем проблема собственно, либо берете готовый вариант либо пишите сами любое из пабсаб решений и в путь, про вебсокеты не понял что там с неработающим js есть реализации не на js как на сервере так и на клиенте.

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

abcq ★★
()
Последнее исправление: abcq (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.