@oop_ru

Страница 627 из 785
Дмитрий
29.04.2018
11:33:34
Сотни методов, более тысячи типов

Sergey
29.04.2018
11:33:37
Like
29.04.2018
11:33:58
Quantum Harmonizer
29.04.2018
11:34:08
Google
Sergey
29.04.2018
11:34:22
Телеграм кстати на ресте было бы жестко делать, у них огромное количество данных
вот я там лонгрид скинул, почитай его.... меня аж передергивает когда ты REST определяешь в таком контексте) хотя может быть мне надо просто понять и простить...

Like
29.04.2018
11:34:22
Клиент телеги поносили в тематическом чатике и не раз ?

Sergey
29.04.2018
11:34:46
Это разные вещи. Можно сделать всё гибко, но без гипертекста.
это разные вещи. Можно, сделай. Получишь гипертекст просто свой, другой.... ну и не забывай про code on demand который призван закрыть дыру между минимальным набором известных элементов и что бы можно было проще делать новые штуки)

короч, не хочешь - не разбирайся, это лично твое дело.

Sergey
29.04.2018
11:36:23
В чём?
в том наборе слов которые ты запостил.

Quantum Harmonizer
29.04.2018
11:36:38
конструктивно поговорили

Sergey
29.04.2018
11:37:25
но похрену, REST всё равно достаточно плох
я свое сообщение к этому писал больше

а ты потом начал какую-то чушь про qt и SPA-ный клиент телеграмма выставлять за web

отсуда могу сделать выводы что ты не очень понял то о чем я говорю

Quantum Harmonizer
29.04.2018
11:38:22
Что такое Web? Набор HTTP+HTML и все прилагающиеся JS + CSS, разве нет?

Sergey
29.04.2018
11:39:01
SPA не web? Почему?
ну вот разбирайся))) начни с моего большого сообщения а дальше можешь попробовать разобраться с первоисточниками и пройтись по списку ограничений которые накладывает rest

Google
Sergey
29.04.2018
11:40:19
Что такое Web? Набор HTTP+HTML и все прилагающиеся JS + CSS, разве нет?
если очень сильно упростить то SPA можно описать как очень яркое проявление code on demand из rest. Когда у тебя в гипертексте есть элемент <My-cool-app /> и все. На этом web часть заканчивается и начинается классическое обычное приложение которое просто эксплуатирует средства браузера для рендринга UI.

при этом спроси любого фронтендера у которого есть опыт с тем же qt - web-стандарты такой себе UI фреймворк. Вспомнить хотя бы <input type=date и уже хочется плакать

Sergey
29.04.2018
11:42:20
но внутри элемента же обычный DOM (да хоть canvas)?
да но это не web, это просто DOM. А canvas - ты можешь сделать фулскрин канвас и отрисовывать весь UI там. Но это не будет web уже. Это по сути просто приложение которое скачивается на клиент по запросу. Грань тонка но не настолько что бы разницу не видеть.

Sergey
29.04.2018
11:43:02
Вот! К этому клоню.
но это не про rest. Это про web-стандарты а в частности про браузерные войны, NIH синдром, сегрегацию и т.д

как говорится "интернет реализовали профессианалы, а web - любители".

в каком смысле «не web»?
ну в том что у тебя та часть которая web - скачать js и css файлики. Все. Вжух

дальше та часть web которая как гипертекст используется не как гипертекст а как просто набор виджетов

это абсолютно нормально в SPA делать ссылки через span или делать preventDefault для кликов на ссылки.

люди делают с тем что есть что могут.

была надежда на web-components и shadow dom которая бы позволила людям делать приложения как композицию других независимых приложений и в этом случае связи с web было бы больше. Но.... что-то явно не так пошло

блин не могу найти сейчас докладик где эту тему более подробно разжовывают....

там чел сотрясается над тем что "мы наши клевые децентрализованные бэкэнды с экторами и микросервисами почему-то потребляем через монолитные жирные клиенты которые плохо поддаются композиции".

