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
AngularDart
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
yujikawa
January 23, 2019
Programming
320
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AngularDart
yujikawa
January 23, 2019
More Decks by yujikawa
See All by yujikawa
Tauriでデスクトップアプリを作る with ChatGPT
yujikawa
0
140
データ品質について考えてみた
yujikawa
0
270
大問題を解決する
yujikawa
1
180
Airflowの話/about airflow
yujikawa
0
250
FastAPIに入門してみた/fastAPI
yujikawa
0
600
Jupyterでダッシュボードを簡単に作る!
yujikawa
2
970
私がUXの大切さを知った瞬間/uxjam_kitaq_1
yujikawa
0
100
Introduce Flutter
yujikawa
0
400
グロースハック完全読本を読んでみた
yujikawa
0
620
Other Decks in Programming
See All in Programming
AI 輔助遺留系統現代化的經驗分享
jame2408
1
990
LaravelLive Japan の裏方のすべて — 第188回 PHP勉強会@東京 (2026-06-24)
suguruooki
2
120
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
120
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
7k
act1-costs.pdf
sumedhbala
0
110
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
13k
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
560
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
2
750
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
12
6.5k
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.5k
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
570
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
ラッコキーワード サービス紹介資料
rakko
1
3.7M
Java REST API Framework Comparison - PWX 2021
mraible
34
9.4k
Chasing Engaging Ingredients in Design
codingconduct
0
230
How to train your dragon (web standard)
notwaldorf
97
6.7k
Rails Girls Zürich Keynote
gr2m
96
14k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
270
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
150
GitHub's CSS Performance
jonrohan
1033
470k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
630
Visualization
eitanlees
152
17k
Transcript
"OHVMBS%BSUʹೖͯ͠Έͨ GVLVPLBEBSU Ώ͔͡Θ!ZVKJLBXB@MFF
*O<>໊લ c্༞࢘ Ώ͔͡Θ *O<>ॴଐ cΧϥϏφςΫϊϩδʔ *O<>৬छʢࣗশʣ cݟश͍άϩʔεϋοΧʔ *O<>ීஈͷ͓ࣄ c8FCΞϓϦ։ൃ
*O<>ඪ cάϩʔεϋοΧʔʹͳΓ͍ͨ ࣗݾհ ZVKJLBXBMFF ZVKJLBXB@MFF
"OHVMBS%BSU IUUQTXFCEFWEBSUMBOHPSHBOHVMBS "OHVMBSͷ%BSUόʔδϣϯɺຊՈ"OHVMBSͱϓϩδΣΫτ͕ผΒ͍͠ ݱࡏͷW̑ʢʣ
Πϯετʔϧ dCSFXUBQEBSUMBOHEBSU dCSFXJOTUBMMEBSU dQVCHMPCBMBDUJWBUFBOHVMBS@DMJ dQVCHMPCBMBDUJWBUFXFCEFW ˞.BDͰͷ։ൃखॱΛॻ͍ͯ·͢
ϓϩδΣΫτ࡞ OHEBSUOFXRVJDLTUBSU ʲ࣮ߦ݁Ռʳ dOHEBSUOFXRVJDLTUBSU */'04BWJOHRVJDLTUBSUXFCJOEFYIUNM */'04BWJOHRVJDLTUBSUXFCNBJOEBSU */'04BWJOHRVJDLTUBSUXFCTUZMFTDTT */'04BWJOHRVJDLTUBSUBOBMZTJT@PQUJPOTZBNM */'04BWJOHRVJDLTUBSUHJUJHOPSF */'04BWJOHRVJDLTUBSUQVCTQFDZBNM
*/'04BWJOHRVJDLTUBSUMJCBQQ@DPNQPOFOUEBSU */'04BWJOHRVJDLTUBSUMJCBQQ@DPNQPOFOUIUNM ࢥͬͨҎ্ʹग़ྗ͞ΕΔͷ͕গͳ͍
ϑΥϧμߏ RVJDLTUBSU ᵓᴷᴷBOBMZTJT@PQUJPOTZBNM ᵓᴷᴷMJC ᴹᵓᴷᴷBQQ@DPNQPOFOUEBSU ᴹᵋᴷᴷBQQ@DPNQPOFOUIUNM ᵓᴷᴷQVCTQFDMPDL ᵓᴷᴷQVCTQFDZBNM ᵋᴷᴷXFC ᵓᴷᴷJOEFYIUNM
ᵓᴷᴷNBJOEBSU ᵋᴷᴷTUZMFTDTT
OHEBSUίϚϯυΛݟͯΈΔ dOHEBSUI /HEBSUJTBDPNNBOEMJOFJOUFSGBDFGPS"OHVMBS%BSU 6TBHFOHEBSUDPNNBOE<BSHVNFOUT> (MPCBMPQUJPOT I IFMQ1SJOUUIJTVTBHFJOGPSNBUJPO W <OP>WFSCPTF0VUQVUFYUSBMPHHJOHJOGPSNBUJPO "WBJMBCMFDPNNBOET
HFOFSBUF(FOFSBUFDPNQPOFOUPSUFTU IFMQ%JTQMBZIFMQJOGPSNBUJPOGPSOHEBSU OFX$SFBUFBO"OHVMBS%BSUQSPKFDU 3VOOHEBSUIFMQDPNNBOEGPSNPSFJOGPSNBUJPOBCPVUBDPNNBOE
OHEBSUίϚϯυΛݟͯΈΔ dOHEBSUHFOFSBUFI (FOFSBUFDPNQPOFOUPSUFTU 6TBHFOHEBSUHFOFSBUFTVCDPNNBOE I IFMQ1SJOUUIJTVTBHFJOGPSNBUJPO "WBJMBCMFTVCDPNNBOET DPNQPOFOU(FOFSBUF"OHVMBS%BSUDPNQPOFOU EJSFDUJWF(FOFSBUF"OHVMBS%BSUEJSFDUJWF QJQF(FOFSBUF"OHVMBS%BSUQJQF
UFTU(FOFSBUF"OHVMBS%BSUDPNQPOFOUUFTU UIJTDPNNBOE TIPVMECFSVOVOEFSSPPUEJSFDUPSZPGUIFQSPKFDU 3VOOHEBSUIFMQUPTFFHMPCBMPQUJPOT
࣮ࡍʹ্ཱͪ͛ͯΈΔ ϓϩδΣΫτ࡞ dDERVJDLTUBSU dQVCHFU dXFCEFWTFSWF ฤूͨ͠ΒͪΌΜͱϗοτϦϩʔυͯ͘͠Ε·͢
None
7FSZTJNQMF
OH.PEFMΛ͏ "OHVMBSͷόΠϯσΟϯάʹ͏OH.PEFMΛ͏ͨΊʹ BOHVMBS@GPSNTͱ͍͏ϥΠϒϥϦʔΛՃ͢Δඞཁ͕͋Δ dependencies: angular: ^5.0.0-beta+2 angular_forms: ^2.0.0 QVCTQFDZNM
OH.PEFMΛ͏ EJSFDUJWFTϓϩύςΟʹGPSN%JSFWUJWFTΛՃ͢Δɺ͜ΕͰ ͑ΔΑ͏ʹͳΔɻ import 'package:angular/angular.dart'; import 'package:angular_forms/angular_forms.dart'; import './hero.dart'; @Component(
selector: 'app-component', templateUrl: 'app_component.html', directives: [formDirectives] ) class AppComponent { final String title = 'Tour of Hero'; Hero hero = Hero(1, 'Windstorm'); } BQQ@DPNQPOFOUEBSU IUUQTXFCEFWEBSUMBOHPSHBQJBOHVMBS@GPSNTBOHVMBS@GPSNTGPSN%JSFDUJWFTDPOTUBOU
OH.PEFMΛ͏ IUNMʹόΠϯσΟϯά͍ͨ͠มΛબ͢Δ <h1>{{title}}</h1> <h2>{{hero.name}}</h2> <div><label>id: </label>{{hero.id}}</div> <div><label>name: </label>{{hero.name}}</div> <div> <label>name:
</label> <input [(ngModel)]="hero.name" placeholder="name"> </div> BQQ@DPNQPOFOUIUNM
݁Ռ
OH*GOH'PSΛ͏ EJSFDUJWFTϓϩύςΟʹDPSF%JSFDUJWFTΛՃ͢Δɺ͜ΕͰ ͑ΔΑ͏ʹͳΔɻ import 'package:angular/angular.dart'; import 'package:angular_forms/angular_forms.dart'; import './hero.dart'; @Component(
selector: 'app-component', templateUrl: 'app_component.html', directives: [coreDirectives, formDirectives] ) class AppComponent { final String title = 'Tour of Hero'; Hero hero = Hero(1, 'Windstorm'); } BQQ@DPNQPOFOUEBSU IUUQTXFCEFWEBSUMBOHPSHBQJBOHVMBSBOHVMBSDPSF%JSFDUJWFTDPOTUBOU
OH*GOH'PSΛ͏ OH'PSOH*GΛςϯϓϨʔτʹՃ͠·͢ɻ͜ͷลͷॻ͖ํ ຊՈ"OHVMBSͱಉͩͬͨ͡ <h1>{{title}}</h1> <h2>Heroes</h2> <ul class="heroes"> <li *ngFor="let hero
of heroes" (click)="onSelect(hero)" [class.selected] = "hero === selected"> <span class="badge">{{hero.id}}</span> {{hero.name}} </li> </ul> <div *ngIf="selected != null"> <h2>{{selected.name}}</h2> <div><label>id: </label>{{selected.id}}</div> <div> <label>name: </label> <input [(ngModel)]="selected.name" placeholder="name"> </div> </div> BQQ@DPNQPOFOUIUNM
৽͍͠ίϯϙʔωϯτΛ࡞ OHEBSUHFOFSBUFDPNQPOFOUQ\1BUI^\/BNF^ dOHEBSUHFOFSBUFDPNQPOFOUQMJCTSDIFSP@DPNQPOFOU */'04BWJOHMJCTSDIFSP@DPNQPOFOUEBSU */'04BWJOHMJCTSDIFSP@DPNQPOFOUIUNM
!*OQVUΛ͏ ֎͔ΒΛड͚ΔͨΊʹ!*OQVUΛ͏ɻ͜ΕʹΑΓηϨΫ τ͞ΕͨIFSPΛऔಘ import 'package:angular/angular.dart'; import 'package:angular_forms/angular_forms.dart'; import './hero.dart'; @Component(
selector: 'hero-component', templateUrl: 'hero_component.html', directives: [coreDirectives, formDirectives], ) class HeroComponent { @Input() Hero hero; } MJCTSDIFSP@DPNQPOFOUEBSU
ςϯϓϨʔτͷҰ෦ΛҠಈ IFSPͷৄࡉΛදࣔ͢ΔϩδοΫΛBQQ@DPNQPOFOUIUNM͔ ΒIFSP@DPNQPOFOUIUNMҠಈͤ͞Δ <div *ngIf="hero != null"> <h2>{{hero.name}}</h2> <div><label>id: </label>{{hero.id}}</div>
<div> <label>name: </label> <input [(ngModel)]="hero.name" placeholder="name"> </div> </div> MJCTSDIFSP@DPNQPOFOUIUNM
֎ग़͠ςϯϓϨʔτΛ͏ ઌ΄Ͳ֎ʹग़ͨ͠IFSP@DPNQPOFOUIUNMΛBQQ@DPNQPOFOUIUNMͰ ͏ɻBQQ@DPNQPOFOUEBSUͷEJSFDUJWFTʹՃ͢Δ͜ͱΛΕͣʹ // লུ <hero-component [hero]="selected"></hero- component> BQQ@DPNQPOFOUIUNM import
'./src/hero_component.dart'; @Component( selector: 'app-component', templateUrl: 'app_component.html', directives: [coreDirectives, HeroComponent], styleUrls: ['app_component.css'], ) // লུ BQQ@DPNQPOFOUEBSU
·ͱΊ "OHVMBSΛීஈ͔Βॻ͍͍ͯͨͱͯ͠؆୯ʹೃછΊͨؾ ͕͢Δ͕ɺϧʔςΟϯάΨʔυͱ͍ͬͨ෦ΛͲ͏࣮͢ Δͷ͔ؾʹͳΔͱ͜Ζɻ·ͨຊ൪ϓϩμΫτʹ͚ͭΔ͔Ͳ͏ ͔ͳͲΛݟۃΊΔͨΊʹͬͱॻ͍ͯΈΑ͏ͱࢥ͏ɻ IUUQTXFCEFWEBSUMBOHPSHBOHVMBSUVUPSJBM
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