アルファサード株式会社 代表取締役 野田 純生のブログ


マークアップエンジニアが次に取り組むべき5つのテーマ。


公開日 : 2007-08-09 16:32:32


性懲りも無くまた書くとする。このエントリーは「マークアップエンジニア」に向けて書く。

* 前回何故あんな書き方をしたかというと、やっぱり書き方が見下してるというか、嫌〜な匂いがしたからだ。で、案の定そのノリで反応来るしなぁ。ちなみに僕はマークアップエンジニアではなく最近はPerlばっかり触っているスーツです。

次にやるべきは何か。結局はあなたが何者になりたいか次第だけど、あなたの周りにも左右されるだろう。それは決して (このブログも含めて) ブロゴスフィアの世論? ではなくて例えばあなたの (今の、そしてこれからの) 属している業界とか会社とかあなたの仕事仲間とかのことね。

だからこれは僕の会社や僕が属している業界の場合の話と予めお断りしておく。
また表現者になりたいのか、ビジネスとして極めたい/稼げるようになりたいのかによっても違うが、ここでは後者の話。あくまでも「あなたのマークアップエンジニアとしての仕事をさらに極めるための5つの取り組みテーマ」ということ。

1.改めて(X)HTMLとCSS。

正しい(X)HTMLとCSS、美しく、高いアクセシビリティを保って。これは言うまでもないだろう。
但し Mobile はやっておこう。無視できないよ、やっぱり。

2.テンプレート言語。

あなたの周りが PHPer だったり会社で使用しているフレームワークやテンプレートエンジンがあるのであればまずはそこから。無いのなら周囲に相談してみれば良い。Smarty でも Django でも何でも良いが、テンプレート言語を通したプログラマとの連携ができればみんなが幸せになれる。

周囲にプログラマがいない (みんながみんな分業できねぇとかいう意見もあるようだし) とか、特に指定がないのなら、 やっぱ MT::Template でしょう。プログラマが周りにいなくたって誰かが書いたプラグインを組み合わせたりすればかなりのことができる。

そして、注目すべきは MT4になってから MT自体の CMSが MT::Template (+HTML+CSS) で書かれていることだ (MT3まではHTML::Template)。顧客の要望にあわせたCMSのカスタマイズとかにも MT::Template は使える。

もちろんあなたがフリーランスやSOHOスタイルで仕事をしているならば、制作会社との共通なテンプレート言語である MT::Template をマスタしておいて損は無いと思う。僕がMTの人? だから言うのではなく、マークアップエンジニアにも比較的浸透しているでしょう? やっぱり他のテンプレートエンジンは、プログラマ側からのアプローチで作られているように見えるし MT::Template と比較して習得が容易だとは思えない。

MTの場合「触ったことがある」程度から仕事で使えるところまで行くためにやることは沢山ある。デフォルトの MTタグを使ったサイトの骨格づくりから、様々な分岐処理、プラグインを使ったカスタマイズ、さらには高速にページがレンダリングできるテンプレート・タグの設計とかまで行ければ言うことなし。ついでにデータベースの構造 (MTの「何」がどこに入っているか) も勉強してしまおう (後で役に立つ)。

問題はここから。

さて次。ここで考えておかなければいけないことは、マークアップエンジニアを自分の立ち位置 (本拠地) とするかどうか、である。

今後もマークアップエンジニアを自分の立ち位置とするのであれば、マークアップエンジニアリングが「よりパワーアップする」ようにスキルアップを図って行くべきだ。

「明日から使える」あるいは「明日から自分の目の前の仕事を楽にしてくれる」ことから取り組みましょう、ってのはすごく自然なことだから。

3.正規表現。

何らかのプログラミング言語を学ばないまでも、正規表現を使った検索・置換ができるテキストエディタ等を使えばかなり柔軟な処理ができる。結局、マークアップ・エンジニアの仕事におけるテンプレート設計以外の部分ってのは (もちろん、画像編集ソフトでパーツを切り出すとかそのあたりは別にして) テキスト処理である。ページの作成も、ページの修正も、ページのチェックも結局 HTMLとCSSというテキストファイルの処理である (時には大量のファイルを処理する必要があるだろう)。

そこで、正規表現である。サイトがCMS化されていないとき、サイト全体に修正が入ったが単純な置換処理では不可能な時、あるいはサイトのリニューアル時に旧サイトのデータを再利用する時。こんな時に正規表現という「芸は身を助ける」。

同じ理屈で、grepとかfindコマンドとがターミナルから叩けるようになっておくと「マークアップエンジニア」としての作業効率は絶対大幅にアップするよ。

4.何でも良いから言語をひとつ (但しファイルの読み書きができる言語)。

ここが一部の人と意見が分かれるかもしれないけれど、JavaScriptやActionScriptではない。いわゆるLLというやつを何か一つ先に身につけよう。