Quantum Harmonizer
29.04.2018
11:48:24
я это больше говоря к вопросу что не может быть rest api. Rest это про unified interface и code on demand если unified interface не закладывает какие-либо детали поведения. То есть пример rest-а банален. Ты открываешь браузер, и заходишь в гугл. Тебе высвечивается форма. Браузер умеет эту форму показывать но в сам браузер не вшито ничего специализированного чисто под эту страничку. Ты жмакаешь "искать" и происходит переход (то что подразумевается под State transfer из аббривиатуры REST). Там ты видишь уже новую страничку опять же о которой браузер ничего не знал до этого. И там ссылки на другие странички и т.д. То есть идея в том что бы все знания о том как пользоваться чем были инкапсулированы на сервере а клиент лишь знал как отображать те или иные штуки (или же опять же, если мы хотим отобразить сложную форму фасеточного поиска которая по хитрому формирует запрос - мы можем воспользоваться code on demand и вшить javascript код в страничку что бы та чего машнила). Вжух в результате всего этого мы имеетм web. То есть бесконечно скейлящаяся система, для которой не нужно версионирование (разве что для протоколов оно все же надо), где все работает за счет content negitiaton, гипертекста, hateoas. URI и прочих стандартов которые в сумме и дают тебе WEB. А когда ты делаешь приложение мобильное или SPA ты уже не с гипертекстом работаешь. Ты работаешь с фиксированными структурами данных, обычно в виде json. И так или иначе твое приложение должно знать что-то о сервере. Обычно ты все эндпоинты так или иначе хардкодишь. Я видел попытки сделать autodiscovery для API но в этом случае всеравно тебе надо на клиенте запилить че как дискаверить + всеравно есть структуры данных которые фиксированные.
Минуточку. Для изменения функционала не нужно патчить браузер, но нужно менять фронт, который исполняется браузером и в данном контексте является приложением.

Quantum Harmonizer
29.04.2018
11:50:29
Если вкратце, это фронт, который живёт у клиента, верно?

Sergey
29.04.2018
11:52:23
да, ну то есть идея та же - code on demand расширенный

Google
Sergey
29.04.2018
11:52:35
то есть.... сервер просто кусок функционала пушит на клиент

и клиент теперь умеет что-то новое (в пределах ограничений платформы то есть браузера)

Sergey
29.04.2018
11:53:06
это ничем не отличается от скажем... операционной системы где ты можешь поставить приложение))

а напомню тебе что ставить приложения в операционках ты умеешь с момента появления этих операционок)

Quantum Harmonizer
29.04.2018
11:53:49
Сомнительно
да ну? UI-компоненты в вебе очень ограниченные и стрёмные

это ничем не отличается от скажем... операционной системы где ты можешь поставить приложение))
да, отличается только то, что всё равно приходится использовать HTML/JS, и это всё портит

Sergey
29.04.2018
11:54:45
Сомнительно
я писал на qt в последний раз в 2010-ом году. По сравнению с ним ваять приложения в web было адской болью и слезами.

http://www.pixijs.com/

ну то есть все уже далеко не только html и js

Like
29.04.2018
11:55:28
да ну? UI-компоненты в вебе очень ограниченные и стрёмные
А ты думаешь, что в Qt слишком лучше? Тебе, в целом, там хватит пару тройку компонентов, но если нужно будет что-то уникальное, то ты намучаешься

Sergey
29.04.2018
11:56:04
А ты думаешь, что в Qt слишком лучше? Тебе, в целом, там хватит пару тройку компонентов, но если нужно будет что-то уникальное, то ты намучаешься
да но ты там сможешь это сделать. Ну и сегодня все не так плохо, у меня травма с 10-ого года осталась))

Quantum Harmonizer
29.04.2018
11:56:08
Чтобы написать свой компонент в HTML, нужно либо под капотом использовать DOM, либо ручками нарисовать на канве. Любой нормальный UI-фреймворк позволяет экстендить или аггрегировать существующие компоненты и расширять/переопределять их функционал.

Quantum Harmonizer
29.04.2018
11:56:49
webassebly
да, теперь осталось чем-то вытеснить HTML

Google
Sergey
29.04.2018
11:57:07
не понял
я скинул тебе ссылку например

ну то есть блин сегодня ты можешь написать свой UI фреймворк на opengl и C++ или rust и скомпилить его через webassebly и рэндрить в канве

делая абсолютно что захочешь

