Автор Гілка: необхідність C++ Slack UI?  (Прочитано 10315 раз)

Відсутній BogdanM

  • Новачок
  • *
  • дописів: 7
  • Карма: +0/-0
  • фізик, програміст
Вітаю, панове! Ось зіткнувся із такою проблемою, що популярний в корпоративному середовищі чат/відео клієнт надзвичайно негарно гальмує у виконанні простих завдань:
- пошук тексту в історії чату;
- швидкісне введення тексту, UI просто не встигає відображати символи і змушує користувача робити недолугі помилки;
- втрата набраного тексту одразу за натиском кнопки [Enter], бо після тривалого часу в онлайні відбулась перевірка "жетону" авторизації і Slack client заблокувався;

Нинішній Slack UI client написаний з використанням лінивої технології "Electron", тобто JavaScript рушій на базі коду Chromium.
На мою думку, саме оверхед абстракцій у стеку: [C++ primitives rendering (Skia)] <- [HTML5 DOM renderer] <- [V8 JS engine] <-[ Application JS code]
призводить до проблем, просто тому, що компанія бажає скоротити витрати на підтримку програмного забезпечення, в результаті чого змушує усіх терпіти гальмування, або купувати супер-лептопи (у мене і без того Thinkpad P51 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz).

Також є Android Slack App. Там справи набагато краще і в мене нема нарікань, оскільки імовірно воно зроблене за допомогою Android Java SDK.
Я навіть розглядав способи запустити Android x86 VM і використовувати там цей клієнт, проте це виявилось не так просто, бо там банально системна оболонка не працює нормально у віртуальній машині.

Отже, можливим рішенням може бути написання клієнта на С++, використовучи портабельні бібліотеки на кшталт Qt5. Можна адаптувати до Slack API уже існуючу оболонку до інших мессенджерів, наприклад, Matrix/Riot тощо.
Значних проблем варто очікувати лише у інтеграції WebRTC з кодової бази Chromium, бо без популярних нині відео-дзвінків мало користі від такого клієнта Slack.

То ж, хотілось би почути Вашу думку, щоб правильно оцінити запаси мотивації для таких справ в open source. Також запрошую порадити якісь гарні портабельні (C++/Java) коди інших мессенджерів для огляду можливості використання їх коду під Slack API.

Дякую за увагу!

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +10/-0
  • Програміст
Re: необхідність C++ Slack UI?
« Відповідей #1 : 2020-06-24 14:49:52 »
Робити плагіни для закритих систем — погана ідея, хіба якщо дуже припече.
Ось є кілька варіантів з відкритим кодом:

https://github.com/raelgc/scudcloud/
https://github.com/erroneousboat/slack-term
https://github.com/dylex/slack-libpurple

В Slack можна ввімкнути простий текст у полі вводу, наскільки мені відомо.
« Змінено: 2020-06-24 16:03:35 від Володимир Лісівка »
[Fedora Linux]

Відсутній Re.

  • Загальний модератор
  • Літератор
  • *****
  • дописів: 1898
  • Карма: +1/-0
Re: необхідність C++ Slack UI?
« Відповідей #2 : 2020-06-24 15:07:43 »
Писати на feedback@slack.com не пробували?

Відсутній BogdanM

  • Новачок
  • *
  • дописів: 7
  • Карма: +0/-0
  • фізик, програміст
Re: необхідність C++ Slack UI?
« Відповідей #3 : 2020-06-24 15:35:28 »
Дякую Володимиру за пораду -- дійсно, варто поглянути в сторону інтеґрації із libpurple.
Додати туди підтримку OAuth (можливо в сусідніх проектах OAuth живе десь окремо, тощо), оскільки Slack Inc. вилучили токени, як описано в проекті slack-libpurple.
Клієнт з текстовим інтерфейсом теж чудовий замінник, йому теж не вистачає OAuth.
Можливо, якраз варто замислитись над внеском в ці проекти, натомість.