Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
The joy of Native Messaging
Search
unvalley
July 28, 2026
11
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
The joy of Native Messaging
2026/7/27 雑LT
unvalley
July 28, 2026
More Decks by unvalley
See All by unvalley
Plugin System in Rust based JavaScript / TypeScript Linters
unvalley
6
2.4k
Exploring ways to stay continuously involved with OSS
unvalley
3
3.9k
Building An Ephemeral Markdown Paper with AI
unvalley
3
1.3k
Thoughts and experiences on Rust and TypeScript
unvalley
2
440
Exploring Type-Informed Lint Rules in Rust based TypeScript Linters
unvalley
7
13k
Behind VS Code Extensions for JavaScript / TypeScript Linting and Formatting
unvalley
7
3.8k
Behind Biome
unvalley
11
4.6k
Biome is for JavaScripters
unvalley
4
1.2k
Better Unit Testing
unvalley
1
720
Featured
See All Featured
How to Ace a Technical Interview
jacobian
281
24k
Making the Leap to Tech Lead
cromwellryan
135
10k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Docker and Python
trallard
47
4.1k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.8k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
270
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
430
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
200
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
280
Transcript
Native Messagingの嬉しさ 雑LT @unvalley_ 1
Native Messaging - 「ユーザーのマシン上のアプリ」と「ブラウザ拡張」の間で、 メッセージ交換を可能にする技術 - 結構古くて、Chromeでは10年以上前から存在する Native App 他
2
(このLTでの)Native Messagingの嬉しさ ネイティブアプリ(特にLocal-First App)に ブラウザのコンテキストを与えられる 3
背景:内部リンク中心のドキュメントアプリをSwiftで作りたい で作りたい 4
欲しい機能:ウェブ上の記事をナレッジにしたい Native Messagingでいけそう 5
Webページ → Markdownにして加工 → ネイティブアプリ 1. 2. 3. ブラウザ拡張:@mozilla/readabilityで記事内容を抽出、.html→ .md化する
ブラウザ拡張からネイティブアプリ:Native Messagingでメッセージ送信 ネイティブアプリ:得られた .mdに対して内部リンクを適用。完了を返信 6
Native Messagingを使うときにやること 1. ブラウザ拡張:マニフェストの準備 - manifest.json に nativeMessaging権限を追加 2. ネイティブアプリ:アプリマニフェストのインストール
- ネイティブアプリを使える状態にして、アプリマニフェストを作成し1との 接続設定を書いて、OSごとの決められた場所に配置 3. ブラウザ拡張+ネイティブアプリ:メッセージ処理実装 - 拡張は sendNativeMessage などでJSONを送り、ネイティブアプリ はstdinでJSONを読みstdoutでレスポンスを返す 7
なぜこのケースでNative Messagingが必要なの? - Downloads APIやFile System Access APIでは、ネイティブアプリの処 理を挟めない -
localhostでもできるが、ポート管理やlocalサーバー常時起動が必要 8
Native Messagingはブラウザとネイティブアプリ間で色々できる セキュリティ(他人の実装) には気をつけながら楽しく使おう 終 9