LINUX.ORG.RU
ФорумTalks

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

 ,


0

1

Несколько дней назад вышел ролик Столярова и я вдруг вспомнил, что вообще на него подписан. Послушал про браузеры. И вот никак не могу перестать думать об этом.

Превращение сайтов в программы случилось не по причине охреневших программистов, а из-за стечения обстоятельств:

  1. Нет явной установки, высокая толерантность к ошибкам. Даже кривой сайт худо-бедно откроется.
  2. Свобода распространения: даже от классического веба можно отойти, загнав браузер через прокси в другую сеть (tor, i2p, zeronet и всякое такое). Никакой зависимости от магазинов приложений, никакой временной задержки, пока программа проходит модерацию (а ведь может и не пройти). Всё запускается сразу и «как есть».
  3. Кроссплатформенность: браузер есть везде, программа в большинстве случаев может быть запущена.
  4. Безопасность: в общем случае предполагается, что программа не может покинуть песочницу, благодаря чему у большого количества пользователей отсутствует страх открытия ссылок.

Веб-программа это: быстро, дешёво, наименее рискованно. А для пользователя ещё и удобно.

С самого начала браузеры эволюционировали в запускалку кроссплатформенных программ. И заметить это можно было давно — ещё в те времена, когда флеш обрёл бешеную популярность. Но почему-то до индустрии это не дошло до сих пор. Именно поэтому мы не имеем надёжной изоляции вкладок, контроля за кэшем и сетевыми запросами, лимитирования ресурсов, изоляции самого браузера от системы. А кроссплатформенные тулкиты не соответствуют первым двум требованиям. Причём из-за отсутствия второго пункта кроссплатформа в виде тулкитов это: долго, дорого, рискованно, а где-то и вовсе невозможно. И всякие snap не решают проблему, являясь всего лишь альтернативной точкой отказа, которая не примет ваше приложение, потому что кому-то там моча в голову ударила. Также подобная форма распространения не соответствует 1 и 4 пункту.

Я всё думаю, какой должна быть кроссплатформа, которую мы заслужили. И прихожу к выводу, что частично она уже есть: wasm. Осталось вынести его в отдельную программу, запускалку других программ, которая будет схожа с браузером по UX, но с явным поведением. Конечно, улучшение тюрьмы и лимитирование не гарантируют 100% безопасность, но ведь её не бывает. Обычные программы намного опасней из-за доступа ко всей системе, к тому же они не подгоняются под все 4 пункта.

Для разработчиков wasm тоже великолепен — он дарит свободу выбора технологий. Можно будет выбросить JavaScript, забыв попытки обернуть его в нормальный язык, как страшный сон. А для браузеров останутся именно сайты, с небольшим количеством скриптов, возможности которых можно будет урезать из-за снизившейся потребности в высокой нагрузке (например, отказаться от дырявой компиляции в натив).

@Croco а ты что думаешь? Критиковать конечно интересно, но пора бы уже начать предлагать. Пока предложений нет, к ним точно никто не прислушается.

★★★★

С самого начала браузеры эволюционировали в запускалку кроссплатформенных программ.

Важны не «кроссплатформенные программы», не только код, но и данные. В том числе user generated.

Именно поэтому мы не имеем надёжной изоляции вкладок, контроля за кэшем и сетевыми запросами, лимитирования ресурсов, изоляции самого браузера от системы.

Я думаю это все можно настроить, но этого никто не делает, и не потому, что индустрии не дошло, а потому что не очень надо.

И прихожу к выводу, что частично она уже есть: wasm.

Васму уже 5 лет, я не знаю, почему он не взлетел, но причина должна быть.

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

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

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

Состояние можно прикрутить. Сейчас его делают костылями через вызовы js. К тому времени, как появился wasm, скрипты уже потеснили его — их достаточно даже для игр. Наверно, поэтому и не взлетел. Спрос есть, нету предложения: PWA и реактивный фреймворк удобнее, чем то, что есть под wasm, во многом из-за его реализации, требующий костыляния на js. Поэтому сейчас wasm используется для лёгких игр без состояния.

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

Веб должен был увести нас от программ, а необходимость привела нас снова к программам, так как нужно и в БД и видео и туды-сюды. Прогресса нет. Нужно было сделать веб в виде текста, который бы загружал при первом переходе на сайт - свою программу и сохранял бы в кеше и при повторном обращении к сайту, открывалась бы программа и всё. И так на всех платформах. Это мы видим в мобильных ОС - программы на каждый чих. Переливание из пустого в порожнее.

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

слишком небезопасно загружать любую программу с любого сайта

