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