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
なぜModdableで作るのか(あるWeb屋さんの場合)
Search
Shinya Ishikawa
December 11, 2019
Programming
0
130
なぜModdableで作るのか(あるWeb屋さんの場合)
TC53セミナーの発表資料です。
Shinya Ishikawa
December 11, 2019
Tweet
Share
More Decks by Shinya Ishikawa
See All by Shinya Ishikawa
Moddableで始めるJavaScript×IoT開発
meganetaaan
0
170
Other Decks in Programming
See All in Programming
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
230
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
460
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
800
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
380
CSC307 Lecture 01
javiergs
PRO
0
690
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
200
MUSUBIXとは
nahisaho
0
140
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
140
Data-Centric Kaggle
isax1015
2
780
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
210
Oxlintはいいぞ
yug1224
5
1.4k
Gemini for developers
meteatamel
0
100
Featured
See All Featured
The browser strikes back
jonoalderson
0
420
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Claude Code のすすめ
schroneko
67
210k
Thoughts on Productivity
jonyablonski
74
5k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
950
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
190
Discover your Explorer Soul
emna__ayadi
2
1.1k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
650
BBQ
matthewcrist
89
10k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
For a Future-Friendly Web
brad_frost
182
10k
Transcript
なぜModdableで 作るのか (あるWeb屋さんの場合) 石川 真也 Why I make with Moddable -
from a web developer’s perspective
自己紹介 石川 真也( @meganetaaan) 組み込み開発を始めたい Web開発者 SIerでWebフロントエンド開発 →ModdableとM5Stackを使って趣味Maker活動 →ロボット屋さんでUI/UX開発 Self introduction
Moddableはいいぞ! Moddable is AWESOME! お伝えしたいこと
Moddableは Web開発者にいいぞ! Moddable is AWESOME for web developers! お伝えしたいこと IoTプロダクトを作りたいWeb企業
スマート機器を作りたいメーカーに朗報!
なぜModdableで作るのか? 1) UI開発を強力にサポート 2) 最新のECMAScriptに対応 Web開発者が簡単に習得できて、効率よく開発できるから Why I make with
moddable
1) UI開発を強力にサポート 1)Strong support for UI development
公式UIフレームワークpiu • モダンなUI構築のための機能が全部入り • 高速・省メモリなメディア処理機能 ☑文字 ☑画像 ☑音声 ☑アニメーション/トランジション •
UI開発の生産性を高める設計 ☑レスポンシブデザイン ☑コンポーネント指向によるUIプログラミング https://github.com/Moddable-OpenSource/moddable/blob/public/documentation/piu/piu.md Piu, the official UI framework of Moddable
デモ1: bongo cat https://github.com/meganetaaan/moddable-examples
None
デモ2: Twitter クライアント https://github.com/meganetaaan/moddable-examples
None
メディア処理…☑文字 • ビットマップフォントを表示できる ◦ 日本語フォントに対応 ◦ 使用する文字のみフォント化して容量節約 https://github.com/Moddable-OpenSource/moddable/blob/public/documentation/piu/piu.md Media processing
… ☑Text
メディア処理…☑画像 • 様々な形式の画像を統一されたI/Fで表示できる ◦ bmp, jpeg, png, gif(アニメーション含) ◦ アルファチャンネル付き画像
https://github.com/Moddable-OpenSource/moddable/blob/public/documentation/piu/piu.md Media processing … ☑Image
設計…☑レスポンシブデザイン • 複数のディスプレイサイズに対応したUIを作れる https://github.com/Moddable-OpenSource/moddable/blob/public/documentation/piu/piu.md 240x320 320x480 Design … ☑Responsive UI
設計…☑コンポーネント指向 • UIを再利用可能なコンポーネントとして設計する手法 • コンポーネントを階層的に並べてUIを組み立てる https://github.com/Moddable-OpenSource/moddable/blob/public/documentation/piu/piu.md Application Header Body Icon
Title PageCount Tweet User Content Impression Design … ☑Component oriented
☑他にも色々 • アニメーション/トランジション • タッチ/ドラッグ操作 • 画面のスクロール • ローカリゼーション(多言語対応) https://github.com/Moddable-OpenSource/moddable/blob/public/documentation/piu/piu.md
☑So many other advantages
WebのUIを開発する感覚で 組み込みの画面ができる ポイント 20 days training 10 days implementation \
AW YEAH… / Can develop embedded screens feeling like Web UI
2) 最新のECMAScriptに対応 2)Comformance for latest ECMAScript
最新のECMAScriptに対応 • ECMAScript2018 に99%準拠 ◦ RegExp ◦ Promise、async/await ◦ クラスとprivateフィールド
◦ BigInt • 標準→実装のみならず、実装→標準としてproposalも ◦ TC53 https://github.com/wingsuitist/ecmascript-logo Conformance for the latest ECMAScripot
「最新の」ECMAScriptで書く利点 • 広く使われている:技術者の調達容易性↑ ◦ Web開発者の87%がECMAScript2015以上での開発を経験 • 様々な開発支援ツールが使える:生産性↑ ◦ エディタ(VisualStudio Code)
◦ 型システム(TypeScript) ◦ Lint ツール/ フォーマッタ(ESLint/Prettier) ◦ パッケージ管理(npm) ※ ※https://2018.stateofjs.com/javascript-flavors/es6 Advantage of using the latest ECMAScripot
デモ3:開発のようす(Lチカ) Live coding of “LED ticker”
型システム • TypeScript ◦ JavaScriptに型システムを追加した代 替言語 ▪ ビルド時にJavaScriptに変換する ◦ プロパティ名や値の間違いに早く
気づける ◦ VisualStudio Code等のエディタと 組み合わせて型の補完が効く https://github.com/meganetaaan/moddable-boilerplate Type system
Lintツール/フォーマッタ • ESLint ◦ 文法チェックツール ◦ JavaScriptのベストプラクティス (よい書き方)を強制 • Prettier
◦ インデント等の自動修正 https://github.com/meganetaaan/moddable-boilerplate Linter / Formatter
パッケージ管理 • npm ◦ JavaScriptのパッケージ管 理システム ◦ 前述の各ツールのインス トールと実行を管理 ◦
簡単なタスクランナーも兼 ねる $npm run deploy:m5stack →TypeScriptの変換、ビルド、書き込みを一挙に行う 注意:Web向けのnpmライブラリは基本的に使用不可 • ブラウザAPIが使われている • メモリを潤沢に使える前提がある https://github.com/meganetaaan/moddable-boilerplate Package manager
標準に準拠している →Webエコシステムの 資産を活用できる ポイント Belong the Web standard -> Take
benefit of the Web ecosystem
まとめ:なぜModdableで作るのか? 1) UI開発を強力にサポート モダンな設計手法と強力なメディア処理でWeb UIのように画面を作り込める 2) 最新のECMAScriptに対応 標準に準拠しているからWebエコシステムの資産を活用できる 「実践Moddable」booth.pmにて頒布中! https://hokunan-shobo.booth.pm/items/1574940
Web開発者が簡単に習得できて、効率よく開発できるから Conclusion