LINUX.ORG.RU
ФорумTalks

Где–то нас обманули с тонкими и толстыми клиентами

 , , ,


0

3

… В понимании Microsoft конца 90-х и начала 00-х интернет будет у всех, но использовать в итоге мы будем все равно толстые клиенты, которые с помощью XML Web Services будут закачивать нам на десктопы различные данные. Разработчикам, читающим MSDN, это служило намеком, что изучать в плане долгосрочной перспективе нужно что-то типа .NET Windows Forms, которые на худой конец в случае требовательного клиента можно подкрепить знанием верстки Web-страниц в ASP.NET, а интернет-программирование как таковое будет ограничено протоколами передачи данных и всякими оптимизациями этих самых XML Web Services.

И не то чтобы Microsoft был единственным сторонником такого сценария – в период расцвета дот-комов целые компании строили свое будущее вокруг толстого клиента, который качал с серверов какие-то данные и преобразовывал их уже внутри толстого клиента.

Потом случился броузерный объект XMLHttpRequest, выход Google Maps, запись Джесси Джеймса Гаррета, застолбившая аббревиатуру AJAX и резкий рывок на рынке тонких Web-приложений, где интернет все в той же модели OSI уже рассматривался на прикладном уровне. Для разработчиков это означало потерю интереса к приложениям, которые требовали инсталляции и зависели от конкретной ОС, и переходу к JavaScript как к основному языку разработки интернет-приложений.

Ну и последняя волна, свидетелями которой мы являемся последние несколько лет – это капитуляция Weba перед мобильными приложениями, о чем главный редактор журнала Wired написал статью «Web мертв» с красноречивым графиком в первом же абзаце. Маятник между толстыми и тонкими клиентами снова качнулся в сторону первых. Как и описал в своей книге Билл Гейтс, интернет сегодня работает в основном на толстых клиентов – сегодня на айПадах, айФонах и Андроидах мы используем интернет для закачки данных откуда-то с удаленного сервера, после чего основная работа проделывается на клиентском уровне.

Новейшая история толстых и тонких клиентов

Thorium версии 122.0.6261.171 c uBlock origin под Windows XP с одной пустой вкладкой 360,64 Мб в оперативке. На диске 321 Мб. Папочка с профилем 808 Мб. Какая–нибудь типичная современная HTML–страница это запросто несколько мегабайтов загруженных данных + сотни 2 мегабайтов в опертиве. Под всё это нужна ОС. А ОС нонче это несколько десятков гигов на диске. Многие программки под мобилки тоже хороши. Где здесь тонкость или тонкота и кто из них толстый а кто тонкий?

Ответ на: комментарий от PPP328

как то черчиль грил что усидеть на тигре отдельное искуство

корпы не управляют «вселенной из палаты» там ещё тот големо-амёбный бульон

ибо рс-революция в некотором смысле отбросила comunity-computing(ща это облака-белогривые лошадка-ежик_ау)(тогда это Мультикс который ща на фоне успеха Unixa(который тоже перекрыт изводами известно чего) вон даже Xenix оказался фальстартам если пользователям нужны меню (tui|gui) а не язык которому нужно хотья бы чуть чуть но учится 0 теже базавые регулярки не сложнее десятчной нотации но первую знают и пременяют не только лишь все(и в целом decline по доле ойти который ваще в курсе) а десятичная(посредством школьной дресуры общепривычна) ]

всем тут присутсвующим рекомендую начиная даже с We Programmers Мартина — получить представления почему счётные машины (начиная с прибора уточнения налогооблагаемой базы Холлерита) общераспространнились только после Хиросимы и что(кто) общего между визуализацией датасатанистов и переотрытием быстрого преобразования Фурье 60ых

зы: Тьюки

qulinxao3 ★★
()

Вообще расцвет мобильных приложений был для меня полнейшим сюрпризом. Я был уверен, что веб-приложения будут доминировать. Но этого не происходит, хотя они и заняли свою нишу. До сих пор не вполне понимаю, как так получилось. Лично мне бы и в голову не пришло делать мобильное приложение вместо веб-приложения. И я сам всегда пользуюсь сайтами вместо приложений, если есть возможность.

При этом прям у меня на работе сайт, который прекрасно работает в браузере, упаковали в электрон и ставят клиентам. Оно куда более глючное и тормозное, чем сайт, и начальник ничего внятного не сказал, зачем он это делает, поэтому для всех это большая загадка, зачем это сделали. Могу лишь предположить, что глупому пользователю приложение кажется солидней, чем сайт. Или начальнику кажется, что пользователю приложение кажется солидней, чем сайт

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 1)
Ответ на: комментарий от wenxuan

Программа не может существовать без оси. Тут всё тоже самое - вкладка в браузере сейчас это программа в os/виртуалке.

Ну или совсем по тупому - отдельную программу просто заменили на вкладку в браузере, браузер сейчас это такая операционная система, реализующая изолированность/безопасность, кросплатформенность и +- стандартную модель расширения. Так что ни кто ни кого не обманул, если смотреть в корень, а не на ботву.

