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
TauriでカスタマイズしたTODOアプリを作ってみる
Search
Yohei Iino
November 22, 2022
Technology
210
0
Share
TauriでカスタマイズしたTODOアプリを作ってみる
TauriでカスタマイズしたTODOアプリを作ってみる
Yohei Iino
November 22, 2022
More Decks by Yohei Iino
See All by Yohei Iino
1年半放置したExpo製アプリを最新化してみた
wheatandcat
0
96
作成中のFlutterアプリの中間発表
wheatandcat
0
78
最近読んだ技術書を簡単紹介
wheatandcat
0
100
ユニバーサルリンク/アプリリンクを使ってQRコードでゲストログインできるようにする
wheatandcat
0
370
Firebase App Checkを実装したので紹介
wheatandcat
0
280
PlanetScaleの無料プランがなくなるので、NeonとTiDBを試してみた
wheatandcat
0
390
Flutter HooksとRiverpodの解説
wheatandcat
0
560
T3 Stack(応用編: Next Auth & SSRの実装紹介)
wheatandcat
1
390
App Routerの紹介
wheatandcat
0
140
Other Decks in Technology
See All in Technology
Tachikawa.any 運営挨拶
daitasu
0
180
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.4k
Databricks 月刊サービスアップデートまとめ 2026年04月号
tyosi1212
0
130
AI飲み会幹事エージェントを作っただけなのに
ykimi
0
230
"スキルファースト"で作る、AIの自走環境
subroh0508
0
540
JTCでRedmine利用者2700人を実現した手法 第二部
nobuonakamura
0
110
Claude Code / Codex / Kiro に AWS 権限を 渡すとき、何を設計すべきか
k_adachi_01
5
1.5k
20260515 OpenIDファウンデーション・ジャパンご紹介
oidfj
0
130
オライリーイベント登壇資料「鉄リサイクル・産廃業界におけるAI技術実応用のカタチ」
takarasawa_
0
410
インプロセスQAのための要因から捉えるプロジェクトリスクマネジメントnano #1 開発リソース効率状態への対処 #jasstnano
barus_qa
0
140
サンプリングは「作る」のか「使う」のか? 分散トレースのコストと運用を両立する実践的戦略 / Why you need the tail sampling and why you don't want it
ymotongpoo
4
180
10サービス以上のメール到達率改善を地道に継続的に進めている話 / Continue to improve email delivery rates across multiple services
yamaguchitk333
6
1.9k
Featured
See All Featured
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
200
Navigating Team Friction
lara
192
16k
Git: the NoSQL Database
bkeepers
PRO
432
67k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Scaling GitHub
holman
464
140k
Ruling the World: When Life Gets Gamed
codingconduct
0
230
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
180
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
370
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
120
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
260
Transcript
Tauri でカスタマイズしたTODO アプリを作ってみる Press Space for next page
自己紹介 📝 飯野陽平(wheatandcat ) 🏢 フリーランスエンジニア(シェアフル株式会社CTO ) 💻 Blog: https://www.wheatandcat.me/
🛠 今までに作ったもの memoir ペペロミア Atomic Design Check List
Tauri とは Tauri はRust で作成されたクロスプラットフォームでデスクトップアプリが作成できるフレームワーク デスクトップアプリのネイティブ部分のコードはRust 、フロントエンドはWeb の技術を使用できる なのでフロントエンドに関しては以下を使用できる HTML
React Next.js Svelte 開発の領域的には、Electron と同じ Tauri Rust
Electron との比較 違いについては以下を参照 Tauri 1.0 が正式リリース!概要や特徴、Electron との違いを解説 | アンドエンジニア 主な違い以下の部分
Electron は、Chromium をそのままバンドルしているがWebView エンジンのwry を使用している Rust で実装されており、バンドルサイズ、消費CPU 、セキュリティ共に改善されている Electron
TODO アプリを作って みた Tauri を使用してTODO アプリを作ってみた。 GitHub https://github.com/wheatandcat/todo 使用技術 Tauri
React markdown-to-jsx Tailwind CSS
モチベーション 仕事のTODO リストは今までslack のDM に書いて運用していた 雑な運用でリストで書き出して、タスクが終わったら「✔」をつけるのみで運用 他のTODO アプリも試したが無駄にリッチなアプリが多くて続かなかった ブラウザだと、他の作業で間違って消したりするのでデスクトップアプリで作りたかった 仕事のTODO
だとセンシティブな内容が多かったので、サーバー通信は避けたい なので、自分用にカスタマイズしたTODO アプリを作ってみた
Tauri での開発① 以下でブラウザでローカル環境を起動 これだとブラウザで起動するので、ブラウザのDevTool も活用できる。 $ yarn dev
Tauri での開発② 以下でデスクトップアプリでローカル環境を起動 これだとデスクトップアプリの状態で起動するので、ネイティブの機能をデバッグする場合は、 こちらで起動。 ホットリロードも有効なので、快適に開発できる。 $ yarn tauri dev
Tauri での開発③ 以下でデスクトップアプリをビルド デフォルトだとhost のデバイの環境で起動できるアプリにビルド。 以下のオプションで各バイナリに変換可能。 binary options $ yarn
tauri build
frontend の開発 frontend はReact で作成 コード Markdown の表示はmarkdown-to-jsx を使用 コード
Markdown のparse はremark-parse を使用 checkbox 部分のパースする自前で作成 コード
ネイティブ機能の開発 アプリのmenu は以下で作成 コード 詳細は、こちら menu からfrontend 側の通信は、以下のように作成 ネイティブから送信 コード
frontend で受け取り コード frontend 側から、Tauri API を使用してネイティブの機能も活用可能 @tauri-apps/api | Tauri Apps
まとめ Tauri での開発は快適 React 経験者なら、ほぼ学習コスト無しで作れる ネイティブ機能の部分がRust なので書きやすい ビルドが通れば、ほぼOK な感じの安心感がある ちゃんと開発できたらApple/Windows
ストアで公開する予定
ご清聴ありがとうございました