SlideShare a Scribd company logo
DartPad + CodePen で、
Flutterを体験してみよう
1
完全に理解した人達の
「Web技術」Talk #4
自己紹介
名前
robo (兼高理恵)
好きなもの
モバイル端末
おしごと
アプリの設計から実装まで
所属
GDG Kyoto (staff) WTM Kyoto (staff) Flutter Osaka (staff)
2
Flutterは、Webアプリも作れます
#3では、東京都 新型コロナウイルス感染症 対策サイト の
最新検査状況を表示する Web アプリを作ってみました。
3
ホスティングしていないので、
ローカルサーバで動作させて
います。
はじめに
このセッションは、Flutter 未体験者や初学者向けです。
● Flutter は、どんなものなのかな?
● Flutter を、触ってみたいな。(でも開発環境インストールや設定が面倒 …)
そんなあなたに、
Flutter 概要と オンライン開発環境の DartPad + CodePen について紹介し、
一人でも手軽に Flutter 体験できるシェルスクリプト flexp を紹介します。
Fluttr ⇒ iOS/Android/Web アプリが作れるフレームワーク
4
Flutter とは
5
● Fast Development
ホットリロードでレイアウト変更も
素早く確認
● Expressive and flexible UI
柔軟に組み合わることのできる
ウィジェット&高速レンダリング。
● Native Performance
iOS および Android リリースアプリは、ネ イ
ティブマシンコード(ARM)にビルドされま
す。
Flutter 公式サイト https://flutter.dev/
 
6
● MacOS のみ、
アルファバージョン
dev channel 移行
release 実行対応
アルファバージョン Flutter on desktop
Desktop support for Flutter
https://flutter.dev/desktop
 
7
● ベータバージョン
dev channel 移行
Chrome のみ対応
Edge Firefox Safari
対応計画中
ベータバージョン Flutter on the web
Web support for Flutter
https://flutter.dev/web
ベータバージョン Flutter on the web
【参考資料先】
Web support for Flutter ⇒ https://flutter.dev/web
Building a web application with Flutter ⇒ https://flutter.dev/docs/get-started/web
Web support for Flutter goes beta
https://medium.com/flutter/web-support-for-flutter-goes-beta-35b64a1217c0?
How to Write a Flutter Web Plugin
https://medium.com/flutter/how-to-write-a-flutter-web-plugin-5e26c689ea1
8
 
9
● UI as a Source File
単一ソースによる、全ての UI 構築
● Material Design、Material Theming 準拠
OSや画面サイズに囚われず、
一貫して統一されたブランドイメージを実現
環境に合わせて意図した UI が表示される。
ユーザーに意図した体験を届ける。
Flutter とは、OSや画面サイズに囚われない
ambient computing 実現を担う UIプラットフォーム
オンライン開発環境で、
手軽に Flutter を体験してみる。
10
速報
 
11
CodePen が、
米国時間 4月15日
Flutter 対応を発表!
Flutter on CodePen
https://blog.codepen.io/2020/04/15/flutter-on-codepen/
このニュースは、現在
Flutter の公式 Twitterアカウント
@FlutterDev トップに固定掲載
されています。
CodePenは、Webアプリ統合開発環境
CodePenは、Webブラウザ上で完結する、
Webアプリ統合開発環境 (IDE) です。
Webアプリ・プロジェクトのことを Pen と呼称し、
コラボモードを使った複数人でのコード共有開発や、
開発アプリのホスティング/コンテンツへの埋め込みや、
プライベート・プロジェクトの作成(*1)
もできます。
(*1)
有償版機能、サーバ上に保管されます。
(エクスポートも可)
12
Hello! This is CodePen
https://codepen.io/hello/
アカウント未登録でも使えます
13
Create a New Pen
https://codepen.io/pen/editor/flutter
アカウント登録しなくても、
Create a New Pen ページで、
新規プロジェクトが開きますし、
エディタにコードが書き込めます。
Webアプリの実行もできますよ。       
(ただし保管はできません )
「いきなりコードは、
  思いつかないよね」
  …というあなたには
