Узнал про Zulip
Позавчера, сидя на Идеалистах и листая ленту Fediverse, узнал о существовании такого проекта как Zulip. Решил узнать поподробнее, что это такое. И в очередной раз оказалось, что всё уже придумано для нас! Zulip изначально позиционируется как open source аналог Slack. Но в нём реализованы мои идеи мобильного сообщества как сочетания realtime-общения и асинхронного общения в одном месте! Что-то вроде self-hosted стены ВК или канала в Telegram, только ещё с поддержкой деления на разделы (там их называют каналами) и темы, как на форуме . Хотя, на мой взгляд, то, как это деление там устроено, несколько перегружает интерфейс. К тому же я предполагал мобильное сообщество сбалансированным в плане пользователь-центричности (user centrinc) и темо-центричности (topc centric), тогда как Zulip — это типичное темо-центричное сообщество. Там даже отдельной страницы профиля пользователя нет, только карточка, которая показывается при наведении мыши с минимумом информации: имя, аватар, статус в сообществе, и всё. Ни счётчика сообщений, ни поиска всего, написанного автором.
Но есть и недостатки. Во-первых, Zulip сделан на Django+PostreSQL, из-за чего будет весьма прожорлив в плане памяти. Во-вторых, использует client side rendering, и в принципе не будет работать с выключенным JavaScript. Хотя этим страдают многие проекты, сделанные после где-то 2012 года (Zulip появился в 2013), те же Mastodon и Akkoma, например. Но, справедливости ради, следует заметить, что интерфейс там достаточно быстрый и отзывчивый, а на любое сообщение или тему можно поставить внешнюю ссылку, как на полноценном форуме (но реализованы они в формате #/channtel/topic). Правда, не знаю, поддерживается ли возможность читать и писать сообщения в оффлайне. Для Web-версии поддержки PWA нет, но в то же время есть native apps для всех платформ (надеюсь, не на Electron написанные).
В общем, буду изучать Zulip дальше. Но, в любом случае, теперь количество возможных направлений жизни сократилось вообще до четырёх: блоггерство (и сюда же каталог бесплатного софта), инфобезопасность, написание TextCMS 2.0 на базе Preambula, участие в сторонних open source проектах (в первую очередь, HumHub, хотя кто знает, может и в Zulip вклад сделаю).
Но есть и недостатки. Во-первых, Zulip сделан на Django+PostreSQL, из-за чего будет весьма прожорлив в плане памяти. Во-вторых, использует client side rendering, и в принципе не будет работать с выключенным JavaScript. Хотя этим страдают многие проекты, сделанные после где-то 2012 года (Zulip появился в 2013), те же Mastodon и Akkoma, например. Но, справедливости ради, следует заметить, что интерфейс там достаточно быстрый и отзывчивый, а на любое сообщение или тему можно поставить внешнюю ссылку, как на полноценном форуме (но реализованы они в формате #/channtel/topic). Правда, не знаю, поддерживается ли возможность читать и писать сообщения в оффлайне. Для Web-версии поддержки PWA нет, но в то же время есть native apps для всех платформ (надеюсь, не на Electron написанные).
В общем, буду изучать Zulip дальше. Но, в любом случае, теперь количество возможных направлений жизни сократилось вообще до четырёх: блоггерство (и сюда же каталог бесплатного софта), инфобезопасность, написание TextCMS 2.0 на базе Preambula, участие в сторонних open source проектах (в первую очередь, HumHub, хотя кто знает, может и в Zulip вклад сделаю).
При использовании серверного рендеринга без оптимизаций вроде кэшей тоже, на самом деле. Но кэш в 0.5-1 ГБ особо не засунешь помимо бизнес-логики и всяких баз данных.
CSR можно делать без фреймворков.
Алсо отдавать статику + AJAX - это не серверный рендеринг. Серверный рендеринг - это когда буквально при каждом взаимодействии пользователя с сервисом перерендеривается страничка. От такого в чатах и всяких браузерных MMORPG отказались по разумным причинам.
jQuery это сделал раньше, а потом и браузерный JavaScript подтянулся, а про Ослика забыли.
React Native появился намного позже React, который задумывался как раз для сценариев вроде кучи риал-тайм нотификаций.
Node.js развивается параллельно Реакту и т.д.