Напомнить что произошло с Flash, Java Applets и Unity Web Player, который "просто встроили в браузер"? Я напомню:
они были постоянно дырявыми, и по факту просто были дырками
они были привязаны к конкретному производителю
они не управлялись программистами, а были костылём который был приколочен рядом
если у пользователя что-то случалось, то цепочка виновных была: сайтостроитель, производитель браузера, операционной систем и только потом производитель плагина. Просто потому что так оно видно для пользователя.
И хоть сейчас и очень заметна монополизация гугла, веб всё равно остаётся областью паритета нескольких сил. Не было бы этого паритета был бы Apple и тот же Гугл со своими 30%.
Я для себя смирился с достаточно простой мыслью: веб это общественнозначимая помойка. И именно поскольку она общественно значимая её будут охранять от vendor lock'а и государства, и сами компании. Но общественное не может быть одновременно хорошим и удобным. Потому что нужно учитывать общее мнение и не может быть Сталина, который стукнет кулаком по столу и отменит поддержку es3 или html.
технологии фронтенда — объективно полный отстой
Да, потому что это наследие. Потому что люди когда придумывали эти технологии они совершенно не думали о проблемах, которые эти технологии будут решать через 20-30 лет. Вспомним хотя бы первые сети, которые не предусматривали шифрования, потому что никому в голову не приходило, что в сети могут пустить домохозяек и хакеров.
Ну на мобильники как бы тоже не бинарники летят. Хотя нет, по такой логике только Apple самые лучшие инженеры на этой планете, раз сразу бинарники людям поставляют.
Ну это уже давно обсуждали тысячу раз. Есть вещи для которых определённый подход хорошо, есть для которых плох. То что сейчас веб переживает проблему роста не значит что он говно. Это значит что сейчас люди наберутся злости и произойдёт что-то ещё новое. Тот же wasm является ступенькой к этому новому. Не само новое, а ступенькой к нему.
То что у автора есть проблемы и он огульно поливает грязью целую индустрию без доказательств говорит только о его "профессионализме". Вот только пользы от этого нет. Проблемы эти заметны уже давно и их так же давно пытаются решить. GCC (который компилятор от гугла, а не от GNU), typescript, dart, wasm, webpack, jquery — это всё представители этих самых решений. Это не решения которые "решают проблемы которые сами же создают", а инструменты, попытки сделать что-то лучше и удобнее. Да, сейчас всё обстоит так, что за удобство мы платим скоростью транспиляции, оптимизации, загрузки страницы, рендера страницы etc. Но не волнуйстесь, ничто не вечно под луной, особенно проблемы, которые видны каждому первому проходящему, вроде автора.
Есть консольная утилита для раскрашивания логов. Не помню как называется но выглядит достаточно универсальное и минималист инно для использования по ssh например. Если интересно то я могу найти название ее
А мне snap не нравится потому что каждое приложение отжирает секунду в blame и влияет на загрузку. Так что я наоборот стараюсь через deb устанавливать. Он получается более дешевый)
А ws не пробовали? Я просто пока не могу понять чем поддержка ts в vscode лучше чем ws. Автодополнение работает и там и там. А вот переименовать свойство сразу во многих местах, включая например те которые находятся в Omit у меня дейтище мелкомягких не смогло. Причём это самое изменение свойства в ws работает просто везде где только видно.
Наверное не так легко найти ответственного попрошайку, который к тому же готов честно предоставить всю инфу о своих доходах непонятному чуваку в очёчках и свитере.
Вы не представляете на что идут люди ради исследований. Переодеться, чтобы слиться со средой — самое меньшее и самое очевидное.
Может в одну неделю дождь и ему поэтому меньше подали? Может там праздник религиозный, поэтому подаяния увеличились?
Именно поэтому в исследованиях берётся много людей и много времени. И исследования делаются не поэтапно "сегодня мы всем раздаём шутки, а завтра реальные вещи", а максимально смешано, чтобы получить меньшее влияние внешних факторов на результат именно сравниваемых структур. Потому что влияние дождя тогда отразится на всех примерно одинаково и это не надо будет обдумывать. Просто дать приписку "на этих графиках видно падение во всех проверяемых — пошёл дождь на 3 часа".
На такое не надо получать гранты. Надо просто взять и пойти на улицу. Опрашивать людей, собрать данные хотя бы по 1к человек. Сделать предварительные выводы и попросить деньги НА РАЗВИТИЕ темы. То что сделали эти ребята — лажа полная. Это не социологическое исследование по всем понятиям. Это какая-то мысль в вакууме никак не верифицируемая реальностью. И если это исследование кто-то допусти в настоящий научный журнал, то видимо у журнала проблемы с контентом...
Это не исследование, а профанация какая-то. После слов "представить, что у них есть $60" я перестал воспринимать это как вообще исследование, которое можно воспринимать серьёзно. Исследование не чистое, с кучей ошибок на этапе постановки задачи. Кажется, что студням просто надо было сделать проект и написать его в журнальчик чтобы было. Ну как и у нас часто бывает.
В общем никаких выводов по исследованию "мечиганских студентов" делать не советую)
Почему опрос с радиобаттонами, а не чекбоксами? Я требую возможность выбрать оба варианта.
Ну а если серьёзно, то копаться в этом интересно конечно. Но никакого "правильно" или "не правильно" быть просто не может. Если говоришь человеку "у нас сервак аутентификации завалился" и он тебя понимает и не коробится, значит вы разговариваете на одном языке и никаких больше вопросов и додумок тут быть не должно.
Согласен что сам по себе OpenSource тут не виноват, просто для меня важным было количество кликов на устройствах. И у nextcloud оно было больше.
После своего комментария ещё раз потратил вечер и сравнил "рынок приложений" на айпаде. Нашёл несколько приложений. Теперь тестирую. Только они просят платить чтобы включить touch id… В общем наверное ещё немного пересмотрю свою схему.
Правда на яндексе у меня кроме паролей ещё и документы хранятся. Не знаю уж, получится ли что-то нормальное из этого всего.
есть же куча сторонних opensource приложений абсолютно под любые платформы, есть обычные plug-ins для софта, которые работают через webdav и хорошо интегрируются на нужном уровне.
Вроде как и да, но нифига. Я просто тоже сторонник сборки keepassxc (desktop) <- Ya.Disk -> Keepass2Android + KeePass (iPad). Со стороны дроида всё действительно относительно хорошо. Со стороны десктопа всё зашибись, сейчас даже мейнтейнеры поменялись и интерфейс обновили. Яндексовский демон тоже есть не просит, только иногда бесит что не умеет уведомлять о том, что пароль протух. А вот ipad — самый неудобный кусок этой системы. Потому что приложение на айпаде не умеет в webdav, а оно на айпаде кажется вообще единственное рабочее. Вот и приходится из я.диска на айпаде постоянно экспортировать файл с заменой в фс, а потом заново импортировать в этом приложеньеце.
Есть ещё какой-то keeshare. Но это какой-то единорог, информацию о котором я нормально так и не нашёл. О нём кстати айпадовское приложение тоже не знает.
Про nextcloud — он тупо не удобный со стороны десктопа. То есть да, вроде всё хорошо, но доступ по webdavfs меня совершенно не устраивает. Говорить про то, что на айпаде это получается опять же "перекладываем от сюда сюда" наверное тоже не надо.
В общем в данном раунде лично для меня OpenSource проиграл. Просто у него больше отрицательных очков неудобности.
Возможно эту часть надо запрятать не в специальные функции, а во внутренности bot-instance'ов. Потому что у вас так получается, что все муки выбора нужных хуков падут на программиста. Хотя муки выбора нужных компонентов вы с него сняли реализацией стандартных.
Честно говоря внутренний API у вас сильно спорный. Из проблем которые вижу прямо сейчас:
В документации не описано задание собственного хранилища сессий. Для работы по принципу stateless и например деплоя на heroku или vercel, который вы сами знаете как работает, это палка в колесо.
Названия методов и параметров у вас спорное… Это конечно дело творца, но получается очень перегружено и многословно.
useText, useVideo и так далее — по смыслу слова честно говоря не подходит от слова совсем. Конечно хорошо иметь приемственность, но api из реакта вы немного не соблюдаете. По сути все эти штуки это коллбеки, возможно их стоило бы назвать onTextAction((text) => .. do smth ..). И сразу же вопрос, куда вы дели зависимости коллбеков :)
Вы не сможете сделать прямо совсем совсем унивирсальные компоненты. Очевидно что вы вдохновлялись telegram'ом, но наличие useDice в core очень и очень сильно напрягает. Так же вопрос универсальности встаёт в свете того, что например кто-то сделает компонент Sticker для телеграма, а потом другой человек сделает этот же компонент для VK. Будет ли теперь Sticker влезать в core или он будет разделён на 2 platform-specific пакета? Или может вообще третий человек сделает третий пакет который объединяет обе реализации Sticker в одном компоненте в зависимости от контекста запуска. В общем тут я бы очень хотел узнать вашу позицию относительно "унификации" вашего API так, чтобы на него реально можно было как на кости накидывать мясо в виде разных платформ.
Вытекает из 4. Что будет если я использую компонент который не поддерживается в другой платформе? Мне вылетит какая-то ошибка или произойдёт какой-то фоллбек или что вообще произойдёт?
А теперь хотелочки:
hot-reload. После работы в вебе этой функции не хватает примерно в каждом проекте. С реализацией сессий например через файлы, можно будет и nodemon запускать. Но это опять же не совсем то, что хотелось видеть.
Более декларативный роутер. Тот который вы сделали сейчас очень даже хорош. Но он у вас немного vendor-lock'нутый получается. Уже есть много разных реализаций разных роутеров на фронте и под каждую задачу удобен свой. На вашем месте я бы реально реализовал свой history api со своим HOC, который бы подменял контекст пользователя на то, что ему надо.
Более компонентый bot api. Это касается сейчас наверное реализации самих bot-instance'ов, а конкретнее телеги и слака. И у того, и у того есть как longpoll, так и webhook, а у слака ещё и websocket'ы. Так вот реализацию longpoll и webhook желательно бы вынести как можно в более отдельный комопонент. Мне потому что например нравится скармливать события боту ручками. А ещё когда вы его вынесете можно будет его легче и точнее конфигурировать.
Тестирование. Выше говорили про визуальное тестирование. Я бы хотел предложить вам сфокусироваться сначала не на визуальной оболочке ботов, всё равно тестировать надо на реальном телеграме, а на каком-то решении для программного тестирования.
Ошибки. Кажется уже сейчас можно реализовать отлов ошибок с помощью componentDidCatch, но всё же хотелось бы освещение этого момента в документации и официальной поддержки этого механизма.
Дальше уже пожелания так по-мелочи: доку получше, интеграций побольше и всякое такое — это всё приходит со временем и обязательно появится.
Продублирую мысль из своего предыдушего комментария: "То что вы уже сделали очень и очень круто. Жду не дождусь когда смогу попользоваться".
Ребята, вы опоздали на год! Ну или я просто вас не искал тогда когда мне это было надо и сидел живал кактус.
Потенциал у библиотеки просто огромнейший! Сюда можно подключить хоть половину стека реакта и заиметь очень много фичей, которых тупо не хватает в императивном стиле.
Я писал небольшого по нынешним меркам бота и честно говоря реализовывать логику формочки на telegraf — застрелиться можно. Это просто ужас. В общем муки, муки, муки.
Пока я делал этого бота, пытался вспомнить хоть одно упоминание декларативного описания ботов, но не в виде no code сервисов, а в виде библиотек-фреймворков и нифига ни на одном языке вспомнить не смог.
Короче говоря этот комментарий будет про то, что вы о-о-о-очень хорошо попали в проблему и я теперь буду искать место где смогу поюзать вашу либу. Ну или постараюсь того бота переписать.
О, оно даже на $mol работает! Прикольно! Только вот поля ввода как-то неадаптивненько выглядят.
Интересно, как там работает сама проверка: на беке или на фронте?
А вот сайтик hyoo.ru свёрстан и задизайнен очень спорно и "прибит" к левой части экрана(
Да. Именно им и стал пользоваться в конце концов. Ещё был какой-то кандидат, но он проиграл. Не помню почему.
Напомнить что произошло с Flash, Java Applets и Unity Web Player, который "просто встроили в браузер"? Я напомню:
И хоть сейчас и очень заметна монополизация гугла, веб всё равно остаётся областью паритета нескольких сил. Не было бы этого паритета был бы Apple и тот же Гугл со своими 30%.
Я для себя смирился с достаточно простой мыслью: веб это общественнозначимая помойка. И именно поскольку она общественно значимая её будут охранять от vendor lock'а и государства, и сами компании. Но общественное не может быть одновременно хорошим и удобным. Потому что нужно учитывать общее мнение и не может быть Сталина, который стукнет кулаком по столу и отменит поддержку es3 или html.
Да, потому что это наследие. Потому что люди когда придумывали эти технологии они совершенно не думали о проблемах, которые эти технологии будут решать через 20-30 лет. Вспомним хотя бы первые сети, которые не предусматривали шифрования, потому что никому в голову не приходило, что в сети могут пустить домохозяек и хакеров.
Ну на мобильники как бы тоже не бинарники летят. Хотя нет, по такой логике только Apple самые лучшие инженеры на этой планете, раз сразу бинарники людям поставляют.
Ну это уже давно обсуждали тысячу раз. Есть вещи для которых определённый подход хорошо, есть для которых плох. То что сейчас веб переживает проблему роста не значит что он говно. Это значит что сейчас люди наберутся злости и произойдёт что-то ещё новое. Тот же wasm является ступенькой к этому новому. Не само новое, а ступенькой к нему.
То что у автора есть проблемы и он огульно поливает грязью целую индустрию без доказательств говорит только о его "профессионализме". Вот только пользы от этого нет. Проблемы эти заметны уже давно и их так же давно пытаются решить. GCC (который компилятор от гугла, а не от GNU), typescript, dart, wasm, webpack, jquery — это всё представители этих самых решений. Это не решения которые "решают проблемы которые сами же создают", а инструменты, попытки сделать что-то лучше и удобнее. Да, сейчас всё обстоит так, что за удобство мы платим скоростью транспиляции, оптимизации, загрузки страницы, рендера страницы etc. Но не волнуйстесь, ничто не вечно под луной, особенно проблемы, которые видны каждому первому проходящему, вроде автора.
Есть консольная утилита для раскрашивания логов. Не помню как называется но выглядит достаточно универсальное и минималист инно для использования по ssh например. Если интересно то я могу найти название ее
А мне snap не нравится потому что каждое приложение отжирает секунду в blame и влияет на загрузку. Так что я наоборот стараюсь через deb устанавливать. Он получается более дешевый)
А ws не пробовали? Я просто пока не могу понять чем поддержка ts в vscode лучше чем ws. Автодополнение работает и там и там. А вот переименовать свойство сразу во многих местах, включая например те которые находятся в Omit у меня дейтище мелкомягких не смогло. Причём это самое изменение свойства в ws работает просто везде где только видно.
Вы не представляете на что идут люди ради исследований. Переодеться, чтобы слиться со средой — самое меньшее и самое очевидное.
Именно поэтому в исследованиях берётся много людей и много времени. И исследования делаются не поэтапно "сегодня мы всем раздаём шутки, а завтра реальные вещи", а максимально смешано, чтобы получить меньшее влияние внешних факторов на результат именно сравниваемых структур. Потому что влияние дождя тогда отразится на всех примерно одинаково и это не надо будет обдумывать. Просто дать приписку "на этих графиках видно падение во всех проверяемых — пошёл дождь на 3 часа".
На такое не надо получать гранты. Надо просто взять и пойти на улицу. Опрашивать людей, собрать данные хотя бы по 1к человек. Сделать предварительные выводы и попросить деньги НА РАЗВИТИЕ темы. То что сделали эти ребята — лажа полная. Это не социологическое исследование по всем понятиям. Это какая-то мысль в вакууме никак не верифицируемая реальностью. И если это исследование кто-то допусти в настоящий научный журнал, то видимо у журнала проблемы с контентом...
Это не исследование, а профанация какая-то. После слов "представить, что у них есть $60" я перестал воспринимать это как вообще исследование, которое можно воспринимать серьёзно. Исследование не чистое, с кучей ошибок на этапе постановки задачи. Кажется, что студням просто надо было сделать проект и написать его в журнальчик чтобы было. Ну как и у нас часто бывает.
В общем никаких выводов по исследованию "мечиганских студентов" делать не советую)
Можно с помощью PgUp и PgDown передвигаться внутри истории конкретного терминала. Или вы о каком-то другом ограничении?
Почему опрос с радиобаттонами, а не чекбоксами? Я требую возможность выбрать оба варианта.
Ну а если серьёзно, то копаться в этом интересно конечно. Но никакого "правильно" или "не правильно" быть просто не может. Если говоришь человеку "у нас сервак аутентификации завалился" и он тебя понимает и не коробится, значит вы разговариваете на одном языке и никаких больше вопросов и додумок тут быть не должно.
По идее тут поможет systemd unit с rsync.
У меня всё выглядит сейчас так:
… яндекс синхронизирует файл базы со своим сервером ...
… яндекс на айпаде синхронизируется со своим серером ...
Со вчерашнего вечера пробую на айпаде такую же схему как на андроиде. Посмотрим как пойдёт.
Согласен что сам по себе OpenSource тут не виноват, просто для меня важным было количество кликов на устройствах. И у nextcloud оно было больше.
После своего комментария ещё раз потратил вечер и сравнил "рынок приложений" на айпаде. Нашёл несколько приложений. Теперь тестирую. Только они просят платить чтобы включить touch id… В общем наверное ещё немного пересмотрю свою схему.
Правда на яндексе у меня кроме паролей ещё и документы хранятся. Не знаю уж, получится ли что-то нормальное из этого всего.
Можете сказать векторы проблем, которые могут произойти?
Вроде как и да, но нифига. Я просто тоже сторонник сборки keepassxc (desktop) <- Ya.Disk -> Keepass2Android + KeePass (iPad). Со стороны дроида всё действительно относительно хорошо. Со стороны десктопа всё зашибись, сейчас даже мейнтейнеры поменялись и интерфейс обновили. Яндексовский демон тоже есть не просит, только иногда бесит что не умеет уведомлять о том, что пароль протух. А вот ipad — самый неудобный кусок этой системы. Потому что приложение на айпаде не умеет в webdav, а оно на айпаде кажется вообще единственное рабочее. Вот и приходится из я.диска на айпаде постоянно экспортировать файл с заменой в фс, а потом заново импортировать в этом приложеньеце.
Есть ещё какой-то keeshare. Но это какой-то единорог, информацию о котором я нормально так и не нашёл. О нём кстати айпадовское приложение тоже не знает.
Про nextcloud — он тупо не удобный со стороны десктопа. То есть да, вроде всё хорошо, но доступ по webdavfs меня совершенно не устраивает. Говорить про то, что на айпаде это получается опять же "перекладываем от сюда сюда" наверное тоже не надо.
В общем в данном раунде лично для меня OpenSource проиграл. Просто у него больше отрицательных очков неудобности.
Возможно эту часть надо запрятать не в специальные функции, а во внутренности bot-instance'ов. Потому что у вас так получается, что все муки выбора нужных хуков падут на программиста. Хотя муки выбора нужных компонентов вы с него сняли реализацией стандартных.
А теперь про технику.
Честно говоря внутренний API у вас сильно спорный. Из проблем которые вижу прямо сейчас:
onTextAction((text) => .. do smth ..)
. И сразу же вопрос, куда вы дели зависимости коллбеков :)А теперь хотелочки:
Дальше уже пожелания так по-мелочи: доку получше, интеграций побольше и всякое такое — это всё приходит со временем и обязательно появится.
Продублирую мысль из своего предыдушего комментария: "То что вы уже сделали очень и очень круто. Жду не дождусь когда смогу попользоваться".
Ребята, вы опоздали на год! Ну или я просто вас не искал тогда когда мне это было надо и сидел живал кактус.
Потенциал у библиотеки просто огромнейший! Сюда можно подключить хоть половину стека реакта и заиметь очень много фичей, которых тупо не хватает в императивном стиле.
Я писал небольшого по нынешним меркам бота и честно говоря реализовывать логику формочки на telegraf — застрелиться можно. Это просто ужас. В общем муки, муки, муки.
Пока я делал этого бота, пытался вспомнить хоть одно упоминание декларативного описания ботов, но не в виде no code сервисов, а в виде библиотек-фреймворков и нифига ни на одном языке вспомнить не смог.
Короче говоря этот комментарий будет про то, что вы о-о-о-очень хорошо попали в проблему и я теперь буду искать место где смогу поюзать вашу либу. Ну или постараюсь того бота переписать.
О, оно даже на $mol работает! Прикольно! Только вот поля ввода как-то неадаптивненько выглядят.
Интересно, как там работает сама проверка: на беке или на фронте?
А вот сайтик hyoo.ru свёрстан и задизайнен очень спорно и "прибит" к левой части экрана(
</фидбек о котором никто не просил>
А это сервис какой-то или просто кто-то делал бенч и обернут результаты в красивую картинку?