🍀

Nitricを始めよう:インストールから初めてのアプリケーション実行まで

2024/08/20に公開

はじめに

前回の記事では、Nitricの概要と主要な機能について解説しました。今回は、実際にNitricをインストールし、最初のアプリケーションを作成して実行するまでの手順を詳しく説明します。

https://hamaruki.com/nitric-framework-revolutionizing-cloud-app-development/

Nitric CLIのインストール

Nitricを使い始めるには、まずNitric CLIをインストールする必要があります。Windows環境では、Scoopパッケージマネージャーを使用してインストールできます。

scoop bucket add nitric https://github.com/nitrictech/scoop-bucket.git
scoop install nitric

MacやLinux環境の場合は、公式ドキュメントを参照して適切なインストール方法を選択してください。

新しいプロジェクトの作成

Nitric CLIのnewコマンドを使用して、テンプレートから新しいプロジェクトを作成できます。以下は、Pythonのスターターテンプレートを使用してプロジェクトを作成する例です。

nitric new hello-world py-starter
cd hello-world

このコマンドを実行すると、以下のようなプロジェクト構造が作成されます:

+--services/
|  +-- hello.py
+--Pipfile
+--Pipfile.lock
+--nitric.yaml
+--README.md

開発環境の設定

Pythonの仮想環境を使用して、プロジェクトの依存関係を管理することをお勧めします。以下のコマンドを使用して、Condaで新しい環境を作成し、必要なパッケージをインストールします。

conda create -n nit python=3.11
conda activate nit
pip install nitric watchdog

アプリケーションの実行

Nitricは、ローカル開発サーバーを提供し、クラウドサービスをエミュレートします。これにより、ローカル環境でアプリケーションの開発やテストが可能になります。

アプリケーションを起動するには、以下のコマンドを使用します:

nitric start

このコマンドを実行すると、Nitricは自動的にnitric.yamlファイルに定義されたサービス起動スクリプトを使用してアプリケーションを実行します。

サービスが起動すると、ローカルサーバーに登録されます。すべてのAPIは独自のポートでローカルにホストされ、CLIの出力にhttp://localhost:<ポート番号>の形式で表示されます。

APIのテスト

APIが登録されたら、任意のHTTPクライアント、ブラウザ、またはローカルダッシュボードを使用してテストできます。例えば:

curl http://localhost:4001/hello/John

このコマンドは、「Hello John」という応答を返すはずです。

ローカル開発ダッシュボード

Nitricは、強力なローカル開発ダッシュボードを提供します。CLIの出力に表示されるURLとポートを開いてアクセスできます。

このダッシュボードには以下のような機能があります:

  1. API Explorer:自動生成されたエンドポイントとパスパラメータに簡単にアクセスできます。
  2. Schedules Explorer:スケジュールを簡単にトリガーできます。

これらの機能により、新機能の開発をより迅速に行うことができます。

まとめ

以上が、Nitricを使い始めるための基本的な手順です。インストールからプロジェクトの作成、そして最初のアプリケーション実行まで、簡単に始められることがおわかりいただけたかと思います。

Nitricの強力な機能を活用することで、クラウドアプリケーション開発の効率を大幅に向上させることができます。ローカル開発環境とダッシュボードを使いこなすことで、開発サイクルを加速させ、より質の高いアプリケーションを素早く構築することができるでしょう。

次のステップとして、より複雑なアプリケーションの開発や、実際のクラウド環境へのデプロイメントに挑戦してみてください。Nitricのドキュメントやコミュニティリソースを活用することで、さらに深い知識と経験を積むことができます。

参考サイト

https://nitric.io/docs/getting-started/quickstart

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

Discussion