4月
07

3年前の入社時には、シンメトリックのメイン業務であるWebアプリケーションがいったい何であるかわからないばかりか、HTMLを書いたこともありませんでした。私はまず、HTMLとCSSを学ぶところからスタートしました。半年ほど経って多少慣れてきたところでWebアプリケーション開発に入っていくことになったのですが、まだ「Webアプリケーション」という言葉も自分の中に定着していないような状態でした。そんなレベルからでも開発に加わることができたのは、初心者でも使いやすいシンメトリック独自のフレームワーク、シンメトリックウェブフレームワーク(以下、SYMMフレームワーク)を使っているからです。今回は、このSYMMフレームワークがなぜ使いやすいのかをお話ししたいと思います。

「.html」を使えるのがSYMMフレームワークのミソ

SYMMフレームワークの一番の特長はページの拡張子が「.html」であるということです。これによってどんな恩恵を受けられるのかを以下に挙げます。

  • 「.php」などのように拡張子を変更しなくても、ダブルクリックでブラウザで開けるので、ページの確認が簡単にできる。
  • 「.php」などで構成されたサイトと違い、リンク先のファイルも「.html」なので、リンク先ファイルの拡張子もリンク元のaタグも書き換えずにリンクを辿ることができる。
  • 「.html」で構成されているので、リンクを辿るためだけの余計な準備が必要なく、フローのチェックも手間なく簡単にできる。
  • 遷移のチェックのために拡張子を書き換える必要がないので、拡張子の戻し忘れによるリンク切れの心配がない。

このように、「.html」であれば、ひとつのページを確認するだけでなく、リンクを辿った複数ページに渡る確認も簡単にすばやく行えます。表示をチェックするための準備としてだけのファイル編集は一切不要です。

処理は、ページに紐づきながら独立している

SYMMフレームワークは「始めにページありき」です。「.html」として作成したページはそのままにし、そのページに紐づけて処理部分を別ファイル(Java)として作成します。処理部分は、ページに合わせて1対1の関係です。図1はこの構造を簡単に表わしたものです。図中の、a.htmlからb.htmlに遷移したとき、b.htmlに紐づいたB.javaが動き、処理結果をb.htmlに表示します。あるページに紐づいているのはある1つのJavaであるという1対1の構成です。これにより、どこの処理かがわかりやすくなり、作りやすいだけでなく、なにかエラーが起きたときにも場所を特定しやすいという利点があります。

SYMMフレームワークの概要

HTMLとJavaの値の受け渡し方

SYMMフレームワークのページと処理の値のやりとりについて、基本となる部分を説明します。図2を併せて見てください。

  1. HTMLからJavaに値を渡すにはクエリパラメータを使うかフォームで送信します。このHTMLはなんの仕掛けもない、ごく普通のHTMLです。図では、クエリパラメータ「a=1」としています。
  2. Javaで受け取るにはメソッドの引数にクエリパラメータ名かフォームのname属性の文字列を指定します。概念的には「getter("a")」ということです。これで、①のb.htmlから送信された「a」の値「1」を取得できます。
  3. HTMLがJavaから値を受け取るには「${a}」と書きます。
  4. JavaからHTMLに値を渡すときは、③のc.htmlに書かれた「${a}」をもとにsetterを書きます。引数には「a」と渡したい値を指定します。イメージとしては、「setter("a", "yes")」です。

HTMLとJavaの値の受け渡し

使いやすさはページと処理のほどよい関係性にある

説明された内容を元に、実際に動くものを作るまでに要した時間は、ほんの数十分でした。

SYMMフレームワークが初心者にも使いやすい理由をまとめます。

  • ページが「.html」であるため、処理部分を作りながらでも見た目の確認がいつでも行えること。
  • 処理がページと1対1で紐づいているため、1ファイルにはそのページに必要な処理だけを書けばよく、どこで何をしているのかがわかりやすいこと。

これら2つがSYMMフレームワークが理解しやすいポイントであり、特長でもあります。これにより、遷移を確認しながら、ひとつひとつのページでどんな処理をさせればいいのかを考えることができるので、直感的で混乱せず、初心者でも扱いやすいということにつながっています。



この記事にはまだコメントがついていません。


■ コメントをどうぞ



 

投稿者

開発者向けサイト

NTTドコモ
作ろうiモードコンテンツ
KDDI au
EZfactory
SoftBank
MOBILE CREATION
イー・モバイル
技術情報
WILLCOM
コンテンツサービス