The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

В SQLite добавлена поддержка WASM для использования СУБД в web-браузере

29.10.2022 18:34

Разработчики SQLite развивают проект по реализации возможности компиляции библиотеки в промежуточный код WebAssembly, способный запускаться в web-браузере и пригодный для организации работы с БД из web-приложений на языке JavaScript. Код для поддержки WebAssembly добавлен в основной репозиторий проекта. В отличие от API WebSQL, в основе которого лежит SQLite, WASM SQLite полностью изолирован от браузера и не влияет на его безопасность (Google решил отказаться от поддержки WebSQL в Chrome после нескольких уязвимостей в SQLite, которые можно было эксплуатировать через WebSQL для атаки на браузер).

Целью проекта является предоставление рабочей JavaScript-обвязки, идентичной по функциональности с API SQLite. Web-разработчикам предоставляется высокоуровневый объектно-ориентированный интерфейс для работы с данными в стиле sql.js или Node.js, обвязка над низкоуровневым C API и API на базе механизма Web Worker, позволяющий создавать асинхронные обработчики, выполняемые в отдельных потоках. Для скрытия тонкостей организации работы с потоками поверх API на базе Web Worker также развивается вариант программного интерфейса на основе механизма Promise.

Данные, которые web-приложения сохраняют в WASM-версии SQLite, могут быть локализованы в рамках текущего сеанса (теряются после перезагрузки страниц) или сохранены на стороне клиента (сохраняются между сеансами). Для постоянного хранения подготовлены бэкенды для размещения данных в локальной ФС при помощи OPFS (Origin-Private FileSystem, расширение к API File System Access, доступное пока только в браузерах на основе WebKit и Chromium) и в локальных браузерных хранилищах на базе API window.localStorage и window.sessionStorage. В случае применения localStorage/sessionStorage данные отражаются в соответствующие хранилища в формате ключ/значение, а при применении OPFS предусмотрено два варианта: симуляция виртуальной ФС при помощи WASMFS и отдельная реализация sqlite3_vfs, предлагающая слой SQLite VFS на базе OPFS.

