0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

TypeScriptAdvent Calendar 2023

Day 4

RestAPI使ったアプリ作るサーバーサイドフレームワーク調べ

Posted at

WebアプリとREST APIの基本

Webアプリケーションとは?

Webアプリケーションは、インターネットを通じて利用できるコンピュータプログラムです。これは、ウェブブラウザを介してアクセスし、操作することができます。例えば、SNSのFacebookやTwitter、動画共有サイトのYouTubeなどがWebアプリケーションの一例です。

REST APIとは?

REST APIは、Webアプリケーションが他のプログラムと情報をやり取りするための方法の一つです。APIとは「Application Programming Interface」の略で、アプリケーションプログラミングインターフェースを意味します。これは、ソフトウェアやアプリケーションが他のソフトウェアやアプリケーションと通信するための「接続口」のようなものです。

RESTとは「Representational State Transfer」の略で、ウェブ上でデータをやり取りするための設計原則の一つです。REST APIを使うと、Webアプリケーションは他のアプリケーションと情報をやり取りすることができます。

REST APIの動作

REST APIは、以下の4つの主要な操作を使用してデータを操作します。

  1. GET: データを取得します。
  2. POST: 新しいデータを作成します。
  3. PUT: 既存のデータを更新します。
  4. DELETE: データを削除します。

これらの操作は、HTTPメソッドと呼ばれるもので、インターネットを通じて情報を送受信するための方法です。

REST APIの利用

例えば、あるWebアプリケーションが天気予報の情報を表示したいとします。そのWebアプリケーションは、天気予報の情報を提供する別のWebアプリケーションのREST APIを使用して、必要な情報を取得します。そして、その情報を自分のWebアプリケーション上でユーザーに表示します。

このように、REST APIはWebアプリケーションが他のアプリケーションと情報をやり取りするための重要なツールです。これにより、開発者は既存のリソースを再利用して新しいアプリケーションを作成することができ、効率的に開発を進めることができます。また、ユーザーはさまざまなアプリケーションからの情報を一つの場所で閲覧することができます。これがREST APIの力です。

GraphQLを利用しない理由

REST APIの友達にGraphQLというのがあります。
経営者の人にわかりやすく言うと、エンジニアが好きそうなREST APIです。
ビジネスサイドの人にとってはどっちでも良いので、GraphQLの知見がなく、アプリを確実に開発させたい場合はREST APIを選択すると良いです。
REST APIというかRESTですね。

REST APIのサーバーサイドの選定

PHP出身のわたしが色々調べたところ、PHPはやっぱ遅めでした。
PHPというか、現在のPHPフレームワーク代表格のLaravel先輩が遅め。
一応、RailsとDjango(Python)も載せておきますが、本筋としてはJavaとJavaScriptです。

JavaとJavaScript

ビジネスサイドの人にお伝えするとJavaとJavaScriptは全く違います。

今回REST APIのサーバーサイド開発をJavaとJavaScriptに絞ったのにはなんとなくの理由があります。

  • Javaは早い
  • JavaScriptがJavaぐらい早い
  • Javaは型があって安全
  • JavaScriptもTypeScriptで型があって安全
  • あれ?JavaScript良くね?

めぼしいフレームワークでの比較

ビジネスサイドの人にわかりやすく言うと

  • RailsとLaravelとDjango(Python)は、おんなじぐらいに早くはない
  • Spring boot(Java)とNest.js(JavaScript)はおんなじぐらい早い
  • Rustでactixフレームワークはものすご早いけど自社にも他社にも現状の予算で確保できるエンジニアは居ない

compareframework1111.png

まとめ

Spring boot(Java)とNest.js(JavaScript)で考えたらどうかなって夢を見た。

起業・転職・フリーランス・プログラミング研修・エンジニア採用コンサルティングのご相談

  • 60分の人生相談を行っております。
  • 企業の方は初回限定割引はご利用できません。
  • 企業向けDXコンサルティングは年間契約でお受けしております。

自分でもサービスを販売したい方へ

副業として無形のサービス提供をする場合、できるだけ手数料を下げて、安心して支払ってもらうスキル販売ショップサービス、【PARK】のご紹介です。

  • クラウドワークスが運営
  • 販売手数料 3%・決済手数料 3.5% + 40円/件
  • サービスを提供する予定がなくてもストレスを減らす方法で使える(⇠重要)
    ↓ご登録はこちらから↓

クラウドワークス運営スキル販売ショップPark

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?