近年、Webアプリケーションを作成するためにTypeScriptを使用する開発者が増えています。TypeScriptは、JavaScriptに型を加えた言語であり、コードの品質を高める手助けをしてくれます。このブログ記事では、TypeScriptを使ったサーバーサイド開発のための2つのフレームワーク、ExpressとNestJSについて紹介します。
サーバーサイド開発とは、ユーザーのリクエストを処理したり、データベースとやり取りをしたりするWebアプリケーションの裏側の部分を作成することです。ここで作られたロジックは、クライアント(ユーザーが使うブラウザ)からのリクエストによって動きます。
TypeScriptはJavaScriptに型付けをした言語です。これにより、コードを書く際にエラーを早期に発見でき、より堅牢なアプリケーションを作ることができます。さらに、TypeScriptは大規模なプロジェクトでも簡単に管理できるようになっています。
ExpressはNode.jsのためのシンプルで柔軟なWebフレームワークです。小さなアプリケーションから大規模なものまで、さまざまなアプリケーションの構築が可能です。Expressの魅力は、その簡潔さとスピードにあります。
npm install express
npm install --save-dev @types/express
まず、上記のコマンドでExpressをインストールします。次に、基本的なサーバーを作成してみましょう。
import express from 'express';
const app = express();
const PORT = 3000;
app.get('/', (req, res) => {
res.send('Hello, TypeScript with Express!');
});
app.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
});
NestJSは、最新のJavaScriptとTypeScriptを使ったサーバーサイドアプリケーションのフレームワークです。Angularにインスパイアされた構造を持ち、モジュール化や依存性注入をサポートしています。
npm install -g @nestjs/cli
nest new project-name
NestJSをインストールしたら、新しいプロジェクトを作成しましょう。プロジェクト内でサーバーを作成する基本的なコードは以下の通りです。
import { Controller, Get } from '@nestjs/common';
import { Module } from '@nestjs/core';
import { NestFactory } from '@nestjs/core';
@Controller()
class AppController {
@Get()
getHello(): string {
return 'Hello, TypeScript with NestJS!';
}
}
@Module({
controllers: [AppController],
})
class AppModule {}
async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(3000);
}
bootstrap();
今回は、TypeScriptを使ったサーバーサイド開発のためのExpressとNestJSについて見てきました。Expressはシンプルで使いやすく、NestJSは大規模アプリケーションに向いています。どちらのフレームワークも一度試してみて、自分に合った方を選んでみてください。