学習記録

変更に強いコードの記述

【目的】

JavaScriptの開発に必要な知識を学ぶ

APIについて学ぶ

 

【学習概要(実装について大まかに何をしたか)】

今回は実装やコードの記述は無し、テキストを学習

・アプリケーションの仕組み

・サーバーサイドとフロントエンドの分離の必要性

 

【学習の流れ】

アプリケーションの仕組み

アプリケーションはAPI(別のアプリケーションにリクエストを送り情報を受け取る仕組み)でできている

 

API

Application Programming Interfaceの略

主にアプリケーション同士がデータをやり取りする場合に使用するルール・仕組みのこと

抽象的な意味で「このリクエストがきたらこのデータを返す」という仕様のことを指したり、「呼び出したら実行されるメソッド」を指す場合もある。例としてrenderメソッドなどはRailsAPI

 

WebAPI

HTTP/HTTPS通信を使用して利用するAPIのこと(Google Map Platform)

Google Map Platform ... Google MapがWebサービスに組み込まれている仕組みを可能にする

 

オープンAPI(公開API

外部に公開されているAPI(外部APIと呼ばれることもあり)

 

内部API

自社や個人が開発したアプリケーションの内部で取り扱うAPI

前回学習した題材は地震のために使っているため内部APIに該当

 

APIに適したアプリの作成

APIに適したアプリの開発のために以下のことはしない

Ajaxの内部にHTMLを受け取る

      ↓

HTMLなどのビューファイルは作成せずに、

APIは常にデータを返却することだけを責務にする

 

rails newのapiオプション

rails newコマンドに--apiというオプションをつけるとhtml.erbなどのビューファイルが自動で作成されないようになる

 

サーバーサイドとフロントエンドの分離

フロント専用でビューファイルを観覧できるようにアプリケーションを作成する

 

分離するメリット

分離することで、以下の点でチーム開発時に担当を分けやすい

・サーバー側とフロント側で扱う言語が違う

・サーバーサイド側はデータを渡すところまで行うため計算処理などのパフォーマンス

 改善の分野に精通している必要がある

・フロントエンド側はHTMLをはじめとしたマークアップスキルとJavaScriptなどのイベ

 ント駆動を扱うスキルを知っておく必要がある

 

ネイティブアプリケーションへの展開

APIを使用することでネイティブアプリケーションの開発も円滑に進めることができる

 

ネイティブアプリケーション

スマートフォンを使用しApp storeGoogle Play Storeでダウンロードできるアプリ

開発には以下の言語を使用する

iOS ... Objective-C, Swift

android ... Java, Kotlin

 

クロスプラットフォームマルチプラットフォーム

iOSandroidのどちらにも互換性のある開発フレームワーク

 

クロスプラットフォームでない ... Java, Swift

クロスプラットフォーム ... React Native, Flutter

 

クロスプラットフォームにおけるAPIのメリット

フロントエンドはサーバー用・iOS用・andoroid用でそれぞれ作り

サーバーサイドは1つのAPIで済む

 

おわり