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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
unvalley
July 28, 2026
33
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
4k
Building An Ephemeral Markdown Paper with AI
unvalley
3
1.3k
Thoughts and experiences on Rust and TypeScript
unvalley
2
450
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.9k
Behind Biome
unvalley
11
4.7k
Biome is for JavaScripters
unvalley
4
1.2k
Better Unit Testing
unvalley
1
740
Featured
See All Featured
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
310
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
510
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
270
The Cost Of JavaScript in 2023
addyosmani
55
10k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
570
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
640
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
How to Ace a Technical Interview
jacobian
281
24k
The Curse of the Amulet
leimatthew05
2
14k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
860
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