пс. Посмотри на мобилки, когда мобилка продоставляет из коробки «изолированность/безопасность, кросплатформенность и +- стандартную модель расширения», то там сразу браузер «не нужен» и там расцвет толстых клиентов. И чё картина лучше что ли? По-моему, в 10 раз хуже - у каждой программы свой интерфейс, своя безопасность, свои тараканы.

vtVitus ★★★★★
()
Последнее исправление: vtVitus (всего исправлений: 2)
Ответ на: комментарий от question4

в браузере постоянно протухают кеши

Постоянно не протухают. А если пользователь не заходил на сайт месяц, может и хорошо, что протухают? Зачем место занимать. Да там всё с некоторой вероятностью уже и поменялось.

и куки

Куки протухают через 400 дней после последней записи. Иными словами если ты не заходил на сайт полтора года. Ты уверен, что это реалистичная претензия? Если протухают чаще, это значит, что сайт специально выставляет такой срок жизни куки.

Есть нюансы с локальным хранением большого объёма данных (Indexed DB, Local Storage). Но если убедить пользователя «установить» сайт как PWA, то эти нюансы исчезают и всё хранится надёжно.

vbr ★★★★★
()
Ответ на: комментарий от vbr

имхо один из значимых фактов приложение vs веб-портал что поставщик приложения «захватывает» пространство смарфона установленым приложением и захватывает внимание пользовеля ярлыком на «рабочем столе»

ну и технически «команда подержающая приложения» бизнес иначе организанны(цепочки)(там есть агрегатор магазина приложений) в отличии от заходи на сайт и

т.е. многие отличия обусловленны «будущее уже здесь - только оно не повсемество»

qulinxao3 ★★
()
Ответ на: комментарий от vtVitus

ось и есть виртуалка

но мы (старожилы РС-революции) повторно прошли путь от программ0монитора(а изначальная дось это же просто препрогруженая библиотека функций на которую программа после запуска например игры клали болт что бы прямо с видюхой и т.п. и если были не акуратны с возможным разрушением файловой системы)

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

т.е. вопрос баланса до какой степени хардкодить(резолвить) ссылки-указатели :)

полная интерпретация(с постоянной подгрузкой из s3 ) или экстро компилированное c «ответ 42»

qulinxao3 ★★
()
Ответ на: комментарий от vtVitus

Меня корёжит от сравнения браузера с ОС. И почему только браузер? Можно же сравнить с ОС любую программу которая имеет API и позволяет что–то там для неё написать. Вкладка в браузере это загруженный HTML–документ и скрипты. Какая ещё ОС/виртуалка?

у каждой программы свой интерфейс, своя безопасность, свои тараканы.

У каждого сайта свой интерфейс, своя безопасность, свои тараканы.

wenxuan
() автор топика
Ответ на: комментарий от wenxuan

Тебя корёжит потому что ты возвёл ОС в нечто такое чем она не является. ОС это программа, которую запускает другая программа загрузчик. Всё. Когда-то никаких ОС не было и при старте компов, тупо начинала работать программа, которая в себе реализовывала и работу с железом и бизнес логику, потом решили, что лучше выделить ОС в отдельную программу, которая будет запускать другие программы и изолировать работу с железом и содержать стандартизованные интерфейсы. Только и всего. Сейчас появился браузер, который добавляет прослойку для «изолированность/безопасность, кросплатформенность и +- стандартную модель расширения». В том же мобильнике эта прослойка часть ОС. Вся разница. Тебя же не корежит, что современный проц это куча прослоек и ассемблер и машинный код для современного проца это просто инструкции для виртуальных процов (меньше знаешь крепче спишь)? Почему тебя корежит от явного браузера с его js ассемблером? Ещё раз глянь на мобилки - тебе нравится, как там обстоят дела? Мобилки это мир тяжёлых клиентов. С твоей т.з. это классно и хорошо?

vtVitus ★★★★★
()
Последнее исправление: vtVitus (всего исправлений: 1)

А ОС нонче это несколько десятков гигов на диске

Везде где мы что-то должны настроить я ставлю минипк hp t520 коих накупил пару кубометров по сходной цене. Конфигурация в базе у него 4 памяти и 8 накопителя. Память приходится удваивать, а вот на 8гб накопитель отлично помещается ось и весь нужный софт. А теперь внимание: ось это win 10 ltsc 2021 со всеми последними обновлениями и драйверами под все железо, официальный нигде не порезанный дистрибутив с сайта мс. Занимает она 5.2гб на 7.6гб фактического пространства.

lomaster
()
Ответ на: комментарий от vtVitus

Меня корёжит от восторгов по поводу смотрилки HTML с интерпертатором JavaScript в комплекте. Предлагаю охладить трахание и перестать делать напыщеные сравнения тёплого с мягким. IDE, офисные програмулины, текстовые редакторы тоже имеют прослойку для «изолированность/безопасность, кросплатформенность и +- стандартную модель расширения», но истекающих слюной фанатиков не наблюдается.

wenxuan
() автор топика
Ответ на: комментарий от qulinxao3

Не совсем согласен с посылом.

