- PR -

後からでもある程度画面デザインの変更が可能な手段についてみなさんの意見をお聞かせください。

投稿者投稿内容
タクマン
常連さん
会議室デビュー日: 2004/06/14
投稿数: 42
投稿日時: 2005-09-21 14:19
今現在、お客様の要望として後からでもデザイナーさんが画面のデザイン変更できるようにとう件が上がっています。
私なりにいろいろと検討したのですが、どうしてもcssファイルを用意しておくくらいしか考えられませんでした。
デザイナーさんは秀丸などのエディタを使用してテキストの配置やフォントのスタイルや大きさなどを変更するのだそうです。
恐らくデザイナーさんにはaspxのタグの知識は無いと思います。
その場合、cssファイル以外にデザイン変更が容易なように検討しておくことはあるのでしょうか?
cssファイルがaspxタグ内のコントロールに対して適用されるのかどうかも疑わしいところですが、それは置いておいて、他に何か良いアイデアはありますでしょうか?
がるがる
ぬし
会議室デビュー日: 2002/04/12
投稿数: 873
投稿日時: 2005-09-21 14:42
どもです。がると申します。
引用:

タクマンさんの書き込み (2005-09-21 14:19) より:
今現在、お客様の要望として後からでもデザイナーさんが画面のデザイン変更できるようにとう件が上がっています。
私なりにいろいろと検討したのですが、どうしてもcssファイルを用意しておくくらいしか考えられませんでした。


