今年に入ってから触ったJS周りの技術について超簡単にまとめる。
#ライブラリ
##jQuery
- 簡単なコードでJSを実行できるライブラリ
- 基本なんでもできる(ような気がする)
###問題点
自由度高すぎてめちゃくちゃなコードになりやすい。
(意図しないイベント発火、DOMが消えたっきりでてこない、エラー大量)
###解決策
- Webpackを使ってファイルを分割する
- 関数を上手に作れるようになる
#フレームワーク
##Angular JS
- Google謹製のフレームワーク
- 誰が書いても似たようなコードになる(らしい)
- 管理画面・SPAを作るときに良い(らしい)
- 学習コストがかかる
##Vue.js
- AngularJSのように双方向データバインディングに特化したフレームワーク
- AngularJSよりとっつきやすい
#用語
##Ajax
非同期通信を利用してデータを取得したり、動的にWebページの内容を書き換える技術。
###メリット
- 足りないところだけデータを取りに行くので早い
- リクエスト中もページ操作が可能
###デメリット
- 目で見えないところなので、開発ツールを上手く使うことが必須
- 原則、クロスオリジン制約がある
####解決策
- phpなどのサーバーサイド言語でAPIを実装
- JSONなどのファイルを設置
- クロスオリジン制約のないAPIを使う
##SPA(シングルページアプリケーション)
HTML全体を書き換えるのではなく、変更が必要な部分だけJSで動的に書き換えていくようなWebアプリケーションのつくり。
##双方向データバインディング
モデルが変わったときにビューも自動的に変わるし逆もしかり、みたいな仕組み。