Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@koriym

BEAR.Sunday 2015

BEAR.Sunday 2015

今年は5/31にBEAR.Sunday v1.0をリリースしました。その後は実際の運用での細かな修正や幾つかのライブラリが追加され、アプリケーションが幾つかリリースされました。年内開発終了して来年以降にリリースされるアプリケーションもあります。

BEAR.Sundayではデータベースアクセスやテンプレートエンジンといった機能を提供をするのがライブラリ、それらの機能を結びアプリケーションに制約をもたらすのがフレームワークと考えています。

フルスタックという伝統的なフレームワークの形から、ここ数年で機能が単体で使えるコンポーネント志向のフレームワークという流れが現れました。最新のPSR7対応のフレームワークはそのコンポーネントは汎用の物を使いコンポーネント間の制約だけを持ちます。HTML表現ですらオプションになっていますが、これはBEAR.Sundayも同じです。

フレームワーク

2013年に行われたイベントPHP Frameworks DayでPHPの開発者ラスマスさんへ質問がありました。

Can you tell us your opinion about a framework ?

Rasumusの答えはシンプルで明快です。

They all sucks ! (会場笑)

この質問の答えは面白いので是非聞いて欲しいのですが、まとめてあるブログ記事があります。

  1. Frameworks Execute The Same Code Repeatedly Without Need
  2. Frameworks Require Too Many Interdependent Classes
  3. Needlessly Complicated Solutions
  4. Duplicating the Web Server Functionality

これらはBEAR.Sundayでも取り組むべき問題だと考えていてDIやDIコンパイラで対処の試みがあります。DIを理想的な形、つまりブートストラップで1つのルートオブジェクトを作りそれをキャッシュしたり、設定からオブジェクトを作るのではなく、設定からファクトリーコードをコード生成しパフォーマンスや実際にどうオブジェクトが作られるか明快にしています。DIPに従い、全体のライブラリのバージョンをロックするようなグローバルなバージョンを持ちません。

メジャーバージョンアップ、つまりsemverでの後方互換性の破壊は嬉しいことではなく、後方互換性を破壊しないと機能追加が出来ない設計上の失敗 - できれば避けたいこととも考えています。

機能の追加はライブラリの仕事と考えればBEAR.Sundayのこれからは、それらをスムーズに統合できるか、パフォーマンスは十分か、トラブルシューティングの助けがどれだけできるか、ユーザーの設計上のアイデアを実現できるか、などフレームワークとしての機能の充実になるかと思います。

今年もお世話になりました。来年2016年もBEAR.Sundayを宜しくお願い致します。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
1
Help us understand the problem. What are the problem?