はじめに

はじめに

公式ドキュメント

本ドキュメントは、AdonisJSの非公式ドキュメントで@7noheによって管理されています。
公式ドキュメントは以下のリンクからアクセスできます。

AdonisJSとは?

AdonisJSは、Node.js向けのTypeScriptファーストのウェブフレームワークです。これを使用して、フルスタックのウェブアプリケーションやJSON APIサーバーを作成できます。

基本レベルでは、AdonisJSはアプリケーションに構造を提供し、シームレスなTypeScript開発環境を設定し、バックエンドコードのHMRを設定しメンテナンスが行き届いて詳細にドキュメント化されたパッケージの広範なコレクションを提供します。

私たちは、AdonisJSを使用するチームが、npmパッケージの細かい機能ごとの選択やグルーコードの作成、完璧なフォルダ構造の議論などの些細な決定に時間を費やすことなく、ビジネスニーズに重要な実世界の機能を提供するためにより多くの時間を費やすことを想定しています。

フロントエンドに対してはフレキシブル

AdonisJSはバックエンドに焦点を当て、フロントエンドスタックを選択できるようにします。

シンプルにする場合は、AdonisJSを従来のテンプレートエンジンと組み合わせてサーバー上で静的なHTMLを生成するか、フロントエンドのVue/Reactアプリケーションに対してJSON APIを作成するか、お気に入りのフロントエンドフレームワークとの連携にInertiaを使用します。

AdonisJSは、電子メールの送信、ユーザー入力の検証、CRUD操作の実行、ユーザーの認証など、ゼロから堅牢なバックエンドアプリケーションを作成するためのバッテリーを提供することを目指しています。すべてを私たちが世話します。

モダンで型安全

AdonisJSは、モダンなJavaScriptプリミティブの上に構築されています。ESモジュール、Node.jsのサブパスインポートエイリアス、TypeScriptソースの実行にはSWC、アセットのバンドリングにはViteを使用しています。

また、TypeScriptはフレームワークのAPIを設計する際に重要な役割を果たしています。たとえば、AdonisJSには次のようなものがあります。

MVCを採用

AdonisJSは、クラシックなMVCデザインパターンを採用しています。まず、JavaScriptの関数型APIを使用してルートを定義し、それらにコントローラをバインドし、コントローラ内でHTTPリクエストを処理するためのロジックを記述します。

start/routes.ts
import router from '@adonisjs/core/services/router'
const PostsController = () => import('#controllers/posts_controller')
router.get('posts', [PostsController, 'index'])

コントローラはモデルを使用してデータベースからデータを取得し、ビュー(テンプレート)をレスポンスとしてレンダリングできます。

app/controllers/posts_controller.ts
import Post from '#models/post'
import type { HttpContext } from '@adonisjs/core/http'
export default class PostsController {
async index({ view }: HttpContext) {
const posts = await Post.all()
return view.render('pages/posts/list', { posts })
}
}

APIサーバーを構築している場合は、ビューレイヤーをJSONレスポンスに置き換えることができます。ただし、HTTPリクエストの処理と応答のフローは同じままです。

app/controllers/posts_controller.ts
import Post from '#models/post'
import type { HttpContext } from '@adonisjs/core/http'
export default class PostsController {
async index({ view }: HttpContext) {
const posts = await Post.all()
return view.render('pages/posts/list', { posts })
/**
* 投稿配列は自動的にJSONにシリアライズされます。
*/
return posts
}
}

ガイドの前提条件

AdonisJSのドキュメントは、コアチームがメンテナンスしているいくつかのパッケージとモジュールの使用方法とAPIをカバーするリファレンスガイドとして書かれています。

このガイドでは、ゼロからアプリケーションを構築する方法を教えるものではありません。チュートリアルをお探しの場合は、Adocastsからの旅を始めることをオススメします。Tom(Adocastsの作成者)は、AdonisJSの最初のステップを踏み出すのに役立つ、非常に質の高いスクリーンキャストを作成しています。

それにもかかわらず、ドキュメントは利用可能なモジュールの使用方法とフレームワークの内部動作について詳細に説明しています。

最近のリリース

以下は最近のリリースのリストです。ここをクリックしてすべてのリリースを表示します。

Package Change Released on
@adonisjs/core Add support for dd and dump helpers. Sep 21, 2024
@adonisjs/hash Fix parameters order of Argon2 hash. Sep 20, 2024
@adonisjs/core Keep APP_KEY as an empty value within the .env.example file. Sep 11, 2024
@adonisjs/presets Generate SilentAuth middleware. Sep 11, 2024
@adonisjs/core Use Ace Kernel errorHandler when running commands. Sep 5, 2024

スポンサー