辛宝Otto

辛宝Otto 的玄酒清谈

北漂前端程序员儿 / 探索新事物 / Web Worker 主播之一/内向话痨
xiaoyuzhou
email

11-速通 JSJ 588は、ソケット供給を紹介し、UDPベースのP2Pソリューションを使用してデスクトップおよびモバイルアプリケーションを構築します。

以下のテキストを「日本語」に翻訳してください:

速通 JSJ 588 介绍 Socket Supply 构建桌面、移动应用,基于 UDP 的 P2P 方案
速通 JSJ 588 介绍 Socket Supply 构建桌面、移动应用,基于 UDP 的 P2P 方案
辛宝Otto

收听方式#

内容#

本期は速通 JSJ 588 ポッドキャスト「How to Build Peer-to-Peer Mobile and Desktop Apps with Socket Supply」です。

ゲストは、あなたが知らない js の著者で、現在はSocket Supplyに所属しています。

Socket Supply のツールについて紹介します。このツールは、1 つのコードベースで異なるプラットフォームをサポートし、マルチプラットフォームの問題を解決することを目指しています。

ウェブ技術を使用してデスクトップやモバイルアプリを構築するために、10 年以上前からいくつかのプレーヤーが存在しています:

  • PhoneGap -> Apache Cordova
  • NativeScript / Ionic / React Native / Tauri / Electron

これらはすべて、ランタイムを使用してウェブアプリをラップし、異なるネイティブプラットフォームでアプリを実現しようとしています。Socket Supply もこれに参加し、オープンランタイムを提供し、ウェブアプリを PWA のようにラップすることで、さまざまなプラットフォームに展開することができます。

Capacitor は Cordova 上に構築されており、15 年以上前のコードベースであり、モバイルデバイス向けに作成されています。Electron をデスクトップに使用しているものの、これは第 2 のプロジェクト全体を購入しており、両方を組み合わせると多くの複雑さが生じます。Socket はモバイル、デスクトップ、ヘッドレス、Web に対して、できるだけ少ない新しい API を発明して構築され、CSP などの Web 標準を使用してネイティブ API をサンドボックス化し、ピアツーピアなどのモダンなネットワークを実現しています。

この製品の特徴:

  • 他の古いものを嫌い、自分たちは新しいと言っています。これは特徴の一部ですが、もう一方で、ネットワーク部分には革新があり、ユニークです。これは P2P ネットワークであり、フロントエンドと分離された独立したバックエンドを奨励しません。
  • 分離されたバックエンドプロセスをサポートしていないため、Web ビューに配置され、非常に小さなサイズになります。Electron / Tauri よりもはるかに小さいです。
  • このランタイムには、完全なファイルアクセス、Bluetooth、ネットワークなどがあります。ブラウザでは完全なネットワークを使用できません。なぜなら、API が許可されていないからです。
  • ネットワークプロトコルに関しては、完全なサーバーレスの P2P プロトコルが設計されており、ソケットを介して通信し、サーバーのサポートを必要としません。
  • P2P を行っている多くのプロジェクトがありますが、彼らはサーバーレスの指令を実現するためのプロトコルを作成しました。UDP を介してネットワークを発見します。

なぜこれがゲームチェンジャーなのでしょうか?なぜなら、現在のアプリはすべてバックエンドが必要であり、データベースやストレージなどが必要だからです。

ビジネスモデルの紹介。インフラストラクチャとしての費用はかかりませんが、分析ツールなどの専門知識に対して支払いを行うことができます。顧客分析、パフォーマンス分析などの専門的なスキルに対して支払いを行い、ストアへのワンクリックデプロイなど、より便利なスキルに対して支払いを行います。

ターゲット顧客は誰ですか?すべての企業、大企業、小企業ですか?

どの企業でも利用できます。クラウドへの完全な移行は非常に高額な費用がかかります。新しい支出を追加し、2 つのアーキテクチャを同時に実行することは可能であり、AB テストを行い、最終的な結果はいくつかのクラウドサービスの大幅な削減になる可能性があります。

S3 / DB / Function などから P2P に移行するには、多くの詳細があります。実際には、クラウドから P2P に移行するにはより長い時間がかかり、A / B 並行して操作する必要があります。

私はこれがポッドキャストで扱うべき深さを超えていると思います。技術的な詳細は理解できません。

Web3 の技術を使用していますか?

Web3 の技術は使用していません。それはむしろ Web3 の技術よりも前の解決策に似ている、または Web2.5 と呼ばれるものです。

Web ソケット / WebRTC を使用していますか?

いいえ。Web ストリーム / Web ソケット / WebRTC は、彼らが P2P を構築するための要件を満たすことができないため、完全に UDP を使用しています。

IPv6 は私たちの救世主ですか?

答えはノーです。IPv6 の NAT トラバーサルは非常に悪いです。少なくとも UDP ベースの P2P に基づいています。

彼らはローカルファーストに非常に情熱を持っており、localfirstweb.devというコミュニティを形成しています。

Q: GPT さん、UDP ベースの P2P ネットワークはどのようなもので、技術的な側面と使用シナリオについて説明してください。

UDP ベースの P2P ネットワークは、通信に UDP プロトコルを使用してデータを転送するピアツーピア(Peer-to-Peer)ネットワークアーキテクチャです。従来の TCP ベースの P2P ネットワークと比較して、UDP はリアルタイム性が高く、帯域幅要件が低いアプリケーションシナリオに適しています。

技術的には、UDP ベースの P2P ネットワークでは、NAT トラバーサル技術が一般的に使用され、NAT(ネットワークアドレス変換)による P2P 通信の制約を克服します。NAT トラバーサル技術は、リレーサーバーの使用や UDP ホールパンチングなどの方法を使用して、異なるプライベートネットワークにあるノードが直接通信できるようにします。

使用シナリオとしては、UDP ベースの P2P ネットワークは次のような場合に適しています:

  • リアルタイム通信:UDP プロトコルは低遅延性と高いリアルタイム性を持ち、リアルタイムの音声通話やオンラインゲームなど、データの高速転送が必要なアプリケーションシナリオに適しています。
  • 大規模なファイル共有:P2P ネットワークはファイルを小さなブロックに分割し、複数のノードで同時にアップロードやダウンロードを行うことで、ファイルの転送速度と信頼性を向上させることができます。
  • メディアストリームの転送:UDP ベースの P2P ネットワークは、ライブストリーミング、ビデオオンデマンドなどのストリーミングメディアの転送に使用することができます。複数のノードが同時にメディアデータを提供することで、サーバーの負荷を軽減します。
  • 分散型アプリケーション:UDP ベースの P2P ネットワークは、ブロックチェーン、ファイルストレージなどの分散型アプリケーションを構築するために使用することができます。ノード間の直接通信により、データの共有や交換を実現します。

注意すべき点として、UDP ベースの P2P ネットワークは、TCP ベースの P2P ネットワークに比べて、UDP プロトコルの特性により、パケットの損失や順序の乱れなどの問題に直面する可能性があります。そのため、データの信頼性と転送効率のバランスを考慮しながら設計と実装を行う必要があります。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。