Skip to content
aotak edited this page Aug 10, 2016 · 4 revisions

quincite について

quincite という名前の由来は同名の赤い鉱石にあり、「"quick user interface construction" の頭字語に接尾辞 "-ite" をつけたもの」という Bacronym になるように選定されました。
名前のとおり、手早くユーザインタフェースを組み上げることを目的にしています。

quincite はライブラリというよりはフレームワークであり、quincite 単体で UI を構築することは目標にしておらず、このフレームワーク上に構築された他のライブラリによって手早く UI を記述することを目指しています。

小さなコンポーネント定義の例を示します。

require 'quincite'
include Quincite

class Node
  include UI::Component
  def initialize(id)
    init_component
    self.id = id
  end
end

class Nodeset < Node
  include UI::Container
  def initialize
    super
    init_container
  end
end

ui = UI.build(UI::Nodeset) do
  Node {
    x 0
    y 0
  }
end
ui.layout

これは Document の中に Node が一つだけいるというだけのコードです。描画が定義されていないので描画を行うことはできませんが、抽象的な UI のモデルを構築してデータとして保持することがこれだけでできます。UI のモデルが存在すれば、そのパラメータを元に実際の UI の描画を行うことが可能であり、実際に quincite の UI モデルを利用して DXRuby や Gosu 上で UI の描画を行うことができています。

Clone this wiki locally