んっと。このあたりの要件からMVCという考え方が出てきたと
思うのですが。
現実には…難しいですねぇ(苦笑
極個人的見解で恐縮なのですが。
Visual Studio.NETは「MVC対応」を謳ってはいますがいますが実際には
「デザイナーにVisual Studio.NETを使わせる」という、個人的には
暴挙としか思えない手段しか提供されていませんし。
例えばPHPにはSmartyというものがありますが、これも「ちゃんと
MVCを意識した」人に作らせないと滅茶苦茶になります(実例を
見てますし)。

まぁ、ある程度まではCSSで…になると思うのですが。
例えば「この、個人のハンドル名をこっちに移動したい」とか、
HTML的には至極シンプルな手段が、CGI(含むaspx)になると
とたんに困難になります。

引用:

デザイナーさんは秀丸などのエディタを使用してテキストの配置やフォントのスタイルや大きさなどを変更するのだそうです。
恐らくデザイナーさんにはaspxのタグの知識は無いと思います。
その場合、cssファイル以外にデザイン変更が容易なように検討しておくことはあるのでしょうか?
cssファイルがaspxタグ内のコントロールに対して適用されるのかどうかも疑わしいところですが、それは置いておいて、他に何か良いアイデアはありますでしょうか?


よいアイデア…というには問題が山積なのですが(苦笑
同じことを考えた「お気楽極楽SE」の「ひとつのアイデア」って
ことで、手前味噌ではありますが、以下をご覧いただけると。
http://www.m-fr.net/etc/asp/make_with_mvc.html

「使ってみたいけどよーわからん」というようであれば、
プライベートメッセージでご連絡いただければと思います。
可能な限りサポートをいたします。
# でまぁ、使いにくい部分を把握してプログラムなりマニュアル
# なりをバージョンアップさせる、と(笑

とはいえ。
なにかこぉ、もうちょっと「デザイナーに優しい」というか
「デザインが完全に分業できる」手段ってないものですかねぇ?
かつSEにとっても楽な手段で。
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2005-09-21 15:30
ぼのぼのです。
引用:

がるがるさんの書き込み (2005-09-21 14:42) より:
んっと。このあたりの要件からMVCという考え方が出てきたと思うのですが。
現実には…難しいですねぇ(苦笑
極個人的見解で恐縮なのですが。
Visual Studio.NETは「MVC対応」を謳ってはいますがいますが実際には
「デザイナーにVisual Studio.NETを使わせる」という、個人的には
暴挙としか思えない手段しか提供されていませんし。


単純な画面ならWebコントロールを一切使わないという手はありますが…
これだと一意なIDを振ってrunat="server"と書いとけばASP.NETに取り込めるかもです。
しかし、Webコントロールを使わないとASP.NETの多くの利点を失うことになりますし、何よりDataGridやDataListなどの繰り返し系が出てきた時点でアウトですからねぇ…
私なら、こういう要件が出てきた時点で、JSP等別の開発プラットフォームの選択も考えてしまうかもです。
葉瀬崎浩樹
大ベテラン
会議室デビュー日: 2005/06/28
投稿数: 115
お住まい・勤務地: 兵庫県
投稿日時: 2005-09-21 15:40
こんにちは。
aspxファイルという用語を使用されてますので、ASP.NETのお話ですよね?
開発者はVisualSutdioを使用するけど、
デザイナさんはcssを手書きするような進め方なんですかね。

引用:
cssファイル以外にデザイン変更が容易なように検討しておくことはあるのでしょうか?

多少それるかも知れませんが、思いつくまま書いてみます。

■その前に
・スタイルシートはaspxのファイルにも適用されます。
・WebControlの場合、CssClassプロパティが用意されています。
・<body>や<div> 等、コントロール以外の要素は、基本的にHtmlGeneric コントロール
を使用します。CssClassプロパティはありませんが、Htmlタグに直接対応しておりますので、スタイルシートは適用できます。(できるはずだが、未確認)

■cssの適用範囲とセレクタの検討
・Webサーバコントロールがどのようなタグを生成するのかの確認と整理。参考
・CssClassプロパティの適用されるタグの確認と整理。
・サイトで使用するHTML要素の分類と整理。
・上記作業結果を元に、cssで設定するデザイン要素の決定とクラスセレクタの抽出。

#Webサーバコントロールが生成するタグは、複雑な場合があります。
意図しないセレクタが適用されることを避ける目的で、クラスセレクタを活用し、
タイプセレクタは使用しないほうが良いと考えます。
#aspxのページ設定で、GridLayoutではなくFlowLayoutを使用した方が良い。

■デザイナ/開発者間の担当範囲を決めておく。
 デザインに関する変更についての連絡・フィードバック体制を整える。
 デザインに関するテスト担当の明確化。
(開発者はデザイナほど沢山のブラウザを使用して、デザインを確認しないと思われる)

■開発者への注意事項
CssClassを使用してデザインを設定する場合、
VisualStudio側で、デザインに関するプロパティは設定しないようにする。

■サイト単位/ページ単位で適用すべきcssファイルを分割しておく。

■cssファイルの保存形式をルール化

粒度がばらばらになりましたが、こんな感じですかね。

んで、とにかく、やり取りの発生する個所については、
事細かくルール化しておいたほうが、無難だと思います。
#文化が違うので、思わぬところで認識ズレが発生しそうです。

そうそう、ここをまだご覧になってなかったらみてください。

長文失礼しました。なにかの参考になれば。
それでは、アディオス

#引用タグが間違ってたので修正
[ メッセージ編集済み 編集者: 葉瀬崎浩樹 編集日時 2005-09-21 15:45 ]

[ メッセージ編集済み 編集者: 葉瀬崎浩樹 編集日時 2005-09-21 16:51 ]
がるがる
ぬし
会議室デビュー日: 2002/04/12
投稿数: 873
投稿日時: 2005-09-21 16:02
どもです。がるです。
引用:

ぼのぼのさんの書き込み (2005-09-21 15:30) より:
単純な画面ならWebコントロールを一切使わないという手はありますが…
これだと一意なIDを振ってrunat="server"と書いとけばASP.NETに取り込めるかもです。
しかし、Webコントロールを使わないとASP.NETの多くの利点を失うことになりますし、何よりDataGridやDataListなどの繰り返し系が出てきた時点でアウトですからねぇ… (^_^;)
私なら、こういう要件が出てきた時点で、JSP等別の開発プラットフォームの選択も考えてしまうかもです。


んっと…Webコントロールを使うことによる「ASP.NETの多くの利点」
って例えばどんな感じなんでしょうか?
いや、単純にピンと来ていないだけなので、純粋に質問
なのですが。
# 個人的には「WindowsプログラマがCGIの世界観を把握しない
# ままCGIが作れる」以上の利点があんまり思いつかない(苦笑

あと、一応反論を。
私のやり方で、繰り返し系は普通に実装可能です。
っていうか、繰り返しは結構色々な手段で実装可能なので、
アウトになることって、どんな実装手段を用いても、
あまりないと思うです。

引用:

葉瀬崎浩樹さんの書き込み (2005-09-21 15:40) より:
んで、とにかく、やり取りの発生する個所については、
事細かくルール化しておいたほうが、無難だと思います。
#文化が違うので、思わぬところで認識ズレが発生しそうです。


ですねぇ。
デザイナーさんとのそういったやり取りは、特に細かく
やっておいて損はないというか、やらないと大変なことに
なりやすいと思うです。

ちなみに
引用:

そうそう、ここをまだご覧になってなかったらみてください。


の記事ですが、少々突っ込みを(苦笑
「Flashムービーの内容をプログラミング側から操作できるかどうかについては」
可能です。まぁどの程度操作したいのかにもよるのですが。
基本的には「パラメタが簡単に渡せる」ので、かなり
ダイナミックな変更も出来るです。
まぁ「本気で色々やる」んならAction Scriptをこっちで
書く必要とか出てくるので、相応に面倒ですが :-P

あと、「Visual Studio .NETのデザイナ画面はHTMLデザイン・
ツールとしても相当によく出来ている。」については、
自分というよりは「私の周囲の複数のデザイナ」から、
烈火のごとき反論を頂いております(苦笑
なので、正直なところ、(特にスキルの高い)デザイナに
「Visual Studio .NETで組んでね」と頼むのは、知っている
限りにおいては忌避事項の一つです(苦笑

以上、雑感込みでつらつらと。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-09-21 16:05
こんにちは、じゃんぬ です。

引用:

タクマンさんの書き込み (2005-09-21 14:19) より:

どうしてもcssファイルを用意しておくくらいしか考えられませんでした。
デザイナーさんは秀丸などのエディタを使用してテキストの配置や
フォントのスタイルや大きさなどを変更するのだそうです。


これって、CSS に対してですよね?
まさか、aspx の HTML ソース部分にガリガリなんてことは...
いえ、以前ある業者さんに頼んだら、ソースレベルでスタイルを(ry
(あれは特殊なんだったと思いたい...)

で、CSS でスタイルを全部定義できるようにするのが理想なのは間違いないです。
CSS に全部定義すれば解決ってわけではなくて、うまくまとめなければいけません。
まずは、クラスだらけにしないこと。
aspx 側は DIV で BoxStyle を使って、ID を振っておくのが良いでしょう。

要素.class {

}

なんてものは極力無くすようにすべきだということです。


_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2005-09-21 17:00
引用:

がるがるさんの書き込み (2005-09-21 16:02) より:
んっと…Webコントロールを使うことによる「ASP.NETの多くの利点」
って例えばどんな感じなんでしょうか?
いや、単純にピンと来ていないだけなので、純粋に質問なのですが。

あと、一応反論を。
私のやり方で、繰り返し系は普通に実装可能です。
っていうか、繰り返しは結構色々な手段で実装可能なので、
アウトになることって、どんな実装手段を用いても、
あまりないと思うです。


がるがるさんレベルの方にこういう突っ込みをされると、正直反論できないんですが…
一応足掻いてみます。

最も簡単な例をあげると、CheckBoxとRadioButton。Webコントロールの方だとはじめからラベルとペアになってて、ラベルの方をクリックしてもチェックできます。あと、CheckBoxList、RadioButtonListなんてものもあり、HTMLコントロールだと複数組み合わせないといけないようなものが、一つのコントロールで実現できます。

もひとつ言うと、動的に変更したい属性として比較的登場する機会の多いclassやreadonlyといった属性が、Webコントロールの場合はプロパティとして提供されています。HTMLコントロールだとAttributeプロパティにAddしてやらないといけないですが、WebコントロールのCssClassやReadOnlyプロパティの方がより直感的です。

最後に繰り返し項目ですが、DataGdidやDataListを使わずに実現する方法を、私普通に知らないです(汗。今までそういう必要に迫られなかったことが大きいと思うんですが、どうやるんでしょう?

総じて、「できる/できない」レベルに言及されると、私の言う利点て、無きに等しいものなのかもしれません。しかし、デザイナとの連携を必要としないような、プログラマがデザインまで行えるような社内系の業務アプリを作る限りは、Webコントロールの方が、知識の少ない人間でもより直感的に、あるいは容易に、やりたいことが実現できるようなつくりになっている感があります。
あくまで拙い経験に因る主観ですけれども…
葉瀬崎浩樹
大ベテラン
会議室デビュー日: 2005/06/28
投稿数: 115
お住まい・勤務地: 兵庫県
投稿日時: 2005-09-21 17:26
引用:
んっと…Webコントロールを使うことによる「ASP.NETの多くの利点」
って例えばどんな感じなんでしょうか?



本題からそれますけど、横から私見を。
以下、Webコントロールの便利な点です。
・なかなか強力なDataBind()機能。
・ViewState機能によるコントロール状態情報の保存。
・サーバサイドで、OOPでの恩恵を受けられる。
・イベントドリブンでの開発が可能。(落とし穴も多いけど)
#ASP.NET以外のフレームワークは知らないので、
#なにかと比較して便利と言っているわけではありません。

スキルアップ/キャリアアップ(JOB@IT)