理由は正規表現のところで書いた通り。大量のテキストファイルから情報を抽出したり加工したり修正したりするケースはマークアップエンジニアであれば日常茶飯事でしょう? だったらファイルの読み書きの出来ない言語では意味が無い。つまりJavaScriptやActionScriptではなく、Perl | PHP | Ruby | Python 等のLLでしょう。これによって、クライアントが用意したExcelデータをTSVとかCSVにコンバートしてHTMLで作ったテンプレートにデータを流し込んでファイル出力する、とかの処理もできるようになる。一つ身に付ければマークアップ・エンジニアの世界が変わること間違いなし。

特に好き嫌いがなければ Perlがお勧め。

(順番にいけば既に身に付けたであろう) 正規表現が柔軟に扱えてテキスト処理に強いPerlがお勧め。Perlならドキュメントや書籍にも困らないし、もちろんオンラインに豊富な情報があるし何より CPANがある。Mac OS Xなら標準で使えるし、Windowsには ActivePerl、旧MacOSには Mac Perlもある。そして、CGIとしてサーバーサイドで動かすことも殆どの環境で可能だ(サーバーサイドで動かす場合は基本的なセキュリティのところはやっておく必要があるが)。あなたが大好きな? CSSや、JavaScriptと違ってクロスブラウザを気にする必要もないし、PHP程バージョン間の差異に気を遣う必要もない (ここで言語論争をするつもりはないですごめんなさいPHP)。

実は Perlを選ぶもう一つ理由がある。

* 誰かが「勝手に添削」してくれる等という理由ではないよ :-)

お分かりの方はお分かりだと思うが、MT が Perlで書かれているから。既に覚えた MT::Template と正規表現のスキルを活かして、自分でプラグインを書けるようになると これは強い。Web業界ならPHPも悪くないと個人的には思うが、MT/Perlという「芸は身を助ける」。

* 追記:
別にPerlを「極める」必要はないです。
ファイルの読み書きが出来てHTMLをパースしたりHTMLの構造やパターンから必要な部分を引っぱったり書き換えたりしてからまた保存する、みたいな処理やリンクチェックとかミスを見つけるのに使えるレベル+簡単なMTプラグインが書けたらマークアップエンジニアとしては充分すぎる。

5.「言語」というものに慣れたら JavaScript (→ ActionScript)へ進もう。

もちろん、getElementById('foo').style.color="bar" とかでスタイルをちょっと変えたりくらいはもっと早い段階でやっておくべきかとは思うが、優先順位としてはPerl (or 別のLL) を覚えてからで良いというか、「マークアップエンジニアが表現や演出の領域を広げる」 (JavaScript/ActionScript) よりも、先に「マークアップエンジニアを極める」(Perl) 方が、今日・明日から役に立つ。

一方、JavaScriptにはブラウザ上での「CSS(あなたの大好き? なCSS!)」を扱えるという強みはある。そう言う面ではCSSでの表現力を補ったり、CSSを書く際にスマートに書けるという「芸は身を助ける」面もある。

JavaScript → ActionScriptという流れは (言語としては) 難しくない。兄弟のようなものだから。Flash特有の部分を覚えて行けば、さらに幅が広がるだろう。

* 追記:
同じくJavaScriptを「極める」必要はないです。特にCSSをJavaScriptから自在にコントロールできるようになれば、マークアップエンジニアとしての幅が広がる。

さて、ここまで行けばディレクションというかプロジェクトの設計を担当しても、何だか今までと違った「プロジェクト設計」が出来るようになるだろう。

もちろん、順番に全部やらなくても良いし飛ばしてもよいし途中まででも良い。ディレクションとかそっちに行くのも良いでしょう。

ただ、「マークアップエンジニア」は何か「ガシガシ」とエディタで書いてページやサイトを組み立てたり、基本「作る (not 創る)」のが好きな特性がどっかにあるような気がするんだな。


ただ漠然と将来が不安っていっても、どのみち言語を覚えたって何を覚えたって技術や状況は変化するし10年後はどうだって誰も言えない。逆に、やるなら一気にやるべきだ。そう、今日から。そして、1年で何者かになってしまえ!

いくつかの壁はあるだろうが、すぐになれるよ。若いんだから (若くない人ごめん)。

ちなみに、冒頭のところ( 表現者になりたいのか、ビジネスとして極めたい/稼げるようになりたいのか) で、もしあなたが前者 (表現者になりたい!) の場合、まずはアートディレクターの目線を持つことが第一だと思う。デザインが「できる | できない」は置いておいて良い。AとBの「どちら」のウェブデザインが、「何故」優れているのかが適切に判断できる能力を磨こう。そして、どこをどう直せばもっと良くなるかを見抜いて指摘出来る力。

良いデザインや良いユーザー体験に沢山触れて、自分の眼力を鍛えること。それから表現技術を身につけていけば良いと思う。目線が低い人は仕事しててもうまくいかないが、目線が高ければ他人を使ってでも良いものができるようになるので。

さて、いかがでしょう?

カテゴリ
タグ


このブログを書いている人
野田純生の写真
野田 純生 (のだ すみお)

大阪府出身。ウェブアクセシビリティエバンジェリスト。 アルファサード株式会社の創業者であり、現役のプログラマ。経営理念は「テクノロジーによって顧客とパートナーに寄り添い、ウェブを良くする」。 プロフィール詳細へ