query: tag:thoughs

As I mentioned before, I am making small abstraction FW.
For giving the task a vista, I want to make a list of the requirements in advance.

  • Abstract Model (I hope the ActiveORM will be)
  • Basic HTML tag helpers (such as "tag", "url_for")
  • Starting up hook to modify others
  • Way to register helpers
  • Way to read/write configuration of plugin

In particular, abstract model is quite important.
There are already several efforts, but they all are probably not succeeding.
I think the reason of the failure is what most of them had been concentrating to make abstraction of models for models.
It must be designed for agnostic plugins.

Suppose you are an application developer and you are writing some code.
Obviously, the FW and ORM have already been chosen.
So you have no need to treat various ORMs for making the app.
Only agnostic plugins need the abstract model.

What is the requirements of the plugins?

  • read_many with options for specifying :limit and :offset
  • read_one, create, destroy, update
  • read/write access to attributes
  • counting, searching, association and so on.

Is it the DataMapper?
Yeah, it is nearly equals to. But it must have more flexibility.

In conclusion, we should not make an abstraction of models but an abstraction of plugin's requirements to FW.

posted by genki genki on Thu 23 Jul 2009 at 20:41 with 0 comments

Merbのプラグインの多くは、Merb以外の場所でも使えるように設計されています。
また、いくつかのRailsプラグインも、Merbや他のプラットフォームで利用できたり、単体でも利用可能になっていたりします。

これらのプラグインは、Agnosticなプラグインと呼ばれています。
従来のプラグイン機構が、特定のフレームワークの機能を拡張する役割にとどまっていたのに対して、Agnosticなプラグインは、複数のプラットフォームを股に掛けて活躍します。

fig

このような動きは、従来のフレームワークとプラグインの関係を改めるものとして注目に値するものだと思います。
フレームワーク間で共通に必要となるようなプラグインの重要性が高まり、
今まで分散していたプラグイン開発リソースが、統合されることによって効率化がはかられたと見る事も出来ます。

これからは、フレームワークの知識だけでなく、
主要なAgnosticプラグインの利用法に習熟する事が
生産性の向上のために必要になってくるかもしれません。

posted by genki genki on Wed 11 Mar 2009 at 07:48 with 0 comments