14
CodePen Topics
https://codepen.io/topic/flutter/templates
Flutter Yeti - @mkiisoft テンプレート
https://codepen.io/pen?template=LYpGWBx
マウスカーソルを見
るよ!
背景が波打つよ!
Gooey edge - @gskinner テンプレート
https://codepen.io/pen?template=mdeVWjp
CodePen Flutter専用の CodePen Topics は、
Pen (プロジェクト) テンプレート・ページです。
実際に動作確認できる、複数のWebアプリの
テンプレート (コード) が登録されています。
テンプレートなので、ソースコードを編集して、
新たな自分の Webアプリを公開登録(*1)
できます!
(*1)
登録にはアカウント登録必須(無償版でも可)
CodePen Flutter は、DartPad の兄弟
15
Announcing CodePen support for Flutter (2020/04/16)
https://medium.com/flutter/announcing-codepen-support-for-flutter-bb346406fe50
CodePen の Flutter エディタは、DartPad 機能提
供サービスと同じバックエンドサービス
(dart-services) の上に構築されています。
CodePen’s Flutter editor is built on top of the same backend
service, dart-services, that currently powers DartPad (the
web-based editor created by the Flutter and Dart teams that
has been recently updated to support Flutter).
投稿者の Zoey Fan さんは、    
Google、Flutterのプロダクトマネージャーです。
DartPad (https://dartpad.dev) は、
公式の Dart / Flutter オンライン実行環境
16
メリット(手軽)
・誰でも使えます。(アカウント登録不要)
・Dart プログラムを編集&実行できます。
・Flutter for Web アプリを編集&実行できます。
・Webブラウザで動作するので環境構築不要です。
・少数ですがサンプルコードが提供されています。
デメリット(機能制約)
・dart ファイルやディレクトリは作れません。
・コード自動補完や宣言元参照はあるけど限定的。
・外部ライブラリが使えません (pubspec.yaml 未対応)
・Embed/埋込や独自公開には、 gist 連携が必須。
・独自アプリも DartPad としての公開になる。
Counter app in Flutter サンプル
https://dartpad.dev/b6409e10de32b280b8938aa75364fa7b
DartPad 参考資料先
【参考資料先】
DartPad ⇒ https://dartpad.dartlang.org/
DartPad | Dart ⇒ https://dart.dev/tools/dartpad
ビルトイン(組み込み済み) DartPad 使用先
Codelabs | Dart ⇒ https://dart.dev/codelabs
Codelabs | Flutter ⇒ https://flutter.dev/docs/codelabs
Implicit animations ⇒ https://flutter.dev/docs/codelabs/implicit-animations
A brand new DartPad.dev with Flutter support (Flutter for web 対応報告投稿)
https://medium.com/dartlang/a-brand-new-dartpad-dev-with-flutter-support-16fe6027784
17
 
18
DartPad コードは、gist に保管して再利用します。
gist 保管されたサンプルアプリ・コード
https://gist.github.com/cch-robo/1f60de0bfbd9887bdff672639832cd54
サンプルアプリ・コードのDartPad ページ埋込
https://dartpad.dev/embed-flutter.html?id=1f60de0bfbd9887bdff6726398
32cd54&theme=dark
 
19
Gist連携した DartPad&コードが埋め込みの実態
 コードラボやドキュメントのページ中に、
 DartPad コンテンツを埋め込むこともできます。
 独自アプリを DartPad ページとして、
 公開 (DartPad 埋め込み) できます。
DartPad コードの Gist 保管概要
1. DartPad は、pubspec.yaml を使わない ⇒ 外部ライブラリを使えない、
main.dart だけで完結する Flutter for Web アプリの簡易開発環境と考える。
2. DartPad で作成&動作確認したコードをコピペして、
タイトルを main.dart にした gist にして保管します。
gist は、同じタイトルであっても GIST_ID (ハッシュ値?) が異なるので、
main.dart タイトルの gist は複数作成できます。
3. gist は、パブリックか プライベートの git リポジトリです。
URLを知っている人のみにアクセスさせるには、URLを非公開にします。
20
DartPad コードの Gist 保管手順
1. GitHub にサインインして、gist ページ https://gist.github.com/ を開きます。
2. gist の 説明文を入力して、タイトルは main.dart 固定入力で、
DartPad コードを Gist テキストボックスに貼り付けます。
3. 「Create public gist」か「Create secret gist」のいずれかを選んで、
URL公開 (検索可能) か、URL非公開 (URLを知らないとアクセス不能) かを
指定して gist を作成します。
4. gist が作成されると https://gist.github.com/ユーザ名/GIST_ID のような、
URLが割り当てられます。 (GIST_ID は、ランダムな英数字列をとります)
21
GitHub ヘルプ > Gist の作成
https://help.github.com/ja/github/writing-on-github/creating-gists
gist 連携 ⇒ DartPad&コード埋め込み手順
1. コードを指定して DartPad を開くには、以下のようなホスト+パスで、
DartPad コード gist URL の GIST_ID をクエリパラメータに指定します。
https://dartpad.dev/embed-flutter.html?id=1f60de0bfbd9887bdff672639832cd54
2. DartPadをページに追加するには、iframe タグと 上記URLを利用します。
<iframe src="https://dartpad.dev/embed-flutter.html?id=<GIST_ID>"></iframe>
3. ダークテーマにするには、クエリとして theme=dark を追加指定します。
https://dartpad.dev/embed-flutter.html?id=<GIST_ID>&split=80&theme=dark
22
dart-lang / dart-pad Embedding Guide
https://github.com/dart-lang/dart-pad/wiki/Embedding-Guide
付 録
flexp / flutter 体験シェルスクリプト紹介
23
flexp / flutter 体験シェルスクリプト
 bash シェルスクリプト flexp ファイルは、
 Flutter未体験の方に、Flutter を簡易に体験してもらえるよう、
 SDK インストールやアプリの実行を提供するスクリプトです。
 注意1)git コマンドが実行できることが必須要件となります。
 注意2)SDK インストールには、2GB (*1)
のディスクスペースが必要です。
     (*1)