Во-первых разберёмся с докером. Докер это просто обёртка для настройки cgroup namespaces. А это уже фича ядра. По сути это логическое развитие идеи chroot, который растёт из глубины веков. chroot даёт изоляцию файловой системы для процесса. А докер добавляет к этому изоляцию процессов, изоляцию сети. Чем то это может и напоминает виртуалку, но всё же механизм кардинально иной.

Во-вторых что касается веб-приложений.

Да, с одной стороны браузер действительно напоминает операционную систему. Но является ли это каким-то дублированием ядра ОС? Абсолютно нет.

На самом деле модель веб-приложения вообще не похожа на модель традиционного юниксового приложения. Ничего общего. Нет концепции файла, как таковой. Нет никаких потоков ввода-вывода, нет никаких сокетов. Всё по-другому. Вместо файлов - cookies, local storage, indexed storage. Вместо сокетов - fetch. Куча функционала встроена в браузер. Если взять любое графическое приложение, то каждый пиксель в нём рисует оно само. Порой через библиотеки, но в контексте операционной системы - всё само. В браузере не так.

В браузере нет реализации второй файловой системы, взамен родной юниксовой. В браузере нет планировщика потоков. В браузере нет драйверов для оборудования. В общем ничего похожего на традиционное ядро ОС там по сути нет.

Поэтому с одной стороны - да, можно найти концептуальные параллели между веб-приложением и декстопным приложением. Но это будут параллели очень высокого уровня. А если вглядываться в детали, то всё рушится.

vbr ★★★★★
()
Ответ на: комментарий от vbr

От меня чай, конечно.

Но, когда говорят, что браузер - новая ОС, имеют в виду то, что все «приложения» запускаются через него. А то, что без него, не пользуются. В итоге браузер становится прокладкой между приложением и железом. По сути, это про победивший веб. Даже когда говорят расцвете мобильных приложений, это мало на что влияет, т.к. в половине случаев, там крутится браузерный движок.

bbc69
()
Ответ на: комментарий от vbr

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

эталонный пример - весчь у которой маркетинговое название RPA - а по сути использование окаменевшего gui интерфейса для склеивания окаменелостей - т.е. expect только для кривых gui приблуд

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

зы. инженерно RPA это почти гениальное решение построения систем из уже обточенных компонент если чё

qulinxao3 ★★
()
Ответ на: комментарий от vbr

по второму:

изначально оська - это унификация железа для прикладной ПО созданием программной прослойки в части управления ресурсами железа ну и организации мульти-исполнения

так что браузеры ща это оськи в осках

qulinxao3 ★★
()
Ответ на: комментарий от bbc69

Весь спор по сути сводится к терминологии и к готовности воспринимать ту или иную гиперболу.

Мне кажется, его можно довольно просто разрешить, просто введя новое понятие. Понятное дело, что прям в прямом смысле браузер не является ОС — он не обеспечивает работы с железом с одной стороны, предоставляя интерфейс для программ с другой. Но гиперболу «браузер — новая ОС» применяют в том же смысле, в котором ранее ещё более шуточное «emacs — это ОС». И понятно, о чём тут речь — о том, что под ОС можно сделать программу/приложение, и под браузер, и под emacs тоже есть свой email-клиент и прочее-прочее.

То есть, и ОС и браузер являются в этом плане платформой для приложений. Просто введение нового понятия здесь не стоит сразу срезать бритвой Оккама, потому что оно полезно для взаимопонимания.

При таком подходе получается, что Windows — это платформа, и PS5 — это платформа, и браузер — это тоже платформа. И под то, и под другое и под третье можно сделать приложение (программу, игру, и т.д.). Программа для Windows запустится на любой (ну или почти любой, по задумке на любой) машине с Windows, игра для PS5 — на любой PS5, веб-приложение — в любом браузере. При таком подходе также становится понятно, что GNU/Linux, Linux+Musl и Android — это разные платформы, несмотря на то, что они используют одно и то же ядро, потому что программа под GNU/Linux не запустится на Linux+Musl или Android (правда тут есть нюанс — статически слинкованная запустится, что несколько всё усложняет, но пока заметём это под ковёр). При этом, например Ubuntu и Fedora — это хоть и разные дистрибутивы (и соответственно, кто-то скажет разные ОС, опять же из-за терминологической неоднозначности), но одна платформа — потому что программа под одну запустится и под другой (в большинстве случаев). Также при таком подходе отдельной платформой можно считать Java (но тоже с нюансом, что не используется ОС-зависимых штук, вроде встроенных so-шек «natives») или node.js. С точки зрения программы/приложения изолированы от низлежащей ОС — то есть, можно сделать программу под Java, которая запустится (опять же с нюансом, упомянутым выше), независимо от ОС, на которой эта Java непосредственно запустится, аналогично с node.js.

И вот если мыслить в таких категориях, то конечно же «браузер» (ну или можно сказать HTML+JS+CSS) — это, конечно же, тоже платформа. Независимо от того, как там кто определяет ОС, и насколько далеко готов зайти в гиперболах.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему: только для зарегистрированных, score>=50.