Nablarchを使ってみよう

# はじめに
こんにんちわ、きりと申します。

お仕事でJavaのフレームワークであるNablarchを利用する機会があったので、
その特徴や開発の癖のようなものを整理して皆さんに共有できればと思い記事にしました。

[Nablarchの良いところと悪いところ](#Nablarchの良いところと悪いところ)でも触れますが、お世辞にもわかりやすいフレームワークではないため、
私のようにNablarchを使った保守・開発を携わる人の助けになればと思います。

整理する中で思いの外、ボリュームが出てきてしまったので、「Nablarchを使ってみよう」シリーズとして
一覧化しましたが、記事の大部分はNablarch開発に関係なく参考にできると思いますので、
気になる記事を閲覧頂ければと思います。

なお、記事の内容や構成は定期的に見直しを行う予定ですので、
情報の誤りや誤記がありましたら優しくコメント頂ければ幸いです。

# Nablarch(ナブラーク)とは
Nablarchとは、かなりざっくり言うなら、Spring FrameworkのようなJavaアプリケーション開発/実行基盤です。

例えば、会員サイトを作成する際、サイト画面や会員情報の管理、ログインなどの認証処理、
ログ出力など、様々な機能の実装が必要となります。これらを０から実装することは非常に多くの労力が必要となると共に、
メンテナンスの負荷が大きくなります。

Nablarchは上記のようなシステム開発を想定したロバスト(堅牢）な設計思想の元に開発されております。
また、テンプレートプロジェクトやテストシステム、設計書のテンプレートなども用意されており、
未経験者でもすぐに開発を始められるようになっているそうです。←最後の一文は嘘だと思っている。

## Nablarchの紹介および関連サイト
[Nablarchとは](https://fintan.jp/page/1868/2/)

[Nablarchについて](https://www.tis.jp/service_solution/nablarch/#:~:text=Nablarch%E3%81%A8%E3%81%AF,%E9%96%8B%E7%99%BA%E3%82%92%E8%A1%8C%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82)

[Nablarchポータルサイト](https://fintan.jp/blog-category/nablarch/)

[Nablarchテクニカルドキュメント](https://nablarch.github.io/docs/5u20/doc/index.html)

# Nablarchの良いところと悪いところ
まだまだ、Nablarch激弱くんの私なりに、現状の思っているNablarchの良いところと悪いところをまとめてみました。

* [O]豊富な利用実績→[多数の導入実績](https://fintan.jp/page/1868/2/)
* [O]サードパーティ利用を前提としていない開発者的な粋を感じる→もちろんサードパーティライブラリの利用も可
* [X]圧倒的、初心者殺しな情報のなさ←リファレンスがあるが使い方がわからない
* [O]ライブラリを使い分けることで要件に合わせた柔軟な設計（例えばDBやセッション管理など）が可能
* [X]各ライブラリ仕様はガチガチ感が強く、最近のリッチな見た目のサイトには向かない(会員サイトなどには向いている）
* [X]AWSやAzureとの親和性が弱い（対応ライブラリがないため、自作する必要がある）
* [X]最新の開発トレンドに乗り遅れてる感が否めない(AWS、Azure,コンテナ、通信プロトコルなど）

まとめると、人付き合いが苦手で癖が強い昔ながらの職人気質なやつだけど、仲良くなるとめっちゃいい人。


。。。。。だと、いいな。

まだ、仲良くなれてないけどね。

# 「Nablarchを使ってみよう」シリーズ 記事一覧
- 環境構築
    - 統合開発環境
        - [EclipseのダウンロードとHello World](https://qiita.com/kirin1218/items/02bfeb333335842c56ae) リリース：2022/03/23
        - [ビルド、クリーン、デバッグ](https://qiita.com/kirin1218/items/76d6ee9cfa284bb49165) リリース:2022/03/24
        - [CheckStyleの利用方法](https://qiita.com/kirin1218/items/c08db4e1c447e89df738) リリース：2022/03/23
        - [自動フォーマッタの利用方法](https://qiita.com/kirin1218/items/fae7874969f603668a4c) リリース：2022/03/23
        - [SpotBugsの利用方法](https://qiita.com/kirin1218/items/7b3ae62496503b8d9539) リリース:2022/03/24
        - [Gitを使ったソース管理方法](https://qiita.com/kirin1218/items/d645233cec0dd221f9cc) リリース:2022/03/24
        - [エンコードと改行コードの設定](https://qiita.com/kirin1218/items/6a95021f30b3d0684a8f) リリース:2022/03/24
        - [Vimキーバインド利用方法](https://qiita.com/kirin1218/items/b519d29214437bbb0535) リリース:2022/03/24
        - [[おまけ]テーマの変更](https://qiita.com/kirin1218/items/e5e429362c8640e9810b)
        - [Eclipse利用時の小ネタ](https://qiita.com/kirin1218/items/61f78e87cd5b005030a6) リリース:2022/04/03
    - テスト
        - [JUnit5を使ったテストの実施方法](https://qiita.com/kirin1218/items/2e27db38624163ed274a) リリース:2022/03/26
        - [JUnit5におけるMockitoの利用方法](https://qiita.com/kirin1218/items/37ed388759a4c7d94b75) リリース:2022/03/31
    - ローカル実行環境
        - Dockerのダウンロードと基本的な利用方法
        - DockerにおけるTomcat環境構築
        - DockerにおけるWildfly環境構築
    - AWS環境
        - AWS EC2を使ったWebアプリケーション公開
- Java開発
    - Maven
        - [Mavenを使ったシンプルプロジェクトの作成と実行](https://qiita.com/kirin1218/items/ec9c64e9dcebc1778dac) リリース:2022/03/25
        - Mavenを使ったJarファイル作成と実行
        - [Mavenを使ったWebアプリケーションの作成と実行](https://qiita.com/kirin1218/items/eca5f166274b376410be) リリース:2022/04/23
        - [サーブレットの作成](https://qiita.com/kirin1218/items/db1ba8af6c323c925919) リリース:2022/04/28
        - [サーブレットとJSPを使った画面表示](https://qiita.com/kirin1218/items/9002dab5a30536559469) リリース:2022/04/29
        - [サーブレットとJSPを使ったフォームの作成](https://qiita.com/kirin1218/items/3ce50dbcb3d98d8190c8) リリース:2022/05/01
        - [サーブレットでセッション管理を行う](https://qiita.com/kirin1218/items/3591c04cc0f3865a8cbb) リリース:2022/05/04
    - Java開発における小ネタ
        - [Javaでスタックトーレスを出力する方法](https://qiita.com/kirin1218/items/14b1afcb5dfbbcbd831b) リリース：2022/03/19　更新:2022/03/23

- Nablarch
    - 基本編
        - [Nablarchを学ぶ前に知っておくべき知識について](https://qiita.com/kirin1218/items/99a51d8ffed8b107b4f9) リリース：2022/04/17
        - [Webアプリケーションの作成](https://qiita.com/kirin1218/items/c537cb8a444ee59763cd) リリース：2022/04/13
        - [Webアプリケーションのデバッグについて](https://qiita.com/kirin1218/items/518e04b80a79e9b284ca) リリース：2022/04/14
        - WebアプリケーションのJUnitによるテストについて
        - [バッチアプリケーションの作成](https://qiita.com/kirin1218/items/eb3033ecb1520b497cc2)  リリース：2022/04/03
        - [テンプレートのバッチアプリケーションの実行の流れと処理内容について](https://qiita.com/kirin1218/items/ba6df84e07e96759715f)  リリース：2022/04/03
        - [バッチアプリケーションのデバッグについて](https://qiita.com/kirin1218/items/471cef31c258d2f5657d)  リリース：2022/04/04
        - バッチアプリケーションのJUnitによるテストについて
        - [Nablarch開発におけるH2 Databaseの利用方法](https://qiita.com/kirin1218/items/fc73ef052869248cbf66)　リリース：2022/03/19　更新:2022/03/23
        - 接続先DBの変更方法について
        - ハンドラキューについて
        - セッションによるデータ管理について
        - 出力ログについて
    - 応用編
        - Nablarchにおける認証システムの実装
- HTML/CSS
    - [pタグとspanタグとdivタグの違いについて](https://qiita.com/kirin1218/items/391ae0ec768b1d9b49a5) リリース：2022/04/09
    - [レスポンシブデザインについて](https://qiita.com/kirin1218/items/e904c4205e9b71659916) リリース：2022/04/09
- サイト構築
    - サンクスポイント
        - 基本構成
 
※記事構成は随時見直しを行う

# 参考URL
[Nablarchについて](https://www.tis.jp/service_solution/nablarch/#:~:text=Nablarch%E3%81%A8%E3%81%AF,%E9%96%8B%E7%99%BA%E3%82%92%E8%A1%8C%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82)
[Nablarchポータルサイト](https://fintan.jp/blog-category/nablarch/)
[Nablarchテクニカルドキュメント](https://nablarch.github.io/docs/5u20/doc/index.html)