by shigemk2

当面は技術的なことしか書かない

memo マイクロフレームワーク enkan(とkotowari)ではじめるREPL駆動開発 #jjug_ccc

http://www.java-users.jp/?page_id=2396#CD-7

http://enkan.github.io/

  • ミドルウェアパターンを実装した社内フレームワークがあった
    • 設計の一貫性のなさが目立つのでレファレンスモデルを作ってみた
    • できが良いので公開してみた
  • Require: Maven3 Java8 " Enkan/Kotowari/Ring/duct/liberator Javaの思想関係無かった
  • 開発コンセプト 明示的 開発しやすい 保守運用が簡単
  • 主要コードはすべてMiddlewareに集約
  • Params/NestedParams/Authenticateなど
  • 他のミドルウェア
  • None/Any/PathなどのPredicateが標準で利用可能
  • 設定ファイルなし Java8 Syntaxを使えばDSL的に書けるようになる
  • アノテーションヘルを回避
  • @Inject/@Named/@Transactional アノテーションを覚えよう
  • Component初期化はnew
  • バイトコードを触るような黒魔術は使わない
  • HotReloading DisposeClassLoader/JVM container
  • Exception 設定ミス専用
  • アプリケーションは3秒くらいで起動する
  • JShell未対応 プロセスアタッチ コマンド追加などの関係で……
  • アーキ componentのDI
  • 依存ライブラリは極力少なく
  • Component
    • シングルトン
    • Field injection
    • start/stop lifecycle
    • Componentはアプリケーションの状態を管理するもの その状態を開始終了するもの
  • Maven archetypeは最小限
  • Scaffolding
  • Amagicman Yeoman的なのをJVMで
  • Javaでも結構REPL駆動できそう
  • Clojure好きなひととか