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
120
なぜ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
100
Other Decks in Programming
See All in Programming
ONE WEDGE_company_guide
1wedge_one
0
450
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
380
Code Reviews
bkuhlmann
4
890
見た目から始める生産性向上
ikumatadokoro
7
800
Changed Rules: Architectures with Lightweight Stores
manfredsteyer
PRO
0
240
データアナリストが行うDatabricksを活用したETLの自動化事例
shinoa
0
260
PostmanでAPIの動作確認が楽になった話
h455h1
0
160
Fragment Composition of GraphQL
quramy
2
220
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
6
910
スクラムガイドのスプリントレトロスペクティブを改めて読みかえしてみた / Re-reading the Sprint Retrospective Section in the Scrum Guide
mackey0225
3
410
エンターテイメント業界で利用されるAWS
demuyan
0
210
Elm Form Validation
bkuhlmann
0
510
Featured
See All Featured
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Making Projects Easy
brettharned
108
5.5k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
Ruby is Unlike a Banana
tanoku
96
10k
KATA
mclloyd
15
12k
Gamification - CAS2011
davidbonilla
76
4.6k
Building Adaptive Systems
keathley
31
1.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
40
4.4k
Rebuilding a faster, lazier Slack
samanthasiow
73
8.2k
Making the Leap to Tech Lead
cromwellryan
124
8.5k
Embracing the Ebb and Flow
colly
80
4.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
17
6.4k
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