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
Vue.jsでTypeScriptを使ってみる
Search
Takayuki
October 25, 2019
Technology
0
220
Vue.jsでTypeScriptを使ってみる
Vue.jsでTypeScriptを使ってみる
Takayuki
October 25, 2019
Tweet
Share
More Decks by Takayuki
See All by Takayuki
Laravel × Clean Architecture
bumptakayuki
0
390
エンジニアのキャリア論
bumptakayuki
1
210
地方カンファレンス主催のススメ
bumptakayuki
1
220
Laravelで敢えて試す脆弱性のある書き方
bumptakayuki
2
1.2k
地方でのPHPエンジニア採用って実際どうなの?
bumptakayuki
0
690
沖縄観光、名物を一挙紹介!
bumptakayuki
2
690
Laravel ShiftでLaravelのバージョンアップしてみた話
bumptakayuki
1
2.9k
flutterでイベントアプリを作ってみた
bumptakayuki
0
160
オフショア開発の辛みと学んだ事
bumptakayuki
0
400
Other Decks in Technology
See All in Technology
AIでデータ活用を加速させる取り組み / Leveraging AI to accelerate data utilization
okiyuki99
6
1.5k
AIエージェントによる業務効率化への飽くなき挑戦-AWS上の実開発事例から学んだ効果、現実そしてギャップ-
nasuvitz
5
1.5k
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
170
20251024_TROCCO/COMETAアップデート紹介といくつかデモもやります!_#p_UG 東京:データ活用が進む組織の作り方
soysoysoyb
0
140
AIを使ってテストを楽にする
kworkdev
PRO
0
350
今から間に合う re:Invent 準備グッズと現地の地図、その他ラスベガスを周る際の Tips/reinvent-preparation-guide
emiki
0
150
Zero Trust DNS でより安全なインターネット アクセス
murachiakira
0
130
.NET 10のBlazorの期待の新機能
htkym
0
160
re:Inventに行くまでにやっておきたいこと
nagisa53
0
810
Kotlinで型安全にバイテンポラルデータを扱いたい! ReladomoラッパーをAIと実装してみた話
itohiro73
3
120
abema-trace-sampling-observability-cost-optimization
tetsuya28
0
390
AI駆動で進める依存ライブラリ更新 ─ Vue プロジェクトの品質向上と開発スピード改善の実践録
sayn0
1
360
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
The Invisible Side of Design
smashingmag
302
51k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
670
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
How to Think Like a Performance Engineer
csswizardry
27
2.2k
A Tale of Four Properties
chriscoyier
161
23k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
900
For a Future-Friendly Web
brad_frost
180
10k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Facilitating Awesome Meetings
lara
57
6.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Transcript
Vue.jsでTypeScriptを使ってみる 鈴木孝之
"HFOEB ࣗݾհɾձࣾհ 5ZQF4DSJQUͱʁ 7VFKTͰͷಋೖํ๏
ࣗݾհɾձࣾհ
1.ࣗݾհ ◆໊લ ླ ೭(Suzuki Takayuki) ※ಉಉ໊ଟͯ͘ࠔͬͯ·͢ɻɻɻ ◆ࣗݾհ ɾ1990ɺਆಸݝੜ·Εɻ ɾࣾձਓʹͳ͔ͬͯΒɺϓϩάϥϛϯάΛ࢝ΊΔɻ ɾ2015ʹϑϧεϐʔυʹೖࣾ͠ɺ2017ʹಠཱɻ
ɾݱࡏɺडୗ։ൃΛΓͭͭɺࣗࣾWebαʔϏεΛ։ൃதɻ ◆झຯ ίεϓϨɺԻָϥΠϒɺϚϥιϯେձʹग़Δɺٿ؍ઓ ◆εΩϧ PHP,Symfony2,CakePHP3,Laravel5, JavaScript,backbone.js,Angular.js
1.ࣗݾհ
Copyright Re:Build.inc All Rights Reserved. ձࣾհ ◆ձ໊ࣾ גࣜձࣾRe:Build ◆ॅॴ ԭೄݝԭೄࢢதԝ̍ஸ̍̒−̕
◆ࣄۀ༰ ɾࣗࣾWEBαʔϏεͷاըɾ։ൃɻ ɾडୗ։ൃ ◆ࣾһ 7໊ ◆ΤϯδχΞͷಇ͖ํ ϦϞʔτϫʔΫՄೳͳࣗ༝ͳಇ͖ํΛਪͯ͠·͢ʂ
5ZQF4DSJQUͱʁ
5ZQF4DSJQUͱʁ TypeScript2012ʹϚΠΫϩιϑτʹΑͬͯ։ൃ͞ΕͨΦʔϓϯιʔεͷϓϩ άϥϛϯάݴޠͰJavaScriptͷεʔύʔηοτʢ্ҐޓʣͳҐஔ͚ͮͷݴޠͰ ͢ɻ มαϒϧʔνϯΛ҆શʹѻ͑Δ੩తܕ͖ݴޠͰ͋Δ͜ͱΫϥεΛ༻Ͱ ͖ΔͳͲJavaScriptͷܽΛิ͢Δ͜ͱΛతͱͯ͠։ൃ͞Ε·ͨ͠ɻ TypeScriptΫϥΠΞϯταΠυɾαʔόʔαΠυ྆ํͷ։ൃͰར༻͢Δ͜ͱ͕ ՄೳͰɺେنͳΞϓϦέʔγϣϯ։ൃΛߦ͏͜ͱ͕ՄೳͰ͢ɻ https://www.engineer-route.com/column/2679/
ϝϦοτɾಛ TypeScriptΛಋೖͨ͠ํ͕ྑ͍έʔε ιʔείʔυ͕େͰ ͋Δ߹ɺ·ͨෳͷ ਓ͕ϓϩδΣΫτʹै ࣄ͍ͯ͠Δ߹ɺܕγ εςϜ໌Β͔ͳΤϥʔ Λ͙ͷʹཱͪ·͢ɻ 1 νʔϜϝϯόC#
JavaͷΑ͏ͳڧ͍ܕ͖ ݴޠͷόοΫάϥϯυ Λ࣋ͪɺJavaScriptΛͱ ͜ͱΜֶͿؾͳ͍ͱ͍ ͏߹ɺTS͍͍ସ ҊͩͱࢥΘΕ·͢ɻ 2 TypeScriptΫϥεϕʔεͳ ݴޠͷͨΊɺJavaͳͲͷΦϒ δΣΫτࢦݴޠಉ༷Ϋϥε Λѻ͏͜ͱ͕Ͱ͖·͢ɻ ίϯετϥΫλɺϝιουɺ ϓϩύςΟͳͲͷϝϯόΛѻ ͏͜ͱͪΖΜՄೳͰ͢ɻ 3 ίʔυαΠζ ϝϯόʔͷաڈͷܦݧ Ϋϥεϕʔεͳݴޠ https://postd.cc/when-should-i-use-typescript/
䡧ಠࣗ ɾܕऍʢมɺҾɺΓͳͲͷܕએݴʣͱ ίϯύΠϧ࣌ͷܕνΣοΫ ɾܕਪ, ܕΨʔυ - ifจͷ instanceof ͳͲΛར༻ ͨ͠ܕਪ
ɾΠϯλʔϑΣΠε ɾྻڍܕ FOVN ɾMixin ɾδΣωϦοΫ ɾ໊લۭؒ ɾλϓϧ ɾڞ༻ମܕ ɾܕΤΠϦΞε ϝϦοτɾಛ
7VFKTͰͷಋೖํ๏
https://qiita.com/nrslib/items/be90cc19fa3122266fd7 ४උ vue-cli Λར༻͢Δʹ node.js ΛΠϯετʔϧͯ͠ npm Λར༻ͯ͠ vue-cli ΛΠϯετʔϧ͠·͢ɻ
https://qiita.com/nrslib/items/be90cc19fa3122266fd7 ४උ ϓϩδΣΫτ vue create ίϚϯυͰ࡞͠·͢ɻ ίϚϯυ vue create <project-name>
Ͱࢦఆ͠·͢ɻ
https://qiita.com/nrslib/items/be90cc19fa3122266fd7 ४උ Typescript Λར༻͢ΔͨΊ ʹ Manually select features Λબ͠·͢ɻ
https://qiita.com/nrslib/items/be90cc19fa3122266fd7 ४උ Πϯετʔϧޭʂ
https://qiita.com/nrslib/items/be90cc19fa3122266fd7 ४උ ىಈʂ
https://qiita.com/nrslib/items/be90cc19fa3122266fd7
ॻ͖ํ ɾ.vueϑΝΠϧͰ<script lang="ts">Λ͏ ɾvue-property-decoratorΛͬͨσίϨʔλํࣜͷTypeScript ԽΛߦ͏
ҧ͍ JS TypeScript
ը໘͔Βͷ ೖग़ྗͷܕΛ ୲อ 7VFKTͩͱԿ͕خ͍͠ͷ͔ʁ APIΛୟ͘ࡍͷೖग़ྗ ͷܕΛ୲อ
·ͱΊ ɾιʔείʔυ͕େͰ͋Δ߹ɺ·ͨෳͷਓ͕ϓϩδΣΫτʹैࣄ ͍ͯ͠Δ߹ɺTypeScriptΛ͏ར͕͋Δɻ ɾνʔϜϝϯόC#JavaͷΑ͏ͳڧ͍ܕ͖ݴޠͷόοΫάϥϯ υΛ͍࣋ͬͯΔ߹ɺTS͍͍ͱࢥ͍·͢ɻ ɾ։ൃεϐʔυΛগ͠མͱͯ͠ݎ࿚ʹ࡞Γ͍ͨ߹Φεεϝ