学習記録
変更に強いコードの記述
【目的】
・JavaScriptの開発に必要な知識を学ぶ
・APIについて学ぶ
【学習概要(実装について大まかに何をしたか)】
今回は実装やコードの記述は無し、テキストを学習
・アプリケーションの仕組み
・サーバーサイドとフロントエンドの分離の必要性
【学習の流れ】
アプリケーションの仕組み
アプリケーションはAPI(別のアプリケーションにリクエストを送り情報を受け取る仕組み)でできている
Application Programming Interfaceの略
主にアプリケーション同士がデータをやり取りする場合に使用するルール・仕組みのこと
抽象的な意味で「このリクエストがきたらこのデータを返す」という仕様のことを指したり、「呼び出したら実行されるメソッド」を指す場合もある。例としてrenderメソッドなどはRailsのAPI
WebAPI
HTTP/HTTPS通信を使用して利用するAPIのこと(Google Map Platform)
Google Map Platform ... Google MapがWebサービスに組み込まれている仕組みを可能にする
外部に公開されているAPI(外部APIと呼ばれることもあり)
内部API
自社や個人が開発したアプリケーションの内部で取り扱うAPI
前回学習した題材は地震のために使っているため内部APIに該当
APIに適したアプリの作成
APIに適したアプリの開発のために以下のことはしない
・Ajaxの内部にHTMLを受け取る
↓
HTMLなどのビューファイルは作成せずに、
APIは常にデータを返却することだけを責務にする
rails newコマンドに--apiというオプションをつけるとhtml.erbなどのビューファイルが自動で作成されないようになる
サーバーサイドとフロントエンドの分離
フロント専用でビューファイルを観覧できるようにアプリケーションを作成する
分離するメリット
分離することで、以下の点でチーム開発時に担当を分けやすい
・サーバー側とフロント側で扱う言語が違う
・サーバーサイド側はデータを渡すところまで行うため計算処理などのパフォーマンス
改善の分野に精通している必要がある
・フロントエンド側はHTMLをはじめとしたマークアップスキルとJavaScriptなどのイベ
ント駆動を扱うスキルを知っておく必要がある
ネイティブアプリケーションへの展開
APIを使用することでネイティブアプリケーションの開発も円滑に進めることができる
ネイティブアプリケーション
スマートフォンを使用しApp storeやGoogle Play Storeでダウンロードできるアプリ
開発には以下の言語を使用する
iOS ... Objective-C, Swift
iOSやandroidのどちらにも互換性のある開発フレームワーク
クロスプラットフォームでない ... Java, Swift
クロスプラットフォーム ... React Native, Flutter
クロスプラットフォームにおけるAPIのメリット
フロントエンドはサーバー用・iOS用・andoroid用でそれぞれ作り
サーバーサイドは1つのAPIで済む
おわり