IntelliJ IDEA 統合開発環境を含めた場合。  
 flexp ⇒ flutter experimence シェルスクリプト・ダウンロード先
 https://drive.google.com/open?id=1eLGvMXMje5t6I1-N-x34q-rh3vcgakFI
 flexp と Flutterを体験してみよう.pdf (flexp 使い方ドキュメント) を含む 資料一式
 https://drive.google.com/open?id=14uKhm2_9vvk-VMPcc2Yt_gjR5kTZCyst
24
セッション資料 URL
DartPad+CodePenで、Flutterを体験してみよう
https://drive.google.com/open?id=1wg1s4zx89tAfxF3H2JFXIHBa4i8gkyuekCZRLJ9gqyk
flutter_for_web_scraping_sample.zip(#3 #4 資料一式)
https://drive.google.com/open?id=14uKhm2_9vvk-VMPcc2Yt_gjR5kTZCyst
【梱包資料】
● DartPad+CodePenで、Flutterを体験してみよう.pdf (今回)
● CSSもHTMLも使わないWebアプリ開発.pdf (前回発表スライド)
● experience (前回発表サンプル Webアプリ ファイル一式フォルダ)
● flexp (Flutter環境構築スクリプト)
● Flutterを体験してみよう.pdf (flexp 使い方ドキュメント)
25
26
ご清聴、
ありがとうございました。
情報修正があれば更新します
最新版スライドは こちらから

More Related Content

What's hot

Incognito 2015 - 게임 리소스 추출과 변조 - 오효근
Incognito 2015 - 게임 리소스 추출과 변조 - 오효근Incognito 2015 - 게임 리소스 추출과 변조 - 오효근
Incognito 2015 - 게임 리소스 추출과 변조 - 오효근
Benjamin Oh
 
Azure AD による Web API の 保護
Azure AD による Web API の 保護 Azure AD による Web API の 保護
Azure AD による Web API の 保護
junichi anno
 
プロダクトマーケティングマネージャーの役割
プロダクトマーケティングマネージャーの役割プロダクトマーケティングマネージャーの役割
プロダクトマーケティングマネージャーの役割
Yuzo Shigematsu
 
社会人基礎力セルフチェックシート
社会人基礎力セルフチェックシート社会人基礎力セルフチェックシート
社会人基礎力セルフチェックシート
Kohta Matsumura
 
Pk7-KD1T2. Revolusi Industri 1.0 - 4.0.pdf
Pk7-KD1T2. Revolusi Industri 1.0 - 4.0.pdfPk7-KD1T2. Revolusi Industri 1.0 - 4.0.pdf
Pk7-KD1T2. Revolusi Industri 1.0 - 4.0.pdf
Agus Tri
 
ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術
ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術
ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術
Knowledge & Experience
 
今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID
Naohiro Fujie
 
ブロックチェーンを活用した自己主権型IDとは
ブロックチェーンを活用した自己主権型IDとはブロックチェーンを活用した自己主権型IDとは
ブロックチェーンを活用した自己主権型IDとは
TIS Blockchain Promotion Office
 
【初心者理解用】分散型金融(DeFI)と保険ビジネス
【初心者理解用】分散型金融(DeFI)と保険ビジネス【初心者理解用】分散型金融(DeFI)と保険ビジネス
【初心者理解用】分散型金融(DeFI)と保険ビジネス
taake crypto
 
SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)
Naohiro Fujie
 
