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
2
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@koriym

BEAR.Resourceとは

このソフトは何と呼ぶのが適切でしょうか?

BEAR.Resourceを作った時の話です。最初はService layer frameworkという名前で呼んでたのですが、Hypermedia libraryと呼ぶようになりました。

しかし、そもそもこれをフレームワークと呼ぶべきなのか?ライブラリと呼ぶべきなのか?そもそもライブラリ、フレームワークはどう区別すべきでしょうか。よく言われる呼ぶ/呼ばれるの区別は適切でしょうか。

#15 How do we call this software ?とissueを立てて他の人の意見を聞いてみました。

@lorenzoさんの提案

CakePHP3のコアディベロッパーの@lorenzoさんが提案してくれたのは以下の名前です。

  • Object to ReST Resource framework and Resource linker library
  • Object ReST-ifier
  • Stateless PHP objects library

オブジェクトがRESTのリソースの振る舞いをするライブラリとしての命名です。

「通常のオブジェクト志向のアプローチとは違ったものとして、つまりアプリケーションをビルドするためにオブジェクト間のメッセージプロトコルをリソースとして統一したものにしている」と考えたとすると、という違う観点でも名前を考えてもらいました。

  • Objects as a service
  • ReST protocol interface for any PHP object

この中でピンときたのはObjects as a serviceでした。「サービスとしてオブジェクトを扱う」これが最も本質的なものだと思いました。一方、RESTやリソースという言葉がないのは少し気になりました。

@nateabeleさんの提案

そしてLithiumフレームワークのリードで、AngularUIの@nateabeleさんは、これはフレームワークとはっきり言います。その理由は it imposes a set of design constraints on end-user code.つまりフレームワークの定義は「エンドユーザーのコード全体に制約を与えるもの」と明快です。

  • Hypermedia framework

「Hypermediaは目的を表し、それはエンドユーザーのコード全体に制約を与える」- これも明快です。

決定

そもそも簡単に答えられるような問いではないと思ってたのですがこの二人の答えは流石で、どちらかだけを選ぶのが難しいように思いました。

またソフトウエアは、技術的な観点の他にもユーザーサイドから、またマーケッティングの観点からも違った見方が可能で、それらの多面性を反映した名前にしたいと思いました。そこで二人の提案をそのまま連結しました。

Hypermedia framework for objects as a service

オブジェクトをサービスとして扱うハイパーメディアフレームワーク」- BEAR.Resourceは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
2
Help us understand the problem. What are the problem?