1.1, Аноним (1), 10:21, 07/12/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Решения для создания невообразимо отвратительных проприетарных шпионских сайтов.
| |
|
2.37, Аноним (-), 06:51, 23/12/2021 [^] [^^] [^^^] [ответить]
| +/– |
Судя по описанию - сделано ящерами с планеты ниибиру, видимо на js у них аллергия.
| |
2.39, Аноним (39), 17:31, 27/12/2021 [^] [^^] [^^^] [ответить]
| +/– |
А в чем невообразимость? Js при данных подходах все равно нужен, который ещё нужно вытянуть с соответствующих доменов. Достаточно забанить клиентскую часть и все эти свистоперделки превращаются в тыкву.
| |
|
1.2, stillswamp (ok), 11:05, 07/12/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Отвратительность и шпионство создают не решения а люди. Любой сайт можно сделать отвратительным и шпионским вне зависимости от технологии.
| |
1.3, Linuxoid (?), 13:13, 07/12/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Хорошая статья. Если обратиться к исследуемым библиотекам, то нужно быть либо скалистом, либо пиэйчпистом. Маловероятно, чтобы один человек, достаточно хорошо разбирался бы в обоих языках одновременно. По поводу исключения js-из разработки, думаю это не правильный пусть. Нужно наоборот, вовлекаться в js-технологии. Зачем придумывать велосипеды? Есть замечательный пример с языком Dart. Есть и другие примеры. Нужно принять, что js-это уже экосистема, которую не получиться игнорировать.
| |
|
2.4, stillswamp (ok), 14:02, 07/12/2021 [^] [^^] [^^^] [ответить]
| +1 +/– |
Суть указанных подходов - сокращение средств разработки.
Так как избавиться от девелопинга на бэке невозможно, следует логичное стремление сократить девелопинг на фронте. При этом не просто переместить на бэк JS, а принципиально исключить его.
На чем написан бэкэнд - уже не принципиально.
| |
|
3.12, Аноним (12), 10:30, 11/12/2021 [^] [^^] [^^^] [ответить]
| +/– |
> сократить девелопинг на фронте
Нет, теперь бэку, помимо своей основной работы, придется выполнять также и работу фронтендеров, столь заботливо переложенную на них фреймворком Pusa.
DOMBody()->DOMChilds('GUID', self::ID)->DOMValue(clGUID());
Здесь нет ничего, что бы относилось к "бизнес-логике", здесь исключительно гуйная логика, которая выполняется не там, где должна бы.
| |
|
4.15, stillswamp (ok), 12:39, 11/12/2021 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> сократить девелопинг на фронте
> Нет, теперь бэку, помимо своей основной работы, придется выполнять также и работу
> фронтендеров, столь заботливо переложенную на них фреймворком Pusa.
> DOMBody()->DOMChilds('GUID', self::ID)->DOMValue(clGUID());
> Здесь нет ничего, что бы относилось к "бизнес-логике", здесь исключительно гуйная логика,
> которая выполняется не там, где должна бы.
Поясню принцип: если работу можно выполнить одному специалисту одним инструментом без потери качества и времени, это лучше сделать именно так, так как исключает расходы на координацию.
Pusa не про то что "ай бэку нужно делать фронт". Pusa - техническое средство решающее финансовые вопросы унификацией инструментария и специализации.
| |
|
5.16, Аноним (12), 19:01, 11/12/2021 [^] [^^] [^^^] [ответить] | +/– | При этом предполагается, что у проекта будет только веб-клиент причем один, а н... большой текст свёрнут, показать | |
|
6.17, stillswamp (ok), 20:16, 11/12/2021 [^] [^^] [^^^] [ответить]
| +/– |
1. Контекст отображения не имеет принципиально никакого значения с точки зрения фэймворка. Прошу пояснить каким образом конечное устройство влияет на бэк и почему его придется убрать?
2. Повторю ранее заданный в этой же ветке вопрос. Представьте case который не реализуем в Pusa на текущий момент. Он будет либо сделан либо явно включен в ограничения.
3. Разработчк на Pusa НЕ РАБОТАЕТ с DOM. Он оперирует крайне ограниченным набором инструкций которые могут формировать DOM, при этом об его фактическом устройстве знать не обязательно. DOM* функционал Pusa - не более чем набор конечных инструкций. Если вы занимались разработкой под opengl, то подход для вас будет знаком. Разраб работает с инструкциями а не с контекстом. Это принципиально важно.
4. Один разработчик - это крайний пример плоской схемы, когда у вас в наличии вместо нескольких направлений с необходимостью координации линейные бэки. Не погибнет эта схема с расширением бизнеса. Pusa создана масштабированием и под оное.
5. XHR выбран в качестве САМОГО примитивного варианта для демонстрации схемы и доказательства ее работоспособности. Так же была выполнена реализация на iframe, но была отклонена что бы не пугать людей. Мы планируем представить реализации как минимум на ws для golang, java, node.js. При этом мы по прежнему будем настаивать на исключении хранения состояния клиента на бэке.
| |
|
7.18, Аноним (12), 21:06, 11/12/2021 [^] [^^] [^^^] [ответить] | +2 +/– | DOMChilds GUID , self ID -- этот код может не сработать Потому что у альтерн... большой текст свёрнут, показать | |
|
|
9.22, Аноним (12), 14:14, 12/12/2021 [^] [^^] [^^^] [ответить] | +/– | Все, что угодно Еще одна веб-страница, созданная с нуля, с другой версткой, но ... большой текст свёрнут, показать | |
|
|
11.26, Аноним (12), 22:10, 12/12/2021 [^] [^^] [^^^] [ответить] | +/– | Не увидел ответа, как к существующему сайту на фреймворке прикрутить нативное мо... большой текст свёрнут, показать | |
|
|
|
|
|
|
5.49, Бывалый смузихлёб (?), 07:01, 14/03/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Если речь не о самом примитивном конструкторе страниц из готовых блоков, то задача становится совсем непростой.
И тот «один специалист-бэкендер-скалист( такие вообще в природе существуют в ощутимых количествах? )» вмиг превращается в фуллстека, притом не самого плохого с необходимостью понимания очень многих штук.
Нюанс в том, что можно хоть треснуть, но стили на клиенте в итоге все равно будут в CSS ( лучше в файлах, инлайн плохо кешируется и обработка его жрет много ресурсов )
Равно как и основная «динамическая» работа будет на JS. И «не работать» с ним удастся только при применении готовых блоков( в которых уже кто-то поработал ), в иных случаях - по многим причинам придётся ещё и жс как-то заталкивать чтобы он не сломал систему.
И ещё один, но фундаментальный нюанс в том, что сетевые запросы требуют времени и немалого.
В этом смысле нет большой разницы, весит ли скрипт 6кб или 60 - скорее всего, само время сетевых запросов будет больше длительности скачивания.
В данном же случае пользователю, чтоб увидеть первую норм страницу, потребуется ожидание нескольких запросов и отработки скриптов, сама реакция на изменения будет с лагом.
Особенно это критично в случае разных анимаций и проч, завязанных на действия пользователя( где-то что-то начал вводить, где-то провёл мышкой или пальцем по тачскрину - это ж сколько запросов полетит на сервер, итд )
Хотя сама идея, в общем и целом, весьма интересна. Есть подозрение что для внутренних корпоративных систем будет очень даже годно
| |
|
|
|
|
1.5, Аноним (5), 10:58, 08/12/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Подход Korolev мне больше нравится. Было бы офигенно, если бы кто-то сделал что-то подобное, но независимое от языка бэкенда.
| |
|
2.47, DD (??), 23:25, 04/02/2022 [^] [^^] [^^^] [ответить]
| +/– |
Here is a solution to you - JavaScript in browse!
| |
|
1.6, Glushko (?), 11:51, 09/12/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
бредовый подход. но история повторяется: раньше гоняли ajax-ом сгенеренные куски хтмл, теперь пошли дальше: оверинжинирят то же самое через вебсокет и дом-дифф.
а потом эти же люди ноют в комментах к очередному js-фреймворку, якобы вебмакаки зря утилизируют ресурсы компьютеров.
в этих поделках из статьи всё, что можно было применить не по назначению - применено не по назначению.
вобщем, не только в германии сумрачные гении сидят. у нас тоже имеются доктора франкенштейны.. особенно в южных губерниях
| |
|
2.7, stillswamp (ok), 23:23, 09/12/2021 [^] [^^] [^^^] [ответить]
| +/– |
1. Прошу конкретику. Что применено не по назначению? Готовы исправить.
2. Прошу осмотреть вот это изделие без строчки JS кроме самого фреймворка.
https://engram.catlair.net/
3. Прошу изложить вашу концепцию решения аналогичного изделия с применением по назначению JS с сопоставлением результатов.
| |
|
3.8, Glushko (?), 11:27, 10/12/2021 [^] [^^] [^^^] [ответить] | +/– | 1 не по назначению - это про концепцию совершенно безумная идея перенести ре... большой текст свёрнут, показать | |
|
4.10, stillswamp (ok), 19:25, 10/12/2021 [^] [^^] [^^^] [ответить]
| +/– |
Благодарю за подробный ответ.
Перенос событий из браузера на сервер практичен. Утилизацию следует обсуждать на цифрах. Таковых от вас ожидать мы не в праве, а потому обсуждение лишне. Pusa сейчас для эксперимента трудится на сервере стоимостью 2евро в месяц. Завалить не трудно, но едва ли она покажет себя хуже предложенных вами технологий (скорее всего лучше) :)
В приведенном примере каждый клик отправляется на сервер, так как логика сборки таблицы размещена на сервере. Ее нет в браузере. Касательно скорости соединения, выставив ограничение скорости в первую очередь пострадает загрузка озвучки в mp3. Реакция на события будет минимальной проблемой. Так же учтите факт, что на медленном соединении вы получите для JS решения задержки загрузки фрэймворка и прочей графики.
Если у вас будет желание и возможность, прошу представить случай где Pusa не будет комфортно. Сразу оговорюсь: один из участников обсуждения желал от нас получить сразу некое готовое решение под свои задачи. Естественно мы не стали выполнять чужую работу. Но мы крайне заинтересованы, если вы назовете объективную задачу с которой Pusa не справится. Canvas и массированные mousemove (etc) не являются таковой, это оговорено в ограничениях Pusa.
*** Если вы представите разумный case - мы постараемся сделать демонстрацию решения. Критерий разумности - 1 час исполнения.
И самое главное... Pusa - это радикальное упрощение разработки. Поверьте - вопросы нагрузки на сервера - мелкая мелочь по сравнению с предлагаемыми возможностями.
| |
|
5.13, Аноним (12), 10:32, 11/12/2021 [^] [^^] [^^^] [ответить] | +/– | Да, один раз При самом первом заходе на сайт Дальше браузер все закэширует Пр... большой текст свёрнут, показать | |
|
6.14, stillswamp (ok), 12:32, 11/12/2021 [^] [^^] [^^^] [ответить]
| +/– |
>> на медленном соединении вы получите для JS решения задержки загрузки фрэймворка и прочей графики
> Да, один раз. При самом первом заходе на сайт. Дальше браузер все
> закэширует.
Я давно и много смотрю на логи пользовательских запросов. Пользователям нет дела до нюансов реализации и нет дела до времени жизни страницы. Запросы на обновление всей страницы прилетают многократно чаще ожидаемого разработчиком. И... быстродействие продуктового сайта оценивается потребителем по загрузке первой страницы.
>> Если вы представите разумный case - мы постараемся сделать демонстрацию решения. Критерий разумности - 1 час исполнения.
> Предлагаю написать todo list, потому что его я в демках не нашел.
> При сравнении гуйных фреймворков todo list является хелловорлдом, позволяющим оценить
> базовый концепт фреймворка. При этом хочется увидеть демонстрацию виртуализированного
> скролла, потому что в реальном энтерпрайзе данных будет много. А поскольку
> постулируется, что задача "не просто переместить на бэк JS, а принципиально
> исключить его", то виртуализированный скролл следует сделать исключительно средствами
> Pusa, без дополнительных клиентских библиотек.
Case Todo обсуждался нами для демки, но был отклонена в тч мной, так как кода чуть более чем надо для представления элементарных основ. Демка todolist была разбита на форму авторизации (отправка POST), подгружаемый список элементов GUID, и интерактивное добавление элементов графики: https://dev.pusa.catlair.net/?section=Examples. Тем не менее, с учетом нового внешнего мения о необходимости todo list в демонстрации, мы еще раз обсудим это и возможно выложим.
Все же от вас ожидался примитивный но показательный тест, убивающий концепцию Pusa.
| |
|
5.21, Sw00p aka Jerom (?), 12:13, 12/12/2021 [^] [^^] [^^^] [ответить]
| +/– |
>Поверьте - вопросы нагрузки на сервера - мелкая мелочь по сравнению с предлагаемыми возможностями.
мелочь говорите? :)
| |
|
6.24, stillswamp (ok), 21:20, 12/12/2021 [^] [^^] [^^^] [ответить]
| +/– |
>>Поверьте - вопросы нагрузки на сервера - мелкая мелочь по сравнению с предлагаемыми возможностями.
> мелочь говорите? :)
Оцените по вашему опыту сумму затрат для публичного ресурса с постоянной доработкой функционала для 1k 10k 100k уникальных визитов ежемесячно по статьям:
- стоимость команды разрабов включая налоги а так же затраты на их координацию;
- стоимость ресурсов для работы проекта на прод;
Данные если пожелаете, можно сложить сюда. :)
| |
|
7.27, Sw00p aka Jerom (?), 00:13, 13/12/2021 [^] [^^] [^^^] [ответить]
| +/– |
>Оцените по вашему опыту сумму затрат
зачем мне оценивать сумму затрат, меня интересует вопрос нагрузки, какую нагрузку способно держать ваше решение для минимум одной ноды (одной запущенной версии приложения).
| |
|
|
|
|
|
|
|
2.25, stillswamp (ok), 21:23, 12/12/2021 [^] [^^] [^^^] [ответить]
| +/– |
> а нельзя просто дотнет + wasm взять?
С удовольствием обсужу в телеге если у вас есть опыт реализации.
| |
|
1.34, mos87 (ok), 10:14, 17/12/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
т.е. он всю клиентскую часть хранит на сервере, а на клиент спускает её в готовом виде.
отлично.
остался 1 вопрос - нафейхуа нам этот Веб
вообще, если фактически мы уже честно признаёмся себе, что желательно все его концепции обходить вокруг?
Может пусть ОС будет ОС, а эту прослойку выкинуть уже
| |
|
2.50, Аноним (50), 11:49, 13/04/2022 [^] [^^] [^^^] [ответить]
| +/– |
Web нужен для связи - это связь. Всё. Веб - только канал передачи данных.
"Все его концепции" - это придумки способа использования канала связи. Затеи отдельные от веба. Часто затеи невыгодны конечному клиенту, т.к. приводят к необоснованным тратам. Люди исследуют альтернативные способы.
Существование альтернативы развивает и укрепляет.
| |
|
3.52, mos87 (ok), 18:21, 13/05/2022 [^] [^^] [^^^] [ответить]
| +/– |
вэб [единственное что щас примечательно в нём технологически] - это реализация той самой "мечты" о компонетном погромировании. Все эти лежащие на публичных хостах жабаскрипты которые можно заюзать у себя.
COM done... не right конечно, а просто done. Со всеми ужосами (в первую голову безО) которые и предрекали компонетнке.
он в такое развился просто потому что был распространён вэб в своём изначальном виде. и поверх него выросло нынешнее чудо.
| |
|
|
1.35, gred (ok), 13:21, 19/12/2021 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
я бы сказал, что для каких-то чисто внутрикорпоративных вещей, почти идеально.
осталось накрутить вокруг этого какой-то действительно удобный RAD.
| |
|
2.43, stillswamp (ok), 19:39, 29/12/2021 [^] [^^] [^^^] [ответить]
| +/– |
> я бы сказал, что для каких-то чисто внутрикорпоративных вещей, почти идеально.
> осталось накрутить вокруг этого какой-то действительно удобный RAD.
Если вы храните состояние DOM на сервере - то действительно это не для выпуска наружу.
Держать DOM для каждого внешнего пользователя крайне затратно.
Но Pusa как раз не хранит состояния пользователя на сервере. Чистый REST.
| |
|
1.38, онанимус (?), 12:59, 27/12/2021 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
шикарная идея, подобные сайты будут быстро работать даже на сименсе м65.
меня волнует совместимость с кравлерами поисковых движков - гугол сотоварищи нормально их индексирует?
в яваскрипт все кравлеры умеют, даже богомерзкий wix хорошо индексируется. а вот будет ли кравлер заполнять и отправлять все аяксовые формы - вопрос.
| |
|
2.42, stillswamp (ok), 19:37, 29/12/2021 [^] [^^] [^^^] [ответить]
| +/– |
> шикарная идея, подобные сайты будут быстро работать даже на сименсе м65.
> меня волнует совместимость с кравлерами поисковых движков - гугол сотоварищи нормально
> их индексирует?
> в яваскрипт все кравлеры умеют, даже богомерзкий wix хорошо индексируется. а вот
> будет ли кравлер заполнять и отправлять все аяксовые формы - вопрос.
Да. Pusa работает даже на "тапке". Причем как клиент так и сервер.
| |
|
1.45, CHH (?), 15:44, 28/01/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
...у нас была возможность не только познакомиТЬся с исходным...
У меня всё.
| |
|
2.53, rex (??), 14:21, 15/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
избавиться от клиентского кода, чтобы абстрагировать писателя бизнес-логики от сети
| |
|
1.51, Аноним (51), 09:08, 27/04/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Опять пытаются сэкономить на разработчиках за счёт комфорта пользователя.
Теперь сетевые лаги будут на каждый клик и ховер?
И да, разделение труда не просто так придумали.
| |
|