• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

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 Png genki on Thu 23 Jul 2009 at 21:22

Today, there are many web application frameworks such as RoR, Merb, Ramaze, Sinatra and so on. And then, most of them have original plugin system respectively. It opens curtain of the tragedy entitled "Combinatorial explosion" upon plugin developers.

Just think. FW hackers tend to be opinionated. It is obvious. Because it is the source of energy of his/her great works. But it is a reason of the tragedies as well. Is that a fate of us? It would never be changed?

No, it isn't.

There is a hope we already have. Its name is Rack. Rack is called meta-framework. Most of FWs exploit it today. It saved tons of time of FW hackers to make original HTTP interface for their FW. It must happen for also plugin developers.

I think what they need is not another meta-framework. meta-framework is for FW hackers. Abstract framework is for plugin developers.

I began to make an abstract framework on github. Here is.

http://github.com/genki/agnostic/tree/master

If you have idea, please let me know.

posted by Png genki on Thu 23 Jul 2009 at 18:01
Contents
What agnostic plugins need for the abstract web framework
Why plugins are not so pluggable
Comments
瀧内元気: MacOS版は以下にあります * [genki/ViMouse](https://githu... '23-1
dsjf: https://gist.github.com/6bf1bf2c3cbb5eb6e7a7 これ... '13-1
瀧内元気: おお、チェックしてみます。thx! '11-12
overisland: Reeder for iPhone もこの UI を実装していますね。 '11-12
瀧内元気: その情報は見たのですが、以下のサイトによると、現在はまた必要になってるっぽいんですよね。 ... '11-12
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