без каких-либо огранчиений которые на тебя DOM накладывает

Like
29.04.2018
11:58:02
https://www.youtube.com/watch?v=Z4CwVN9RRbE

Quantum Harmonizer
29.04.2018
11:58:03
Ну да, написать с нуля то, что существовало в 80-90х.

Like
29.04.2018
11:58:06
Накину

Sergey
29.04.2018
11:58:45
Ну да, написать с нуля то, что существовало в 80-90х.
такова судьба software engineer. Раз в 5-10 лет полностью переизобретать то что было до

Quantum Harmonizer
29.04.2018
11:59:09
ну то есть блин сегодня ты можешь написать свой UI фреймворк на opengl и C++ или rust и скомпилить его через webassebly и рэндрить в канве
Не понимаю, почему не JVM. Изобретут новых критических уязвимостей при сэндбоксинге :)

Sergey
29.04.2018
11:59:29
и запускать в браузере

Like
29.04.2018
11:59:42
Извращенцы

Sergey
29.04.2018
12:00:02
а еще есть graalvm от oracle новая

Извращенцы
ты сможешь на своем любиом хаскеле/идрисе/кложе/лиспе писать датапикеры, че

Sergey
29.04.2018
12:01:20
Дарте!
без каких-либо проблем) хоть на ассемблере

Like
29.04.2018
12:01:40
без каких-либо проблем) хоть на ассемблере
Вы же там вроде за рест говорили, не?

Как вы к этому пришли

Sergey
29.04.2018
12:02:04
это к вопросу о том что rest это web и в контексте SPA нет реста.

и что браузер из прикольной штуки перерадился в операционную систему внутри операционной системы

Google
Quantum Harmonizer
29.04.2018
12:02:21
ну можешь java код компилить в webassembly
Не, там же ещё толстый рантайм нужен. Я о другом, что уже есть хорошая песочница с годной производительностью и поддержкой кучи языков, ОС и архитектур процессоров.

Sergey
29.04.2018
12:02:44
еще лет через 10 можно будет в целом убрать миллионы строк C++ из шиндовс на другие миллионы строк C++ из Edge

p.s. спойлер - это уже происходит

я хз что на самом деле происходит, но растущая сложность мне не нравится.

причем это не та сложность которая "сложная" а просто где много повторений и каких-то одинаковых концептов с нюансами

а люди воспринимают все как абсолютно новое и разное

Like
29.04.2018
12:06:31
Кстати, а с каких пор здесь в будущее заглядывают?

Sergey
29.04.2018
12:08:40
Кстати, а с каких пор здесь в будущее заглядывают?
проектирование это всегда заглядывание в будущее)

Sergey
29.04.2018
13:46:38
Хау эбаут rest через вебсокет?
в конечном итоге у тебя http как-то через сокеты ж работает))

а так не вижу проблемы как и профита, у тебя уже есть http2 с мультиплексированием http запросов

но опять же почитай сообщения ниже.... из всей этой херни с rest полезно только разобраться что какие ограничения дают, понимание что такое архитектурный стиль и т.д. Это как со скрамом - юзать скрам в чистом виде... ну сомнительный профит.

Quantum Harmonizer
29.04.2018
13:51:52
в конечном итоге у тебя http как-то через сокеты ж работает))
Так и вебсокеты через сокеты работают :)

Мне нравится, что в вебсокетах всё очень быстро, без лишних заголовков. Но бэкэнды говорят, что stateful-соединения — боль.

Sergey
29.04.2018
13:53:01
Мне нравится, что в вебсокетах всё очень быстро, без лишних заголовков. Но бэкэнды говорят, что stateful-соединения — боль.
как же им бедняшкам удается избегать stateful соединения с любыми протоколами которые юзают TCP?)

"без лишних заголовков" = "изобретай свой протокол"

Quantum Harmonizer
29.04.2018
13:53:29
Sergey
29.04.2018
13:54:12
TCP stateful, а HTTP, построенный поверх него, — нет.
ну то есть ты не в состоянии сделать так же с вэбсокетами? что бы клиенту было плевать к какому серваку он коннектится?

печаль

не делать вам чатики на миллионы соединений

Страница 627 из 785