LoginSignup
4
4

More than 5 years have passed since last update.

ゼロベース社内勉強会「ウェブ・アプリケーションのプロトタイピング・ワークショップ」第1回

Last updated at Posted at 2013-11-07

コンセプト

  • "In-browser" to "in-app": イン・ブラウザー・デザインから、イン・アプリ・デザインへ。デザイナーも、エンジニアと同じローカル実行環境を使って、動作しているアプリをいじってデザインする。

  • Autonomous modeless components are building blocks: 自律的でモードレスな部品によってアプリケーションを構成する。画面単位のデザインや、画面単位のコントローラー(MVC)ではない。自律的に作動する部品(component)が協調動作するシステム。

  • Ubiquitous language: ユビキタス言語。プログラミング上のクラス名と、それに対応するHTMLカスタム・タグ名と、それに対応するCSSの要素名を一致させる。それによりソースコードの自動生成を推進する。

  • Branch to category: 分岐せず、分類する。“if”(条件分岐)のコードを書く代わりに、既存概念の精緻化(classをsubclassに分けること)によって「条件」を表現する。

メモ

Tic-Tac-Toe ゲームのモデリング作業を通じて、

  • メンタル・モデル(ユーザーの心のなかにある)
  • インターフェイス・モデル(モノとして存在する)
  • ソフトウェア・モデル(プログラミングのモデル)

という3つのモデルの違いを理解しました。また、

  • メンタル・モデルとソフトウェア・モデルを近づけることが、ソフトウェア開発上大事であること(オブジェクト指向やMVCは本来そういうものとして考案された)
  • 主流のワークフローはインターフェイス・モデルに引きずられ過ぎていること(HTMLやDOMでUIを設計し、jQueryでインタラクションを実装するといった手法は、UI実装モデルに依存しすぎている)
  • 我々が模索するワークフローは、インターフェイス・モデルをいったん保留し(考えず)、メンタル・モデルからソフトウェア・モデルをつくる。そのあとでインターフェイス・モデルを実装していくというワークフローであること

を確認しました。

だからHTMLではなくCustom ElementsでUIを記述するというわけです。HTMLはUI実装言語であり、Custom Elementsは(XML的な意味で)抽象的UI記述言語であります。UIそのものを記述できるのは後者。

HTML5 Custom ElementsによるUI記述というのは、ある意味で、 XUL に似てるかもしれません。

で、自律的UIコンポーネントをライブラリ化し、再利用していけば、ウェブ・アプリケーション開発の生産性は大幅に向上するだろう、と考えられます。(GWT/Vaadinのアプローチです)

環境構築

Mercurialのインストール

Node.js開発環境の構築手順

  • node.js v0.10.21 node.js →[Node.jsの設定]
  • 例えば npm install mocha → package.json

Bowerのインストール

新規プロジェクト作成の基本手順

  • hg init もしくは空リポジトリのクローン hg clone ssh://hg@bitbucket.org/zerobaseinc/meteor-npm-bower-mercurial
  • npm init
  • 必要なモジュールを npm install
  • bower init
  • 必要なコンポーネントを bower install
  • hg add component.json package.json .hgignore
  • hg commit

既存プロジェクトのクローン手順

  • hg clone ssh://hg@bitbucket.org/zerobaseinc/meteor-npm-bower-mercurial
  • npm install
  • bower install

次回

実際に Tic-Tac-Toe を作ってみる。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4