Для сборки SQLite в WASM-представление задействован компилятор Emscripten (достаточно собрать расширение ext/wasm: "./configure --enable-all; make sqlite3.c; cd ext/wasm; make"). На выходе формируются файлы sqlite3.js и sqlite3.wasm, которые можно включить в свой JavaScript-проект (пример HTML и JavaScript).

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Проект libSQL начал развитие форка СУБД SQLite
  3. OpenNews: Выпуск СУБД SQLite 3.39
  4. OpenNews: Доступен предварительный вариант стандарта WebAssembly 2.0
  5. OpenNews: Уязвимость в SQLite, позволяющая удалённо атаковать Chrome через WebSQL
  6. OpenNews: Проект Postgres WASM подготовил работающее в браузере окружение с СУБД PostgreSQL
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/58004-sqlite
Ключевые слова: sqlite, wasm, webassembly
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (114) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 19:52, 29/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    не понятно, зачем оно нужно...
     
     
  • 2.5, Анон133 (?), 20:23, 29/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Главное, что модно. Остальное не важно. И при этом будут всех уверять, что это так необходимо. Эту кипучую деятельность необходимо направить на пользу.
     
     
  • 3.6, Аноним (6), 20:26, 29/10/2022 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Веб приложения PWA, невозможно заблокировать (удалить из магазинов Приложений), кросс платформенны по умолчанию, sql подобные данные можно сразу импортировать на сервер для хранения, удобно строить иерархичные структуры и вполне возможно даже работать будет при использовании join быстрее чем noSQL, легко поддерживать и находить разработчиков т.к. многие знают js
     
     
  • 4.7, Аноним (2), 20:46, 29/10/2022 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Много маркетинговых слов, но нет ответа на простой вопрос: зачем?!
     
     
  • 5.9, Аноним (-), 21:08, 29/10/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Очень даже полезный инструмент для переваривания условно-больших данных.
    Массивы в JS имеют дикий перерасход по размеру используемой RAM. А теперь большие базы можно ворочать прямо в браузере...

    Ясен пень - этот движ педалируется для Chrome_OS, а в Chrome_Browser обкатывается бета-версия технологии.

     
     
  • 6.11, Аноним (2), 21:12, 29/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > больших данных

    Зачем?! Зачем у клиента ворочать бигдату?

     
     
  • 7.20, Аноним (20), 21:54, 29/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А что, на своих серверах машинное время тратить? Юзер все равно ничего полезного не делает...
     
     
  • 8.41, Аноним (2), 07:09, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Майнеры и ботофермеры идут на ... текст свёрнут, показать
     
  • 7.59, Аноним (59), 13:07, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Предположим есть типичная бигдата в районе 100к строк (статистика продаж, например) и клиент хочет сам что-то с ней делать (проводить вычисления для экономических расчетов). Обычно он делает это в эксельке, которая еле запускается и есть рамы в районе нескольких гб.
     
     
  • 8.78, Аноним (2), 20:01, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А ты предлагаешь вместо нативного приложения хттп-хтмл-ссл-вебасм-жыэс-аякс-скул... текст свёрнут, показать
     
  • 8.82, Брат Анон (ok), 07:26, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    100к строк -- это не биг дата Ну и всё-таки, делать подобное в браузере хоть и ... текст свёрнут, показать
     
     
  • 9.104, qrKot (?), 11:35, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну, как бэ, на стороне сервере может быть в миллиард раз эффективнее, но за сво... текст свёрнут, показать
     
     
  • 10.122, Брат Анон (ok), 08:39, 02/11/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    100к строк -- отзывчиво Ещё раз -- ЭТО НЕ БИГ ДАТА Когда начинается биг дата -... текст свёрнут, показать
     
  • 8.116, Аноним (116), 15:10, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Мне кажется что PWA приложения это не про перенос вычислений на сторону клиента,... текст свёрнут, показать
     
  • 7.97, 1 (??), 09:07, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну смотри - как нынче поступает веб-макака, которое по БД не знает от слова "совсем".
    Данные через ORM он тянет двумя способобами - сразу все зараз (насколько ему позволяет буфер) и 1000 раз по одной.

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

     
     
  • 8.109, Аноним (2), 22:05, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    вытянуть нужное кол-во - это которое из все зараз или 1000 по одной ... текст свёрнут, показать
     
  • 6.23, YetAnotherOnanym (ok), 22:07, 29/10/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Массивы в JS имеют дикий перерасход по размеру используемой RAM

    Ну чо, всё правильно, вполне по-жабаскриптному.

     
     
  • 7.40, Аноним (40), 07:04, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В js есть типизированные массивы которые хранят не ссылки на объекты, а значения
     
  • 6.28, Kuromi (ok), 23:23, 29/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Как будто Гугл не может просто добавиь SQLite в ХромОсь, а потом приделать очередной кастомный API для доступа к нему из браузера на ХромОси.
     
     
  • 7.43, Аноним (40), 07:12, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Гуглу что угодно может в голову прийти, сначала удалили websql, а потом опять вставят.
     
  • 5.10, Аноним (10), 21:09, 29/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В этом мире всё бывает только либо ради секса, либо ради денег - выбирай.
     
     
  • 6.35, Бывалый смузихлёб (?), 06:09, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Перельман с тобой не согласен
     
     
  • 7.53, Аноним (10), 09:55, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Какие-то 0.00...01% фриков не в счёт. Тем более Перельман не бедный человек уже, если ты читал его работы, то знаешь, что он одну из ключевых подписал "спонсирование этой публикации было сделано на личные сбережения". И он сам признавалася, что после работы в США денег ему хватит до конца жизни. Поэтому либо секс, либо деньги.
     
  • 5.16, Аноним (40), 21:35, 29/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы было больше смузи
     
  • 5.49, Аноним (116), 09:36, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Опеннет эксперты зрят до самого глубокого дна (той ямы в которой находятся) и готовы видеть маркетинг даже в собственном отражении
     
  • 4.18, Аноним (40), 21:40, 29/10/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Зачем нужны какие-то маркетинговые веб так называемые приложения, когда сильно нанять нормального программиста на си и он сделает все как надо
     
     
  • 5.58, FixingGunsInAir (ok), 10:46, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    1. Одного программиста на Си будет недостаточно.

    2. Они хотят много деняк, т.к. программируют на системном языке. Тут я возможно ошибаюсь. Но если им платят меньше, чем жабоскриптерам, то у них меньше мотивации будет оставаться сишником. Ведь на условном жабоскрипте кодить легче, особенно после сишечки.

    3. Их мало. Всё меньше и меньше. А жабоскриптеров тьма.

     
     
  • 6.63, Аноним (63), 15:03, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Им платят сильно-сильно меньше чем JavaScript-ерам, прям совсем дно. Им вообще платят практически меньше любых программистов на других языках.

    Работы вот прям совсем нет, очень мало, единичные вакансии. Приличных нет совсем.

    После Samsung мне предлагали кодить этот суперсамолет Су-55 (ПАК ФА) за какие-то жалкие 50к, ну максимум 60к. Когда ребята с Java уходили на 200-300 в банки.

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

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

    Вот такая реальная печаль на самом деле. И это в Москве лет 7 назад. Сейчас всё ещё хуже для Сишников.

     
     
  • 7.71, Аноним (40), 16:07, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >После Samsung мне предлагали кодить этот суперсамолет Су-55 (ПАК ФА) за какие-то жалкие 50к, ну максимум 60к. Когда ребята с Java уходили на 200-300 в банки.

    Знакомая программы для спутников писала для микроконтролеров миландр тоже за примерно такие суммы. Грустно.
    Это при том что у нас один из самых больших военных бюджетов в мире.

     
     
  • 8.84, Аноним (84), 07:29, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Просто бюджет уходит на генеральские дачи, что в свете последних событий оказало... текст свёрнут, показать
     
  • 7.89, Аноним (2), 07:38, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > 50к, ну максимум 60к ... И это в Москве лет 7 назад

    Харош заливать, у нас сварщики получали от 60к, и это не в Москве лет 10 назад. С твоими "способностями" для тебя и 25к - много будет.

     
     
  • 8.108, Аноним (63), 18:43, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ты объявления то посмотри и сколько предлагают Сишникам Что, обидно стало, чт... текст свёрнут, показать
     
  • 4.42, Аноним (40), 07:09, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Веб PWA приложения это очень хорошо, но для них есть встроенная в браузер indexeddb
    Без необходимости выкачивать большую библиотеку
     
     
  • 5.64, Аноним (63), 15:05, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Замечательно, а запросы как вы к ней будете строить?
     
     
  • 6.85, Аноним (84), 07:30, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    На линзах. Другое дело в том, что оно жрёт.
     
  • 6.88, Брат Анон (ok), 07:33, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    1 Откройте для себя мир правильно структурированных ключей Что-то вроде такого... большой текст свёрнут, показать
     
     
  • 7.107, Аноним (63), 18:39, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Понятно, реляционную алгебру не осилил.
     
     
  • 8.110, Аноним (2), 22:07, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    пытайся дальше когда-то - осилишь ... текст свёрнут, показать
     
  • 8.118, Брат Анон (ok), 16:14, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Понятно Вообще не читал мой ответ ... текст свёрнут, показать
     
     
  • 9.119, Аноним (63), 17:33, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    После мир правильно структурированных ключей дальше можно не читать Человек в... текст свёрнут, показать
     
  • 6.101, Аноним (40), 10:47, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Но IndexedDB поддерживает, разные Store, они же таблицы в sql и коллекции в mongodb. Даже редис так не умеет, там фиксированно 16 таблиц на все ключи.
    Поддерживает запросы по ключу и диапазону ключей.
    Поддерживает транзакции.
    Прямо как маленькая mongodb встроенная прямо в браузеры. С одним API на все браузеры.

     
  • 3.19, Аноним (40), 21:42, 29/10/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    В этом суть моднявых языков типа джавы и руста
     
     
  • 4.86, Аноним (84), 07:31, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Джавараст!
     
     
  • 5.99, Аноним (99), 09:47, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    растаджа
     
  • 2.26, Kuromi (ok), 23:19, 29/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    "Данные, которые web-приложения сохраняют в WASM-версии SQLite, могут быть локализованы в рамках текущего сеанса (теряются после перезагрузки страниц) или сохранены на стороне клиента (сохраняются между сеансами)."

    Слово "Трекинг" просматривается насквозь.

     
     
  • 3.39, Аноним (40), 07:01, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Какие глупые веб-челлвекообразные.
    Вместо того чтобы для трекинга сохранить данные в cookie и localStorage они выдумали качать библиотеку скомпилированную в web assembly
    Что вообще в голове у этих людей
     
     
  • 4.44, Аноним (2), 07:12, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ты, похоже, никогда не слышал про обфускацию.
     
     
  • 5.52, Аноним (116), 09:53, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ты видимо слышал, но что это волшебное слово значит не понимаешь.
    Рассказывай какой отношение обфускация имеет портированию SQLite библиотеки на webassembly
     
     
  • 6.65, Аноним (63), 15:06, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ничего ты не понимаешь. Тут, понимашь, эксперт слово молвит. Понимать надо!
     
  • 6.80, Аноним (2), 22:37, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > портированию SQLite библиотеки на webassembly

    В последнее время всё больше вижу вебмакак, забивающих гвозди подушками.

     
     
  • 7.103, Аноним (40), 11:07, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В последнее время всё больше вижу опеннет экспертов, по которым не понятно это скрипт или человек такой странный
     
  • 4.74, Kuromi (ok), 17:40, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Какие глупые веб-челлвекообразные.
    > Вместо того чтобы для трекинга сохранить данные в cookie и localStorage они
    > выдумали качать библиотеку скомпилированную в web assembly
    > Что вообще в голове у этих людей

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

    Толи дело самопальный webassembly код который пишет непонятно что непонятно куда.

     
  • 2.113, Аноним (113), 10:44, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это вы зря, очень удобно. Не надо городить свое, когда вам надо поискать к примеру по 2 ключам.
     

  • 1.3, Аноним (10), 19:52, 29/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Аноним одобряет, особо радует что это не LibreSQL (или как его там, из соседней новости), а нативный скулайт.
     
  • 1.13, Аноним (13), 21:23, 29/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Мы вам встроили ОС в браузер, чтобы вы пользовались ОС, пока пользуетесь ОС, пока сидите в браузере.
     
  • 1.14, Аноним (40), 21:32, 29/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Моднявые сму..технологии и до sqlite до́брались. Скоро его перепишут на электрон и он не быдет работать без npm
     
     
  • 2.22, Аноним (22), 22:04, 29/10/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я тебе больше скажу они стали использовать WASM без браузера! Как просто обычный бекенд. Говорят очень безопасно.
     
     
  • 3.24, Самый Лучший Гусь (?), 22:09, 29/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В wasm сразу встроены все необходимые алгоритмы безопастности, которые только нужны, что не сказать о нативных кодах. Это пища для размышления.
     
     
  • 4.29, Аноним (29), 23:37, 29/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да наслушался такого. И того что на WASM нет нормальной документации и всего такого им приходится самим разбираться. Пишут кстати на расте.   Такая безопасная безопасность что её приходится оборачивать в другую безопасность, чтобы было безопаснее.
     
     
  • 5.36, Бывалый смузихлёб (?), 06:16, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Так единственный кросплатформенный выхлоп у раста - это именно васм. Как и у сишки и у прочего, что поддерживает ллвм. В общем-то, у них особо и выбора нет в чём ковыряться )

    Хотя мантр про безопасную безопасность по определению ведь не натив наслушался ещё во времена роста популярности джавы в 90/00-е. Тогда ведь многие полагали что за ней будущее даже эпичнее чем сейчас у жс, раста, васма и питона вместе взятых.
    Но не взлетело. Оказалось что в абстрактном воображаемом сыре дырок не меньше. И чем он абстрактней - тем их больше

     
     
  • 6.55, Аноним (40), 10:03, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >Как и у сишки и у прочего

    Ты, похоже, никогда не слышал про posix
    Ох уж эти современные так называемые программисты.

     
     
  • 7.90, Брат Анон (ok), 07:45, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Ты, похоже, никогда не слышал про posix
    > Ох уж эти современные так называемые программисты.

    Месье откровенно перепутал два понятия: идея и реализация.

    Автомобиль -- идея.

    Лада -- реализация идеи автомобиль.

    Если идея хороша, не факт, что реализация идеи также будет хороша.

     
  • 6.106, Аноним (106), 16:21, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Жаба не взлетела из-за того, что никому просто нахрен не нужны были "кроссплатформенные" приложения. Народ пожимал плечами на "то же самое, только в браузере" и продолжал пользоваться нэйтивом.
    Сейчас ситуация ничуть не лучше: все <b>платёжеспособные</b> клиенты сидят по-прежнему в Венде, Линукс радостно глотает пыль, несясь по обочине, огрызкофилы вообще не знают в своей цифровой диктатуре "что такое не эппл", а мобильные приложения вообще не нуждаются в громоздком десктоп-дизайне.
    Так что макаки попрыгают со своими "десктоп-в-браузере", да опять забросят.
     
     
  • 7.114, Аноним 10032 (?), 11:15, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Хуясе у него жаба не взлетела
    Настолько не взлетела, что 25 лет уже не взлетает
     

  • 1.15, Аноним (40), 21:34, 29/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Позор что так называее программисты не знающие что такое шина адреса и чем отличается Гарвардская архитектура добрались до sqlite
     
     
  • 2.31, Аноним (31), 23:46, 29/10/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > и чем отличается Гарвардская архитектура

    Молодец, спародировал сам себя. И Фон Нейман тут не при чём.

     

  • 1.25, koct9i (?), 22:47, 29/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Последний год без SQL на фронтэнде.
     
     
  • 2.34, Вы забыли заполнить поле Name (?), 00:56, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://sql.js.org уже давно был + есть реляционные бд поверх indexeddb, например, https://github.com/google/lovefield. Но хз где это в реальности применяется.
     

  • 1.27, Kuromi (ok), 23:22, 29/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Самое забавное что SQL уже пыталичь просунуть в Web  в виде WebSQL, но прокатило, даже Чрому пришлось отправить его на снос, и тут же появляется SQl через WebAssembly. Да еще и опять с сохранением данных на клиенте. Как своевременно.
     
     
  • 2.30, Аноним (29), 23:38, 29/10/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты не понимаешь WebSQL небезопасно. Тоже самое в WASM должно быть безопасно, как минимум в теории.
     
     
  • 3.32, Аноним (32), 23:50, 29/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А на практике будут пересылать файлы бызы данных, сгенерированные на фронтэнде, на бэкенд, и открывать там. В результате - RCE.
     
  • 3.33, Онаним. (?), 00:10, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Придётся WASM на грусти переписывать.
     
     
  • 4.76, Аноним (76), 19:10, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Когда хотел схохмить... Открой для себя Wasmer - среду выполнения модулей WebAssembly, написанную на расте.
     
     
  • 5.81, Онаним. (?), 01:04, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Когда хотел схохмить... Открой для себя Wasmer - среду выполнения модулей WebAssembly,
    > написанную на расте.

    Среду не хочу, пятницу давай.

     
     
  • 6.83, Аноним (2), 07:29, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > пятницу давай

    Забавно :) Ты в курсе, какого гендера был Пятница?

     
     
  • 7.98, Онаним. (?), 09:42, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Гендеры, шмендеры, какая в задницу разница.
     
  • 3.37, Бывалый смузихлёб (?), 06:20, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    WebSQL всё-таки был частью браузера, а тут - просто вебмодуль т.е часть клиентского кода вебстраницы. Даже если его и ломанут, то смогут делать лишь то что может делать жс на вебстранице.

    А в первом случае - можно было бы и под капот браузера пролёту через взломанный его компонент

     
     
  • 4.45, Аноним (2), 07:19, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > если его и ломанут ... лишь то что может делать жс на вебстранице

    API File System Access... Если его ломанут...

     
     
  • 5.46, другой Аноним (?), 09:10, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Если его ломанут, то никакой sqlite уже совершенно не нужен.

     
  • 5.51, Аноним (116), 09:41, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    JS обертку над простыми файловыми операциями взломают?
    Если это случится то будет доступен весь каталог пользователя на запись и все его данные + возможность сделать автозагрузку всего чего угодно, а так же ненужные уже системные файлы на чтение.
     
  • 5.56, Аноним (40), 10:09, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    у веб-макак что угодно ломанут. Видишь джаву, считай что там уже дырень.
     
     
  • 6.66, Аноним (63), 15:13, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так ломают то у тру олдовых элитных С++шников.
     
  • 6.72, Вы забыли заполнить поле Name (?), 17:05, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > у веб-макак что угодно ломанут. Видишь джаву, считай что там уже дырень.

    Казалось бы причём тут джава?

     
  • 2.38, Аноним (40), 06:55, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Websql знаменили на indexeddb
     

  • 1.47, Аноним (116), 09:31, 30/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Порт SQLite для WebAssembly понадобится не для того чтобы местные клоуны вывалив... большой текст свёрнут, показать
     
     
  • 2.48, Аноним (116), 09:33, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Для мобильных приложений offline-first очень часто делают https://developer.android.com/topic/architecture/data-layer/offline-first

    А теперь и для PWA

     
  • 2.50, Аноним (2), 09:39, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Браузер это кросс-...

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

     
     
  • 3.57, Аноним (40), 10:12, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Как будто необразованные веб-макаки не знающие что такое шина адреса и пихающие в каждый hello world на джаве по 100500 npm зависимостей, могут это понять.
     
     
  • 4.61, Аноним (61), 14:11, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >джаве по 100500 npm

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

     
  • 2.60, Аноним (60), 13:32, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >сложных PWA приложен

    Когда слышу такое хочется кричать - А ПОЧЕМУ НЕ СДЕЛАТЬ НОРМАЛЬНЫЙ КЛИЕНТ-СЕРВЕР? На нормальном ЯП, с нормальными библиотеками сети/бд, с нормальным протоколом РПЦ, который поддерживает только домен нашего преложения, и наконец с нормальным родным гуем для каждой платформы? Почему нормальная разработка уже не в моде? В операционку тащат браузерного монстра, чтобы он сдеал то что она уже умеет, но с дикими затратами памяти/проца и задними дверьми в самых неожиданных местах. Мир точно где-то срвернул не туда.

     
     
  • 3.62, Аноним (40), 14:54, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Иногда нормальный клиент-сервер делают. На dot.net получается родной гуй для каждой версии винды и все давольны.
     
  • 3.68, Аноним (40), 15:17, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • –4 +/
    У нас на работе фронтэнд для пользователей на react/javascript и android/kotlin
    А фронтэнд биллинга на react. Биллинг запускают и из gnu/linux, из windows и из mac os x и даже из планшетов android так как большая часть сотрудников удаленщики.

    Вот я думаю, оставшимся 2м программистам нужно переписать это на НОРМАЛЬНЫЙ КЛИЕНТ-СЕРВЕР без смузи-технологий, чтобы опеннет эксперты были довольны. Там и так 5 языков программирования и 8 фреймворков, поэтому если добавить к ним еще 3 (языка и фреймворка) с них не убудет.

     
     
  • 4.70, Аноним (40), 15:24, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • –4 +/
    для клиентского frontend был бы очень полезен offine-first, но его нет. Собственно у нас по уму и должно было бы быть настоящее PWA приложение для клиентов, но...
     
  • 3.69, Аноним (63), 15:19, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Те чтобы приложение на каждый чих лезло с запросом на сервер и тратило 200-300 мм (а то и больше) только на задержки сети?

    Да вы, батенька, гений.

     
  • 3.73, Вы забыли заполнить поле Name (?), 17:10, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >>сложных PWA приложен
    > Когда слышу такое хочется кричать - А ПОЧЕМУ НЕ СДЕЛАТЬ НОРМАЛЬНЫЙ КЛИЕНТ-СЕРВЕР?
    > На нормальном ЯП, с нормальными библиотеками сети/бд, с нормальным протоколом РПЦ,
    > который поддерживает только домен нашего преложения, и наконец с нормальным родным
    > гуем для каждой платформы? Почему нормальная разработка уже не в моде?
    > В операционку тащат браузерного монстра, чтобы он сдеал то что она
    > уже умеет, но с дикими затратами памяти/проца и задними дверьми в
    > самых неожиданных местах. Мир точно где-то срвернул не туда.

    Ну ты приведи пример таких технологий. Все свернули на электрон, потому что это тупо дешевле в том числе и в плане поиска людей.


     
  • 2.67, Аноним (63), 15:15, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Так местные клоуны дальше вызова malloc и не продвинулись.

    Всё ещё думают что JavaScript для анимации статичных страничек, как в старые добрые времена.

    Собственно, в этих временах и своих фантазиях они и застряли.

     
     
  • 3.93, Аноним (93), 08:32, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    JS хорош, а все разрабы на нем - г...о.
     
  • 2.75, Kuromi (ok), 17:45, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >[оверквотинг удален]
    > Браузер это кросс-платформенная среда выполнения, предоставляющая ABI не зависящий от
    > операционной системы, архитектуры процессора, порядка байт и к тому же обеспечивающая
    > хорошую изоляцию от остальной ОС.
    > Такие приложения не нужно устанавливать на тысячи компьютеров, они будут загружать свои
    > компоненты по мере их обновления, автоматически.
    > Можно написать Offline-first PWA приложение, а способное работать без интернета, и ему
    > как раз может понадобится база данных сложнее IndexedDB.
    > Подключил WebAssembly SQLite библиотеку, она тебе предоставила Promise API и пишешь запросы.
    > Результаты сохраняться на диск через File System Access и будут синхронизироваться
    > с бэкэндом, при появлении интернета.

    О, очередные влажные фантазии про PWA-который-вот-вот-захватит-мир. Какая это там уже итерация по счету?
    Пока что PWA мне напоминают морские приливы и отливы - покричали, поигрались, бросили, через годик другой опять сделали открытие. И каждый раз оказывается что опять не хватило API, не хватило функционала, вот уже решили SQL прикрутить, теперь-то точно вхлетит!

     
     
  • 3.77, Аноним (2), 19:52, 30/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Последнее время от PWA как раз отказываются. Эппл заблокировала некоторые функции PWA из-за проблем с конфиденциальностью. Мозила с FF 85 (всего-то 2021 год) дропнула часть функционала PWA. На мобильниках PWA усиленно выжирают батарейку.
     
  • 2.94, Аноним (93), 08:35, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну да, все и правильно. Пофиг на производительность и размер этих помоев.
     

  • 1.79, Вы забыли заполнить поле Name (?), 20:11, 30/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Апи взаимодействия с бд синхронный, хотя в websql был как синхронный, так и асинхронный вариант https://www.w3.org/TR/webdatabase/#sql. Чтобы долгие операции не вешали ui их предлагается выносить в отдельный веб-воркер?
     
     
  • 2.87, Аноним (84), 07:32, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Их предполагается переписывать с ORM на SQL.
     
     
  • 3.111, Аноним (40), 09:32, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    https://sqlite.org/wasm/doc/trunk/api-oo1.md

    Но там же есть Object Oriented API, зачем с него переписывать?
    Как это поможет от блокировки главного потока?

     
  • 2.91, Аноним (40), 08:02, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    https://sqlite.org/wasm/doc/trunk/api-worker1.md#promiser

    Вот же оно уже вынесенное

     
     
  • 3.100, Аноним (2), 10:21, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    воркер на воркере воркером погоняет... И чего это браузеры начали тормозить круче паровоза в вертикальную гору?!
     
     
  • 4.112, Аноним (40), 09:33, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В вашем гениальном комментарии сосредоточена вся суть так называемой веб, так называемой разработки
     
  • 4.115, Аноним (116), 14:56, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Веб-макаки не умеющие программировать окончательно испортили интернет.
    Всем вменяемым людям давно пора переходить на Gopher
     
     
  • 5.120, Аноним (63), 17:35, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    И что ты до сих пор не перешёл?
     

  • 1.92, Аноним (93), 08:31, 31/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Правильно! Чтобы быстрее современный веб медным тазом накрылся.
     
     
  • 2.95, ыы (?), 08:44, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Надо ли нам уже надевать шапочки из фольги и учить язык рептилоидов?
     
     
  • 3.96, Аноним (2), 08:45, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > надевать шапочки из фольги и учить язык рептилоидов?

    Растаманы уже это сделали.

     
     
  • 4.102, Аноним (40), 10:54, 31/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Мне часто кажется что рептилоиды высосали мозг у местных экспертов.
     

  • 1.117, pofigist (?), 15:46, 01/11/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хммм... Осталась только одна надежда - на РВСН... Иначе эту заразу никак не выжечь... :)
     
     
  • 2.121, Аноним (63), 17:37, 01/11/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Согласен, без американских стратегических сил с экспертами opennet не справиться.

    Проблему нужно решать окончательно.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру