---
# System prepended metadata

title: 研修17日目(2020/6/2)

---

# 研修17日目(2020/6/2)
## 今日の学習内容

今日はJSのフレームワークであるVue.jsを用いてサイトの開発に取り組んだ。前半では沢口さんからVue.jsを使うことによるメリットについて講義を受け、後半では本棚アプリを実装しながらVueの仕組みを理解した。

Vue.jsを使うことのメリットは沢山あるが、ユーザー目線と開発者目線の双方からそれらを整理していくとVue.jsの強みが理解しやすいと感じた。

ユーザー目線としては、リアルタイムで処理が反映されるインタラクティブなUIが提供されることが強みだと思う。沢口さんがデモで見してくれたように、サーバーとの通信をせずにデータの変更がリアルタイムタイムに変更される処理を手軽に実装できるのはすごい。やっぱ感動ものです🥺

開発者目線としては、単一のファイルにHTML、CSS、JSをまとめて、コンポーネント(部品)ごとにファイル管理ができることが1番の強みなのではないかと思う。これにより、各コンポーネントごとにスコープを作ることで外部からの変更による影響を受ける心配がなくなったり、複雑になりがちな親子関係を明示的に管理しやすくなる。Vueの拡張子は最初慣れなかったが、単一ファイルのコンポーネントの方が直感的に開発しやすいと自分は感じていていいなって思いました。

フレームワークの概略を確認した後、本棚アプリの開発に取り組んだ。
つまずいた点としては、皆が言っていたように親子間でのデータの受け渡し処理でした。propsで親から子に、emitで子から親に、というデータの流れのイメージを掴むのが難しかったが、親子間でのデータの受け渡しは頻繁に発生すると思うのでしっかり練習したい。

今回はコンポーネントをどの粒度で管理するかは沢口さんが決めてくれていたが、自分でコンポーネントの設計をするとなると…。まあその辺は今は強い人にお任せですが、今日登場したatomicdesignについては読んでおこうと思います。

上で書いたような強みがVue.jsにあるためこれからSMSCの業務でもさらに導入していく可能性は高いと思うので、大変ですが頑張ります(*´◒`*)