Skip to content
uupaa edited this page May 27, 2015 · 83 revisions

WebModule は JavaScript で部品を作るための金型であり、巨大な建造物を安全に建築する方法を示した工法(フォーマット)です。

あなたは、そびえ立つ九龍城のように、継ぎ足し継ぎ足しが繰り返され、「もう一体どこから手を付けたら…」「なぜ動いているのか不思議」なコードの山と対峙し、途方に暮れた事はありませんか?

そして「テストは無い」「テストはあるが人力で1セットで3日かかります」と言われたり、「設計? ありませんよ? コードがドキュメントです、だってドキュメントをメンテするの大変じゃないですか。JavaDoc で十分ですよ」と言い訳をする人が居たり、「引き継ぎ? 前任者はもういませんよ?」「訳あってコードはフリーズ状態だ。必要最小限の修正にとどめてくれ。リファクタリングは許可できない」といった状況もセットだったり、このような怒りを何処にぶつければ良いのか分からない、ただただグダグダな虚無感に包まれた事はありませんか?

WebModule が提供するもの

WebModule は、

  • JavaScript や AltJS で書かれており
  • Mobile Web Application 向けに最適化された
  • シンプルで
  • テストがあり
  • どこでも動作し
  • 品質が数値化され
  • 良質のドキュメントがある

そんな部品群を量産するための、新しいフォーマット(開発フロー, 関連ツール)を提供します。

まずは、WebModule の スライド概要 をご覧ください。

WebModule をベースとしたモジュールを開発する具体的な流れについては ワークフロー考え方 を、 WebModuleで書かれたモジュールの一覧は ModuleList を参照してください。

WebModule の目的

WebModule はモジュールローダー機能を提供したり、モジュールローダーが読み込めるようなコードの書き方をレクチャーするといったものではありません。

WebModule はモジュール作成後のライフサイクルも含めた保守と品質管理、コンテンツ作成のためのワークフローを大きく前進させる確かなソリューション、JavaScript の開発に有用と思われるパターンイディオムを提供することです。

WebModule とチーム開発

チームで開発を行う際は、チームメンバーそれぞれが仕事を進めるためのルールとフォーマットの存在を意識する事が大切です。 フォーマットも何もない状態から開発を進めようとしても、各自の意識のすれ違いに時間と体力を消耗してしまい、目的に集中する体制を整える前に恐らく疲れてしまいます。

モジュール単位で機能を分割することでテストが可能になります。また、それによりチームメンバーが並行して開発を進める事も可能になります。

  • モジュールに分割する
  • APIを先に決める ▶ API(契約)に基づいた並列開発が可能になる
  • 作成したモジュールを再利用する

さらに、

  • コードの品質を評価する方法がある ▶ 綺麗なコードだけが残る
  • 何度も必要な範囲を自動でテストできる ▶ 安全で安価で綺麗なコードだけが残る
  • 簡単にデプロイできる。どこでも動く事が保証されている ▶ 安全にデプロイできる

これらはチームで開発を進めるために必須となるものばかりです。

取り入れてみてください

これまで1〜3人規模でシステムを開発してきた方には、上で述べたような事は異文化であり、最初から全てを飲み込むのは難しいと思います。しかし、これらは複数人で開発をする上では避けて通れません。

WebModule は様々なエッセンスでできています。 最初から全てを飲み込むのではなく、部分的に採用できそうな部分がありましたら、ぜひ貴方のプロジェクトにも取り入れてみてください!

Clone this wiki locally