Ахаха так-так-так что тут у нас ахахаха, создание нового приложения-клиента для Двачика, прототипирование интерфейса с использованием современных технологий (дальше расскажу каких).
Это уже не первая моя попытка сделать такое, в архивах даже есть треды про АПИшку за моим авторстом, но не суть.
Суть в том что я буду делать в прямом эфире, возможно запущу стрим? У меня есть опыт и достаточно знаний, вот писочница PWA приложения на Реакте, Материал-УИ№5 интерфейсом.
>>260193893 (OP) Очередной джун пишет на говноскрипте вместо чуть менее говноскрипта, на который все уже перешли в вашей говноотрасли, и обмазывается реактом в прямом эфире, спешите видеть. А то мне мало на десктопе вашего электрон-говна, все мессенджеры суммарно жрут несколько гигов, периодически крутят процессор и ещё тормозят, как будто там внутри целая IDE, хотя приложения по сложности недалеко ушли от калькулятора. Хоть бы кто написал на дотнете и нативном гуи клиент што ле.
>>260196458 чел ты.... там всё понятно же, хули ты выёбываешься. Во-первых при писании ты не пишешь просто на рандом, а делаешь анонимную функцию и пихаешь пустой список(или как там эта поебота) `React.poeben(() => {тута будет функционал}, [])`, потом хуяришь функционал, который представляет из себя какую-то поебень с ещё одной лямбдой, ну и похуй, суть понял. Да и читать это тоже просто, представь себе контейнер, внутри ещё контейнер, внутри ещё контейнер и отслеживай просто границы контейнера
>>260196828 Я не тот чел, но по-моему он доебался до гибрида вот синтаксической радости: (async () => {})() с коллбэками асинхронных функций. Само по себе определение с вызовом не очень страшное. Но когда оно находится внутри списка аргументов другой функции, который тоже внутри чьих-то скобочек, то всё это напоминает взрыв на лисп-фабрике. На том конкретном скриншоте оно на грани нормальности, бывает сильно хуже.
А вот до уродливой жсной смеси асинхронных и синхронных функций надо доёбываться, пока у жабаскриптеров пуканы не возгорятся. Это же пиздец, когда в языке есть два вида функций, которые извне никак не отличаются, но при этом имеют разную семантику. Одни функции возвращают значение синхронно, другие асинхронно вызывают переданные коллбеки, и этих других нельзя вызвать из первых и нельзя скомпозить в выражениях, да и обработка ошибок у них другая. Раз средства работы с ними в языке не отличаются, то при работе с функциями второго типа из функций первого типа надо городить хуйню, известную, как callback hell. В языке много пиздеца, но этот пиздец лучше всего показывает быдлокодерское нутро жса. Жабаскриптеры, при всём их скромном уме, тоже не любят страдать и реализовали концепт промисов. С промисами, конечно, жить получше, только их по-прежнему нельзя юзать в трай-кетч и прочем контрол флоу, и по прежнему не выйдет нормально вызвать функцию, возвращающую фьючер, из синхронного кода. Ненормально вызвать можно, но потом другой погромист, вынужденный читать и поддерживать такой код, придёт и набьет ебало. Короче, ненавижу, блять, жс.
все дело в том что я хочу не просто читалку и даже не просто полноценный клиент, я хочу живое, интерактивное приложение с движением тредов в рельном времени
мое занятие это скорейй just for fun эксперимент-тестирование каких-то концепций
>>260199092 С точки зрения языка он идеален, сам лиспы люблю в виде Racket. Но пишу на нём редко и только пет-проекты, да и там стараюсь передоза скобочек (по меркам лиспа) избегать, например, вынося лямбду в отдельную функцию, если она находится в когнитивно сложном месте. К счастью или сожалению, любить лиспы выходит больше теоретически, чем практически, уж больно они низкоуровневые, вялотипизированные и с хромающей экосистемой со скромным комьюнити, но это не недостаток языка. Я прям уверен, что если бы Брендан Эйх тогда не изобрёл бы жс, а прикрутил бы в нетскейпе какой-нибудь лисп, сейчас бы все наворачивали скобочки и сладко причмокивали.
какое риалтайм представление можно придумать для борды? все в мире список, так ведь, лисперы? борда список тредов, тред список постов, первый пост в треде суть элемент списка тредов, я хочу видеть живую доску
показывать в списке тредов последние посты в тредах обновляемо в реальном времени, в виде бегущего чата?
>>260200215 Ага, а что в мире не список и не граф, то в мире множество. Я бы не изобретал велосипед. В списке тредов последние посты нафиг не нужны, там в половине случаев будет нахрюк и боевые картиночки. В треде самое важное его первый пост, он задаёт тон всей дискуссии. Вот и показывай его картинку и текст. И в углу трёхточечное меню, где можно открыть галерею со всеми изображениями из поста, скопировать ссылку на тред, захайдить, репортнуть. И для списка тредов лэйаут сделай не только списком, но и гридом, чтобы сделать из списка тредов заодно и каталог. Где-нибудь наверху добавишь поле поиска и кнопку превращения списка в грид, и получится каталог. Для грида текст первого поста можно обрезать по 80–100 символам, например, а вот для списка текст обрезать не надо, в этом и смысл списка vs грида. И размер шрифтов сделай настраиваемым или производным от системных размеров, у сорокалетних олдов и юных битардов разные взгляды на жизнь. Как дойдёшь до сортировки, то сортировать может захотется по времени последнего ответа, по количеству картинок и по количеству ответов. По дефолту сортировка по id треда. Если хочешь охуеть, сделай поиск с морфологией.
>>260200483 Щас бы в мире жаваскрипта с десятками инстансов ноды на каждый чих и зоопарком билд-скриптов жаловаться на ресурсы и на ломающийся билд. Как там у вас, папка node_modules ещё не сколлапсировала в чёрную дыру?