HowProgrammingWorks - JavaScript and Node.js Programming
6.3K subscribers
312 photos
7 videos
1 file
769 links
Программная инжененрия для JavaScript, TypeScrip, Node.js 👉 Group: https://t.me/MetarhiaHPW 👉 Node.js channel: https://t.me/metarhia 👉 Node.js group: https://t.me/nodeua
Download Telegram
🚀 Вместе эти технологии формируют инфраструктуру для local-first приложений:

1️⃣ PWA (Progressive Web App)
Веб-приложения с пользовательским опытом, близким к нативному: офлайн-режим, установка, быстрое время загрузки. Решают проблемы плохой связи и медленной сети, сочетая преимущества веба и нативных приложений.

2️⃣ CRDT (Conflict-Free Replicated Data Types)
Структуры данных для автоматического разрешения конфликтов в распределённых системах. Решают проблемы синхронизации, параллельного редактирования и обеспечивают работу офлайн-приложений без потери или конфликтов данных.

3️⃣ CAS Containers (Compare-And-Swap)
Атомарный механизм одновременного доступа, который хранит записи базы данных с защитой через хеши или версии. Решает проблемы race conditions, конфликтов одновременных изменений, обеспечивает консистентность и оптимистичное управление параллельным доступом в распределённых БД.

4️⃣ IndexedDB (browser built-in database)
Встроенная в браузер база данных с API для транзакционного хранения структурированных данных на стороне клиента. Решает задачи офлайн-хранения, локальных запросов, кэширования и построения b-tree индексов.

5️⃣ OPFS (Origin Private File System)
Защищённая высокопроизводительная файловая система, доступная только веб-приложениям в рамках одного origin (источника). Решает задачи хранения крупных файлов и высокоскоростных файловых операций в вебе.

6️⃣ Blockchain (без майнинга)
Распределённый защищённый журнал записей для децентрализованной базы данных с неизменяемой историей. Решает задачи целостности и неизменности данных, прозрачности и доверия.

7️⃣ JavaScript Smart Contracts
Бизнес-логика, выполняемая на языке JavaScript в децентрализованных средах. Решает задачи автоматизации и доверия при изменении данных, автоматического подтверждения договорённостей и безопасного выполнения кода.

8️⃣ WebSocket
Протокол для двунаправленного обмена данными в реальном времени через одно TCP-соединение. Решает проблемы задержек и поддерживает интерактивные приложения, близкие к реальному времени.

9️⃣ WebRTC (Web Real-Time Communication)
Протокол для потоковой передачи мультимедиа и обмена данными напрямую между пользователями. Решает задачи прямого взаимодействия в реальном времени, низких задержек и децентрализации без промежуточных серверов.

🔟 Metaschema
Декларативный язык схем для моделирования, валидации и синхронизации данных. Решает проблемы несоответствия данных, эволюции и миграции схем, упрощает описание метаданных и работу со сложными структурами данных.
🔥185🤯32🎉1