Типо из-за этого флеш похоронили? Фигня всё это Можно было не плодить веб-индустрию, а все усилия портратить на написание нормальной микроядерной ОС или хорошего мощного антивируса. WASM - на мой взгляд - это таже кросспрограмм, только уже сложно писать, сложно придумывать, всё сложно долго и дорого. Дешевле была бы нативная прога с хорошим антивирём и всё.

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

Thermo Fisher Connect и доступные там приложения, например. Очень полезны в вопросах обработки данных с их же приборов (а иногда и не только) и работает лучше, чем софт, поставляемый с приборами.

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

так работает PWA и на это есть спрос

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

а все усилия портратить на написание ... хорошего мощного антивируса

Вы хотя бы понимаете, что молотком можно и гвоздь забить и человека убить?

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

Вы хотя бы понимаете, что молотком можно и гвоздь забить и человека убить?

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

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

Не поняли. Попробую по другому. Лекарство может как вылечить так и убить. Так доступнее?

Пустое сообщение... Можно не высасывать из нас все соки, чтобы не было необходимости в придумывании абстрактного «лекарства» от истощения.

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

Зачем ему DOM? Можно использовать любой удобный тулкит. На wasm пишут программы, а не сайты.

InterVi ★★★★
() автор топика

Достаточно отделить мухи от котлет и запуск приложений перенести на специализированную платформу типа жабы, а в браузер вернуть сайты и выпилить этот развесистый жабоскрипт.

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

Собственно, я и предложил близкое к этому решение. Единственное, что приходит на ум о реальной кроссплатформенности — это Java. Но программы на Java не соответствуют 1 и 4 пункту: их нужно скачивать и запускать вручную (предварительно установив Java-машину), они имеют доступ ко всей системе — следовательно, небезопасны. Wasm-браузер устранил бы эти проблемы.

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

На любом удобном тулките. Например, Qt 5 поддерживает wasm. В нём уже операционные системы запускают. Но причём здесь бразуер? Я предложил вынести wasm в отдельную программу, которая станет контейнером для wasm-программ. Если она станет такой же распространённой, как браузеры, то программ на JavaScript станет меньше, веб мог бы снова стать текстовым.

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

Если ты можешь сделать wasm безопасным значит ты можешь сделать и жабу безопасной. Шо то ВМ это это ВМ. Загрузка и запуск программ это тоже в свое время решенная задача.

Но остается вопрос что делать с юзерами.

ya-betmen ★★★★★
()
Ответ на: комментарий от InterVi

Например, Qt 5 поддерживает wasm.

Он использует обвязки на JavaScript, как раз для доступа к JS API и возможно к DOM API.

James_Holden ★★★
()
Ответ на: комментарий от ya-betmen

Это не то же самое. Wasm работает везде и сразу, а Java-программу придётся портировать на мобилки.

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

Правильного браузера не существует. Как и правильного молотка, как приводили в примере выше.

Проблема веба именно в охреневших программистах, и не столько в конкретном человеке, сколько во всей их парадигме. Поясню.

Вот есть в HTTP несколько запросов, GET/POST. Есть необходимость сделать форму авторизации на сайте. Пожалуйста, делай <form action='обработчик' method=POST><input type=submit value='Отправить'></form> и обрабатывай данные хоть башем. Но нет же ж. Мы включим сюда какой нибудь гребанный фреймворк а-ля jquery, добавим еще пару десятков структур в DOM, и обязательно какой-нить говноCSS типа boostrap. И все для того, чтобы нарисовать «Ошибка авторизации» в красивом shade-fade-material-flat-plat-блят-новомодном окошечке. В итоге алгоритм на 10 строчек растянется на 200Кб, кучу деревьев и ресурсы на обработку этого всего.

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

К чему я веду.

Ну выбросишь ты JS, который нормально работает. Ну заменишь его на другой язык. Ну понаписывают на нем фреймворков для управления фреймворками. И появится через 10 лет на ЛОРе тема «как поставить плагин noWasm на Microsoft Firefox v.100500»

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

количество уязвимостей по флешу зашкаливало. в твоем варианте ты хочешь откатить все назад и сделать ОС без файрвола *опой в сеть. ты прямо гений-инженер.

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

количество уязвимостей по флешу зашкаливало. в твоем варианте ты хочешь откатить все назад и сделать ОС без файрвола *опой в сеть. ты прямо гений-инженер.

Ты сам веришь в то, что Adobe'овцы в PS, AU, PP и т.д. смогли вылизать код, который в сумме в 1000р больше и сложнее, а с Flash не смогли справиться?!..

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

да, я думаю, этим разные команды занимались.

crypt ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)