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
한번 쓰고 우려먹는 플러터
Search
Ben
July 27, 2019
Programming
0
150
한번 쓰고 우려먹는 플러터
Ben
July 27, 2019
Tweet
Share
More Decks by Ben
See All by Ben
2019년의 플러터: 모바일을 넘어
justive
1
40
Other Decks in Programming
See All in Programming
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
120
Ruby×iOSアプリ開発 ~共に歩んだエコシステムの物語~
temoki
0
320
そのAPI、誰のため? Androidライブラリ設計における利用者目線の実践テクニック
mkeeda
2
310
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
600
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
180
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
1
440
基礎から学ぶ大画面対応(Learning Large-Screen Support from the Ground Up)
tomoya0x00
0
1.5k
AI時代のUIはどこへ行く?
yusukebe
18
8.9k
GitHubとGitLabとAWS CodePipelineでCI/CDを組み比べてみた
satoshi256kbyte
4
240
Namespace and Its Future
tagomoris
6
700
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
320
2025 年のコーディングエージェントの現在地とエンジニアの仕事の変化について
azukiazusa1
24
12k
Featured
See All Featured
Balancing Empowerment & Direction
lara
3
620
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Code Reviewing Like a Champion
maltzj
525
40k
It's Worth the Effort
3n
187
28k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Writing Fast Ruby
sferik
628
62k
Faster Mobile Websites
deanohume
309
31k
Being A Developer After 40
akosma
90
590k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Context Engineering - Making Every Token Count
addyosmani
3
48
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Transcript
ೠߣॳҊ ۰ݡח ۞ఠ ٘݃ੋ٘() ӣ࢚
ӣ࢚ ࣽୌೱҮ ੌ߈ਗ ஹೊఠ Ӓېझ ҕ ٘݃ੋ٘() SW োҳࣗ োҳਗ
JUSTIVE Google I/O Extended Pangyo Flutter in 2019: Beyond Mobile
[email protected]
Google I/O Extended Suwon 2019֙ ۞ఠ: ݽ߄ੌਸ ֈয Unity / Electron / Flutter Vue.js /Physics Simulation / Android etc..
۞ఠۆ Dart ҳӖ Fuchsia ۽झ ۖಬ Hot reload Hot restart
۞ఠۆ? Flutter is Google’s portable UI toolkit for building beautiful,
natively-compiled applications for mobile, web, and desktop from a single codebase.
Native Performance Theming Widgets Rendering Animation Painting Gestures Foundation Framework(Dart)
Engine(C++) Skia Dart VM Text Android/iOS runner Hardware
Stateful hot reload
Material Design Material Theming Cupertino Design
ࢶ UI b.setColor(red) b.clearChildren() ViewC c3 = new ViewC(...) b.add(c3)
return ViewB( color: red, child: ViewC(...), ) Imperative style Declarative style
None
নೠ ѐߊ ജ҃ Windows MacOS Linux ChromeOS Android Studio Visual
Studio Code IntelliJ
Dart?
Dart ݽ؍ - ݣ౭ ಁ۞ য JavaScript / Java /
C# যܳ ೧ࠁ࣑ݶ য࢝ೞ ঋਸ য Flutterח UIࠗఠ ۽ө Dart۽ ҳࢿ
Dart Hello world main( ) { var words = ['Hello',
'world']; print('${words.join(", ")}!'); }
Dart ёೱ ېझ ё ࢚ࣘ ङച ੋఠಕझ ೣࣻഋ ۽Ӓې߁
ۈ Ҋରೣࣻ ۽ઉ ఋੑ ఋੑ Ѩࢎ ઁ֎ܼ झ݀ য ಞউೣ ఋੑ য উх
۽झ ۖಬ
None
Android iOS Web Raspberry pi(Android Things) Windows MacOS Linux …
Android iOS Web Raspberry pi(Android Things) Windows MacOS Linux …
Android iOS Web Raspberry pi(Android Things) Windows MacOS Linux …
Flutter for web
Themeing Widgets Rendering Animation Painting Gestures Foundation Framework(Dart) Browser(C++, JS)
Canvas DOM Skia ূਸ ܖ ঋҊ DOM / HTML5 Canvasܳ ਊೞৈ ۪؊݂ (HTML/CSS -> Canvas (fallback) Dart2js compiler Your code JS Engine
Flutter for web https://flutter-web-demo.firebaseapp.com/#/ >Flutter : new web project >pub
global activate stagehand >pub global activate webdev
mobile web https://github.com/flutter/flutter https://github.com/flutter/flutter_web
dependencies: flutter: sdk: flutter … dependencies: flutter_web: flutter_web_ui: … pubspec.yaml
mobileRepo/lib -> webRepo/lib
import 'package:flutter/material.dart'; import ‘package:flutter_web/material.dart’;
for Material Icons /web/assets/FontManifest.json [ { “family:”MaterialIcons”, “fonts”:[ { “asset”:”https://fonts.gstatic.com/s/materialicons/v42/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2"
} ] } ]
main() async{ await ui.webOnlyInitializePlatform( assetManager: engine.AssetManager( assetDir: “asset_dir” ) );
app.main(); }
Animation Network Gesture Route
None
Adaptive Components э ਗٜ۽ ܲ ࠙ܳ ٜ݅ӝ +
Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet image title subtitle Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet
Adaptive Components झѱ౭ܳ ೖೞࣁਃ styles : color / padding /
alignment … -> э ਤઇ layouts : column / stack … -> ܲ ਤઇ
Adaptive Components MediaQuery.of(context). aspectRatio width height
None
Interactions ::hover
Interactions Listener onPointerEnter onPointerExit onPointerDown onPointerUp onPointerMove
Interactions RawKeyboardListener RawKeyboardListener( focusNode: _focusNode, onKey: (RawKeyEvent event){ … }
)
None
Q & A
[email protected]
хࢎפ