Вітаю, панове! Ось зіткнувся із такою проблемою, що популярний в корпоративному середовищі чат/відео клієнт надзвичайно негарно гальмує у виконанні простих завдань:
- пошук тексту в історії чату;
- швидкісне введення тексту, 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.
Дякую за увагу!