H06_これからの日本の働き方が『ハイブリッドワーク』で変わる ~ 従業員を支え、寄り添い、よりよい働き方へ ~ [Microsoft Japan Di...
H06_これからの日本の働き方が『ハイブリッドワーク』で変わる  ~ 従業員を支え、寄り添い、よりよい働き方へ ~ [Microsoft Japan Di...H06_これからの日本の働き方が『ハイブリッドワーク』で変わる  ~ 従業員を支え、寄り添い、よりよい働き方へ ~ [Microsoft Japan Di...
H06_これからの日本の働き方が『ハイブリッドワーク』で変わる ~ 従業員を支え、寄り添い、よりよい働き方へ ~ [Microsoft Japan Di...
日本マイクロソフト株式会社
 
Power app custom api v0.1.21.1221
Power app custom api v0.1.21.1221Power app custom api v0.1.21.1221
Power app custom api v0.1.21.1221
Ayumu Inaba
 
分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要
Naohiro Fujie
 
納涼 和風要求開発小ネタ集
納涼 和風要求開発小ネタ集納涼 和風要求開発小ネタ集
納涼 和風要求開発小ネタ集
Kent Ishizawa
 
ベロシティを上手く使って 技術的負債を計画的に解消する
ベロシティを上手く使って 技術的負債を計画的に解消するベロシティを上手く使って 技術的負債を計画的に解消する
ベロシティを上手く使って 技術的負債を計画的に解消する
Koichiro Matsuoka
 
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
OpenID Foundation Japan
 
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
Developers Summit
 
PENYAKIT-PENYAKIT JANTUNG KONGENITAL
PENYAKIT-PENYAKIT JANTUNG KONGENITALPENYAKIT-PENYAKIT JANTUNG KONGENITAL
PENYAKIT-PENYAKIT JANTUNG KONGENITAL
Muhammad Nasrullah
 
Mixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTips
Mixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTipsMixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTips
Mixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTips
Takahiro Miyaura
 
Fungsi Manajemen Motivasi.ppt
Fungsi Manajemen Motivasi.pptFungsi Manajemen Motivasi.ppt
Fungsi Manajemen Motivasi.ppt
ppnilamongan
 

What's hot (20)

Incognito 2015 - 게임 리소스 추출과 변조 - 오효근
Incognito 2015 - 게임 리소스 추출과 변조 - 오효근Incognito 2015 - 게임 리소스 추출과 변조 - 오효근
Incognito 2015 - 게임 리소스 추출과 변조 - 오효근
 
Azure AD による Web API の 保護
Azure AD による Web API の 保護 Azure AD による Web API の 保護
Azure AD による Web API の 保護
 
プロダクトマーケティングマネージャーの役割
プロダクトマーケティングマネージャーの役割プロダクトマーケティングマネージャーの役割
プロダクトマーケティングマネージャーの役割
 
社会人基礎力セルフチェックシート
社会人基礎力セルフチェックシート社会人基礎力セルフチェックシート
社会人基礎力セルフチェックシート
 
Pk7-KD1T2. Revolusi Industri 1.0 - 4.0.pdf
Pk7-KD1T2. Revolusi Industri 1.0 - 4.0.pdfPk7-KD1T2. Revolusi Industri 1.0 - 4.0.pdf
Pk7-KD1T2. Revolusi Industri 1.0 - 4.0.pdf
 
ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術
ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術
ソフトウェア技術者のキャリアパスを考える ~ 技術者になるための戦略・戦術・作戦術
 
今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID
 
ブロックチェーンを活用した自己主権型IDとは
ブロックチェーンを活用した自己主権型IDとはブロックチェーンを活用した自己主権型IDとは
ブロックチェーンを活用した自己主権型IDとは
 
【初心者理解用】分散型金融(DeFI)と保険ビジネス
【初心者理解用】分散型金融(DeFI)と保険ビジネス【初心者理解用】分散型金融(DeFI)と保険ビジネス
【初心者理解用】分散型金融(DeFI)と保険ビジネス
 
SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)
 
H06_これからの日本の働き方が『ハイブリッドワーク』で変わる ~ 従業員を支え、寄り添い、よりよい働き方へ ~ [Microsoft Japan Di...
H06_これからの日本の働き方が『ハイブリッドワーク』で変わる  ~ 従業員を支え、寄り添い、よりよい働き方へ ~ [Microsoft Japan Di...H06_これからの日本の働き方が『ハイブリッドワーク』で変わる  ~ 従業員を支え、寄り添い、よりよい働き方へ ~ [Microsoft Japan Di...
H06_これからの日本の働き方が『ハイブリッドワーク』で変わる ~ 従業員を支え、寄り添い、よりよい働き方へ ~ [Microsoft Japan Di...
 
Power app custom api v0.1.21.1221
Power app custom api v0.1.21.1221Power app custom api v0.1.21.1221
Power app custom api v0.1.21.1221
 
分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要
 
納涼 和風要求開発小ネタ集
納涼 和風要求開発小ネタ集納涼 和風要求開発小ネタ集
納涼 和風要求開発小ネタ集
 
ベロシティを上手く使って 技術的負債を計画的に解消する
ベロシティを上手く使って 技術的負債を計画的に解消するベロシティを上手く使って 技術的負債を計画的に解消する
ベロシティを上手く使って 技術的負債を計画的に解消する
 
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
 
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
 
PENYAKIT-PENYAKIT JANTUNG KONGENITAL
PENYAKIT-PENYAKIT JANTUNG KONGENITALPENYAKIT-PENYAKIT JANTUNG KONGENITAL
PENYAKIT-PENYAKIT JANTUNG KONGENITAL
 
Mixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTips
Mixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTipsMixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTips
Mixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTips
 
Fungsi Manajemen Motivasi.ppt
Fungsi Manajemen Motivasi.pptFungsi Manajemen Motivasi.ppt
Fungsi Manajemen Motivasi.ppt
 

Similar to DartPad+CodePenで、Flutterを体験してみよう

Flutter_Forward_Extended_Kyoto-Keynote_Summary
Flutter_Forward_Extended_Kyoto-Keynote_SummaryFlutter_Forward_Extended_Kyoto-Keynote_Summary
Flutter_Forward_Extended_Kyoto-Keynote_Summary
cch-robo
 
Flutterやってみよう
FlutterやってみようFlutterやってみよう
Flutterやってみよう
Ryuto Yasugi
 
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUGGroovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
Uehara Junji
 
Getting Started with Graph Database with Python
Getting Started with Graph Database with PythonGetting Started with Graph Database with Python
Getting Started with Graph Database with Python
ロフト くん
 
Before lunch オプションを使って Flutterでstaging/release環境を切り替える
Before lunch オプションを使って Flutterでstaging/release環境を切り替えるBefore lunch オプションを使って Flutterでstaging/release環境を切り替える
Before lunch オプションを使って Flutterでstaging/release環境を切り替える
cch-robo
 
coma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworkscoma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworksAtsushi Tadokoro
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
Atomu Hidaka
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングterurou
 
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
Hideki Takase
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
Yuki Igarashi
 
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF
Atomu Hidaka
 
MTプラグイン入門以前
MTプラグイン入門以前MTプラグイン入門以前
MTプラグイン入門以前
Hiroshi Yamato
 
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
NTT DATA OSS Professional Services
 
Dart / Flutter コードファイルジェネレート入門
Dart / Flutter コードファイルジェネレート入門Dart / Flutter コードファイルジェネレート入門
Dart / Flutter コードファイルジェネレート入門
cch-robo
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka
 
Flutterを体験してみませんか
Flutterを体験してみませんかFlutterを体験してみませんか
Flutterを体験してみませんか
cch-robo
 
YYPHP #13 初めてのコードレビュー
YYPHP #13 初めてのコードレビューYYPHP #13 初めてのコードレビュー
YYPHP #13 初めてのコードレビュー
宜浩 香月
 
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
You&I
 
Tizen web app について調べたよ
Tizen web app について調べたよTizen web app について調べたよ
Tizen web app について調べたよNaruto TAKAHASHI
 

Similar to DartPad+CodePenで、Flutterを体験してみよう (20)

Flutter_Forward_Extended_Kyoto-Keynote_Summary
Flutter_Forward_Extended_Kyoto-Keynote_SummaryFlutter_Forward_Extended_Kyoto-Keynote_Summary
Flutter_Forward_Extended_Kyoto-Keynote_Summary
 
Flutterやってみよう
FlutterやってみようFlutterやってみよう
Flutterやってみよう
 
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUGGroovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
 
OSC福岡 20111203
OSC福岡 20111203OSC福岡 20111203
OSC福岡 20111203
 
Getting Started with Graph Database with Python
Getting Started with Graph Database with PythonGetting Started with Graph Database with Python
Getting Started with Graph Database with Python
 
Before lunch オプションを使って Flutterでstaging/release環境を切り替える
Before lunch オプションを使って Flutterでstaging/release環境を切り替えるBefore lunch オプションを使って Flutterでstaging/release環境を切り替える
Before lunch オプションを使って Flutterでstaging/release環境を切り替える
 
coma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworkscoma - creator’s talk session: Code - openFrameworks
coma - creator’s talk session: Code - openFrameworks
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
 
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF
 
MTプラグイン入門以前
MTプラグイン入門以前MTプラグイン入門以前
MTプラグイン入門以前
 
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
 
Dart / Flutter コードファイルジェネレート入門
Dart / Flutter コードファイルジェネレート入門Dart / Flutter コードファイルジェネレート入門
Dart / Flutter コードファイルジェネレート入門
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
 
Flutterを体験してみませんか
Flutterを体験してみませんかFlutterを体験してみませんか
Flutterを体験してみませんか
 
YYPHP #13 初めてのコードレビュー
YYPHP #13 初めてのコードレビューYYPHP #13 初めてのコードレビュー
YYPHP #13 初めてのコードレビュー
 
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
 
Tizen web app について調べたよ
Tizen web app について調べたよTizen web app について調べたよ
Tizen web app について調べたよ
 

More from cch-robo

go_router が隠してくれるもの
go_router が隠してくれるものgo_router が隠してくれるもの
go_router が隠してくれるもの
cch-robo
 
Introduction_on_designing_test_in_flutter
Introduction_on_designing_test_in_flutterIntroduction_on_designing_test_in_flutter
Introduction_on_designing_test_in_flutter
cch-robo
 
Google I/O 2021 Flutter 全体報告
Google I/O 2021 Flutter 全体報告Google I/O 2021 Flutter 全体報告
Google I/O 2021 Flutter 全体報告
cch-robo
 
フラッター開発におけるシークレット情報取扱考察
フラッター開発におけるシークレット情報取扱考察フラッター開発におけるシークレット情報取扱考察
フラッター開発におけるシークレット情報取扱考察
cch-robo
 
Dart言語の進化状況
Dart言語の進化状況Dart言語の進化状況
Dart言語の進化状況
cch-robo
 
明示的アニメで、Flutterアニメーション入門
明示的アニメで、Flutterアニメーション入門明示的アニメで、Flutterアニメーション入門
明示的アニメで、Flutterアニメーション入門
cch-robo
 
Dartでサーバレスサービス
DartでサーバレスサービスDartでサーバレスサービス
Dartでサーバレスサービス
cch-robo
 
Pin-point rebuildable and non-rebuild custom widget
Pin-point rebuildable and non-rebuild custom widgetPin-point rebuildable and non-rebuild custom widget
Pin-point rebuildable and non-rebuild custom widget
cch-robo
 
FlutterでのWidgetツリーへの状態伝播とアクセス制限の基本戦略
FlutterでのWidgetツリーへの状態伝播とアクセス制限の基本戦略FlutterでのWidgetツリーへの状態伝播とアクセス制限の基本戦略
FlutterでのWidgetツリーへの状態伝播とアクセス制限の基本戦略
cch-robo
 
Flutter のリアクティブ戦略 set state 〜 redux まで
Flutter のリアクティブ戦略 set state 〜 redux までFlutter のリアクティブ戦略 set state 〜 redux まで
Flutter のリアクティブ戦略 set state 〜 redux まで
cch-robo
 
Android lint-srp-practice
Android lint-srp-practiceAndroid lint-srp-practice
Android lint-srp-practice
cch-robo
 
Loose and fluffy_ddd_intro
Loose and fluffy_ddd_introLoose and fluffy_ddd_intro
Loose and fluffy_ddd_introcch-robo
 
Firebase Test Lab 無料枠を使ってみました。
Firebase Test Lab 無料枠を使ってみました。Firebase Test Lab 無料枠を使ってみました。
Firebase Test Lab 無料枠を使ってみました。
cch-robo
 
ZTE OPEN を日本語化(バージョンアップ)してみる
ZTE OPEN を日本語化(バージョンアップ)してみるZTE OPEN を日本語化(バージョンアップ)してみる
ZTE OPEN を日本語化(バージョンアップ)してみる
cch-robo
 
FirefoxOSで学ぶJavaScript作法
FirefoxOSで学ぶJavaScript作法FirefoxOSで学ぶJavaScript作法
FirefoxOSで学ぶJavaScript作法
cch-robo
 

More from cch-robo (15)

go_router が隠してくれるもの
go_router が隠してくれるものgo_router が隠してくれるもの
go_router が隠してくれるもの
 
Introduction_on_designing_test_in_flutter
Introduction_on_designing_test_in_flutterIntroduction_on_designing_test_in_flutter
Introduction_on_designing_test_in_flutter
 
Google I/O 2021 Flutter 全体報告
Google I/O 2021 Flutter 全体報告Google I/O 2021 Flutter 全体報告
Google I/O 2021 Flutter 全体報告
 
フラッター開発におけるシークレット情報取扱考察
フラッター開発におけるシークレット情報取扱考察フラッター開発におけるシークレット情報取扱考察
フラッター開発におけるシークレット情報取扱考察
 
Dart言語の進化状況
Dart言語の進化状況Dart言語の進化状況
Dart言語の進化状況
 
明示的アニメで、Flutterアニメーション入門
明示的アニメで、Flutterアニメーション入門明示的アニメで、Flutterアニメーション入門
明示的アニメで、Flutterアニメーション入門
 
Dartでサーバレスサービス
DartでサーバレスサービスDartでサーバレスサービス
Dartでサーバレスサービス
 
Pin-point rebuildable and non-rebuild custom widget
Pin-point rebuildable and non-rebuild custom widgetPin-point rebuildable and non-rebuild custom widget
Pin-point rebuildable and non-rebuild custom widget
 
FlutterでのWidgetツリーへの状態伝播とアクセス制限の基本戦略
FlutterでのWidgetツリーへの状態伝播とアクセス制限の基本戦略FlutterでのWidgetツリーへの状態伝播とアクセス制限の基本戦略
FlutterでのWidgetツリーへの状態伝播とアクセス制限の基本戦略
 
Flutter のリアクティブ戦略 set state 〜 redux まで
Flutter のリアクティブ戦略 set state 〜 redux までFlutter のリアクティブ戦略 set state 〜 redux まで
Flutter のリアクティブ戦略 set state 〜 redux まで
 
Android lint-srp-practice
Android lint-srp-practiceAndroid lint-srp-practice
Android lint-srp-practice
 
Loose and fluffy_ddd_intro
Loose and fluffy_ddd_introLoose and fluffy_ddd_intro
Loose and fluffy_ddd_intro
 
Firebase Test Lab 無料枠を使ってみました。
Firebase Test Lab 無料枠を使ってみました。Firebase Test Lab 無料枠を使ってみました。
Firebase Test Lab 無料枠を使ってみました。
 
ZTE OPEN を日本語化(バージョンアップ)してみる
ZTE OPEN を日本語化(バージョンアップ)してみるZTE OPEN を日本語化(バージョンアップ)してみる
ZTE OPEN を日本語化(バージョンアップ)してみる
 
FirefoxOSで学ぶJavaScript作法
FirefoxOSで学ぶJavaScript作法FirefoxOSで学ぶJavaScript作法
FirefoxOSで学ぶJavaScript作法
 

Recently uploaded

論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
atsushi061452
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 

Recently uploaded (15)

論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 

DartPad+CodePenで、Flutterを体験してみよう

  • 1. DartPad + CodePen で、 Flutterを体験してみよう 1 完全に理解した人達の 「Web技術」Talk #4
  • 3. Flutterは、Webアプリも作れます #3では、東京都 新型コロナウイルス感染症 対策サイト の 最新検査状況を表示する Web アプリを作ってみました。 3 ホスティングしていないので、 ローカルサーバで動作させて います。
  • 4. はじめに このセッションは、Flutter 未体験者や初学者向けです。 ● Flutter は、どんなものなのかな? ● Flutter を、触ってみたいな。(でも開発環境インストールや設定が面倒 …) そんなあなたに、 Flutter 概要と オンライン開発環境の DartPad + CodePen について紹介し、 一人でも手軽に Flutter 体験できるシェルスクリプト flexp を紹介します。 Fluttr ⇒ iOS/Android/Web アプリが作れるフレームワーク 4
  • 5. Flutter とは 5 ● Fast Development ホットリロードでレイアウト変更も 素早く確認 ● Expressive and flexible UI 柔軟に組み合わることのできる ウィジェット&高速レンダリング。 ● Native Performance iOS および Android リリースアプリは、ネ イ ティブマシンコード(ARM)にビルドされま す。 Flutter 公式サイト https://flutter.dev/
  • 6.   6 ● MacOS のみ、 アルファバージョン dev channel 移行 release 実行対応 アルファバージョン Flutter on desktop Desktop support for Flutter https://flutter.dev/desktop
  • 7.   7 ● ベータバージョン dev channel 移行 Chrome のみ対応 Edge Firefox Safari 対応計画中 ベータバージョン Flutter on the web Web support for Flutter https://flutter.dev/web
  • 8. ベータバージョン Flutter on the web 【参考資料先】 Web support for Flutter ⇒ https://flutter.dev/web Building a web application with Flutter ⇒ https://flutter.dev/docs/get-started/web Web support for Flutter goes beta https://medium.com/flutter/web-support-for-flutter-goes-beta-35b64a1217c0? How to Write a Flutter Web Plugin https://medium.com/flutter/how-to-write-a-flutter-web-plugin-5e26c689ea1 8
  • 9.   9 ● UI as a Source File 単一ソースによる、全ての UI 構築 ● Material Design、Material Theming 準拠 OSや画面サイズに囚われず、 一貫して統一されたブランドイメージを実現 環境に合わせて意図した UI が表示される。 ユーザーに意図した体験を届ける。 Flutter とは、OSや画面サイズに囚われない ambient computing 実現を担う UIプラットフォーム
  • 11. 速報   11 CodePen が、 米国時間 4月15日 Flutter 対応を発表! Flutter on CodePen https://blog.codepen.io/2020/04/15/flutter-on-codepen/ このニュースは、現在 Flutter の公式 Twitterアカウント @FlutterDev トップに固定掲載 されています。
  • 12. CodePenは、Webアプリ統合開発環境 CodePenは、Webブラウザ上で完結する、 Webアプリ統合開発環境 (IDE) です。 Webアプリ・プロジェクトのことを Pen と呼称し、 コラボモードを使った複数人でのコード共有開発や、 開発アプリのホスティング/コンテンツへの埋め込みや、 プライベート・プロジェクトの作成(*1) もできます。 (*1) 有償版機能、サーバ上に保管されます。 (エクスポートも可) 12 Hello! This is CodePen https://codepen.io/hello/
  • 13. アカウント未登録でも使えます 13 Create a New Pen https://codepen.io/pen/editor/flutter アカウント登録しなくても、 Create a New Pen ページで、 新規プロジェクトが開きますし、 エディタにコードが書き込めます。 Webアプリの実行もできますよ。        (ただし保管はできません ) 「いきなりコードは、   思いつかないよね」   …というあなたには
  • 14. 14 CodePen Topics https://codepen.io/topic/flutter/templates Flutter Yeti - @mkiisoft テンプレート https://codepen.io/pen?template=LYpGWBx マウスカーソルを見 るよ! 背景が波打つよ! Gooey edge - @gskinner テンプレート https://codepen.io/pen?template=mdeVWjp CodePen Flutter専用の CodePen Topics は、 Pen (プロジェクト) テンプレート・ページです。 実際に動作確認できる、複数のWebアプリの テンプレート (コード) が登録されています。 テンプレートなので、ソースコードを編集して、 新たな自分の Webアプリを公開登録(*1) できます! (*1) 登録にはアカウント登録必須(無償版でも可)
  • 15. CodePen Flutter は、DartPad の兄弟 15 Announcing CodePen support for Flutter (2020/04/16) https://medium.com/flutter/announcing-codepen-support-for-flutter-bb346406fe50 CodePen の Flutter エディタは、DartPad 機能提 供サービスと同じバックエンドサービス (dart-services) の上に構築されています。 CodePen’s Flutter editor is built on top of the same backend service, dart-services, that currently powers DartPad (the web-based editor created by the Flutter and Dart teams that has been recently updated to support Flutter). 投稿者の Zoey Fan さんは、     Google、Flutterのプロダクトマネージャーです。
  • 16. DartPad (https://dartpad.dev) は、 公式の Dart / Flutter オンライン実行環境 16 メリット(手軽) ・誰でも使えます。(アカウント登録不要) ・Dart プログラムを編集&実行できます。 ・Flutter for Web アプリを編集&実行できます。 ・Webブラウザで動作するので環境構築不要です。 ・少数ですがサンプルコードが提供されています。 デメリット(機能制約) ・dart ファイルやディレクトリは作れません。 ・コード自動補完や宣言元参照はあるけど限定的。 ・外部ライブラリが使えません (pubspec.yaml 未対応) ・Embed/埋込や独自公開には、 gist 連携が必須。 ・独自アプリも DartPad としての公開になる。 Counter app in Flutter サンプル https://dartpad.dev/b6409e10de32b280b8938aa75364fa7b
  • 17. DartPad 参考資料先 【参考資料先】 DartPad ⇒ https://dartpad.dartlang.org/ DartPad | Dart ⇒ https://dart.dev/tools/dartpad ビルトイン(組み込み済み) DartPad 使用先 Codelabs | Dart ⇒ https://dart.dev/codelabs Codelabs | Flutter ⇒ https://flutter.dev/docs/codelabs Implicit animations ⇒ https://flutter.dev/docs/codelabs/implicit-animations A brand new DartPad.dev with Flutter support (Flutter for web 対応報告投稿) https://medium.com/dartlang/a-brand-new-dartpad-dev-with-flutter-support-16fe6027784 17
  • 18.   18 DartPad コードは、gist に保管して再利用します。 gist 保管されたサンプルアプリ・コード https://gist.github.com/cch-robo/1f60de0bfbd9887bdff672639832cd54 サンプルアプリ・コードのDartPad ページ埋込 https://dartpad.dev/embed-flutter.html?id=1f60de0bfbd9887bdff6726398 32cd54&theme=dark
  • 20. DartPad コードの Gist 保管概要 1. DartPad は、pubspec.yaml を使わない ⇒ 外部ライブラリを使えない、 main.dart だけで完結する Flutter for Web アプリの簡易開発環境と考える。 2. DartPad で作成&動作確認したコードをコピペして、 タイトルを main.dart にした gist にして保管します。 gist は、同じタイトルであっても GIST_ID (ハッシュ値?) が異なるので、 main.dart タイトルの gist は複数作成できます。 3. gist は、パブリックか プライベートの git リポジトリです。 URLを知っている人のみにアクセスさせるには、URLを非公開にします。 20
  • 21. DartPad コードの Gist 保管手順 1. GitHub にサインインして、gist ページ https://gist.github.com/ を開きます。 2. gist の 説明文を入力して、タイトルは main.dart 固定入力で、 DartPad コードを Gist テキストボックスに貼り付けます。 3. 「Create public gist」か「Create secret gist」のいずれかを選んで、 URL公開 (検索可能) か、URL非公開 (URLを知らないとアクセス不能) かを 指定して gist を作成します。 4. gist が作成されると https://gist.github.com/ユーザ名/GIST_ID のような、 URLが割り当てられます。 (GIST_ID は、ランダムな英数字列をとります) 21 GitHub ヘルプ > Gist の作成 https://help.github.com/ja/github/writing-on-github/creating-gists
  • 22. gist 連携 ⇒ DartPad&コード埋め込み手順 1. コードを指定して DartPad を開くには、以下のようなホスト+パスで、 DartPad コード gist URL の GIST_ID をクエリパラメータに指定します。 https://dartpad.dev/embed-flutter.html?id=1f60de0bfbd9887bdff672639832cd54 2. DartPadをページに追加するには、iframe タグと 上記URLを利用します。 <iframe src="https://dartpad.dev/embed-flutter.html?id=<GIST_ID>"></iframe> 3. ダークテーマにするには、クエリとして theme=dark を追加指定します。 https://dartpad.dev/embed-flutter.html?id=<GIST_ID>&split=80&theme=dark 22 dart-lang / dart-pad Embedding Guide https://github.com/dart-lang/dart-pad/wiki/Embedding-Guide
  • 23. 付 録 flexp / flutter 体験シェルスクリプト紹介 23
  • 24. flexp / flutter 体験シェルスクリプト  bash シェルスクリプト flexp ファイルは、  Flutter未体験の方に、Flutter を簡易に体験してもらえるよう、  SDK インストールやアプリの実行を提供するスクリプトです。  注意1)git コマンドが実行できることが必須要件となります。  注意2)SDK インストールには、2GB (*1) のディスクスペースが必要です。      (*1) IntelliJ IDEA 統合開発環境を含めた場合。    flexp ⇒ flutter experimence シェルスクリプト・ダウンロード先  https://drive.google.com/open?id=1eLGvMXMje5t6I1-N-x34q-rh3vcgakFI  flexp と Flutterを体験してみよう.pdf (flexp 使い方ドキュメント) を含む 資料一式  https://drive.google.com/open?id=14uKhm2_9vvk-VMPcc2Yt_gjR5kTZCyst 24
  • 25. セッション資料 URL DartPad+CodePenで、Flutterを体験してみよう https://drive.google.com/open?id=1wg1s4zx89tAfxF3H2JFXIHBa4i8gkyuekCZRLJ9gqyk flutter_for_web_scraping_sample.zip(#3 #4 資料一式) https://drive.google.com/open?id=14uKhm2_9vvk-VMPcc2Yt_gjR5kTZCyst 【梱包資料】 ● DartPad+CodePenで、Flutterを体験してみよう.pdf (今回) ● CSSもHTMLも使わないWebアプリ開発.pdf (前回発表スライド) ● experience (前回発表サンプル Webアプリ ファイル一式フォルダ) ● flexp (Flutter環境構築スクリプト) ● Flutterを体験してみよう.pdf (flexp 使い方ドキュメント) 25