FRONT-END.AI Blog

FRONT-END.AIやAI/機械学習に関する最新情報を発信しています

HTMLコード自動生成の歴史とFRONT-END.AIの目指す世界

Webが広く使われるようになって30年近くが経とうとしています。かつてはグレーの背景で、テーブルやframeを使って構築したWebサイトが多かったですが、今はその頃とは比べものにならないくらい、リッチで高度なデザインに溢れています。

HTMLはその頃から徐々に仕様をバージョンアップしながら進化してきましたが、当時からすでにHTMLを手打ちするのか、専用ツールを使うのかという問題が存在していたように思い起こされます。

今回はそうしたHTMLコード自動生成に関する歴史と、その課題、そしてFRONT-END.AIが何を目指しているのかを紹介します。

オーサリングツールの台頭

HTMLのオーサリングツールと聞いて、よく思い出されるのはマクロメディア(現Adobe)のDreamweaverではないでしょうか。多彩なコンポーネントと、プロパティの配置によって、HTMLタグを知らなくともWebページが作成できました。インデントなどが自動で行われるので、ある程度見やすいHTMLが生成できていたように思います。

f:id:moongift:20211004133838p:plain

同様にホームページビルダーやAdobe GoLiveといったソフトウェアもありました。いずれもビジュアル的にWebページを作成し、HTMLコードが出力されるタイプのソフトウェアですが、CSS3やJavaScriptの高度化に伴って、使いづらい場面が増えてしまった印象があります。

とはいえ、今なおDreamweaverを利用されている方々はたくさんおり、オーサリングツールとして重要な地位を占めています。デザイナーの方にとって使いやすい表示、機能はFRONT-END.AIとしても、大いに参考になるところがあります。

HTMLエクスポート機能

Webが広まるのに合わせて、多くのソフトウェアにHTMLエクスポート機能が追加されました。しかし、ほとんどが使いづらいものです。例えばMicrosoft WordにもHTMLエクスポート機能がありますが、利用しているエンジニアやデザイナーの方がいるでしょうか。

自動生成ツールの多くは、とても複雑なHTMLを出力します。自動化されているために、不要なタグが多くなります。また、元のドキュメントを再現しようとするあまり、配置を厳密に指定します。その結果、人が手を加えようとするものなら、すべてがバラバラになってしまうような、繊細なHTMLができあがるのです。

f:id:moongift:20211004133900p:plain

一度きりで、出力した後に絶対に編集しないならば、利用しても良いでしょう。しかし開発フローの中には決して相容れない存在となっています。

プラグインによるHTMLコード生成

各種グラフィックスツールのプラグインとしてインストールし、HTMLコードが生成できるツールもあります。例えばExport Kitがあります。FigmaやXD、Photoshopなどのプラグインとして提供されます。

www.youtube.com

こうしたプラグインの場合、まず対応しているソフトウェアを持っている必要があります。Photoshopをメインに利用しているデザイナーの方がFigmaにしか対応していないエクスポートプラグインを使いたいと思っても、利用できません。FRONT-END.AIでは、こうした対象ユーザの絞り込みは避けたいと考えています。

また、この手のプラグインでは、HTML構造のあり方をデザイナーの方がある程度理解している必要があります。HTMLとデザインのレイヤー構造は異なる考え方なので、エクスポートされた結果を意識しながらデザインを行うのは難しいですし、創造性の幅を狭めてしまう可能性があります。さらにレスポンシブ対応などのために、レイヤー名やフォルダ名に特殊なコードを書かないといけないなど、多数の独自ルールも存在します。

Wiki、そしてMarkdown

Webが広まるのに伴って、多くの人たちがコンテンツを更新したり、ページ内容を作る必要が出てきました。その際、HTML構文を覚えるのは非効率的で、HTML代替となる(Alt HTML)なマークアップ言語が望まれるようになりました。その最たるものとしてはWiki記法ではないでしょうか。若干特殊ではありますが、HTMLよりは覚えやすく、読みやすいマークアップ言語になります。

開発者であればMarkdownがよく知られているでしょう。可読性と機能性を備えたマークアップ言語で、今やデファクトとも言えます。MarkdownからHTMLに変換するツールは数多く存在し、ヘルプなどのドキュメントのテンプレートとしてもよく使われます。

f:id:moongift:20211004134128p:plain

同様にHTMLの大体言語として、PugやEjs、Handlebars、Mustacheなどのテンプレートも存在します。これらはHTMLを簡略化して書くことができる一方、オーサリングツールとの相性は良くありません。多くの場合、プログラミングエディタを使って手打ちすることになるでしょう。

Webサービスの登場

2015年頃にAUTOCODINGというサービスが登場しました。こちらはPSDファイルを読み込んでHTMLファイルを生成するというサービスです。プラグインの場合と同じく、レイヤー構造やレイヤー名に規則性も持たせることで、HTML構造を実現するタイプのものだったようです。残念ながら現在はサービスを停止しています。

Adobe社ではCreative Cloud Extractというサービスを提供していました。こちらはHTMLではありませんが、クラウド上で画像の切り出しを手軽に行ったり、簡単なCSSも生成してくれるサービスです。こちらも現在はサービスを停止しています(DreamweaverのExtra機能に取り込まれたようです)。

この他、類似のサービスはいくつか存在します。

そしてAIによる自動化へ

Webサービスがいくつも登場して消えていく中、大きな技術革新が起こっています。それはAI、機械学習の台頭です。AIを用いることで、これまでにないほど精度が高いHTMLコード生成が実現できるようになっています。これまではカンプの中にある画像を見つけるのが困難だったため、あらかじめレイヤーを分けるような工夫が必要でしたが、そういった手間はAIが自動的に認識できるようになっています。

FRONT-END.AIの目指す世界

私たちの提供するFRONT-END.AIも、このAI/機械学習を用いたHTML/CSS生成カテゴリに属するサービスになります。彼らのサービスとの違いは、ノーコードではなくローコードであるという点です。自動で生成されるHTMLは生成して終わりではなく、IDやクラス付け、自社規定に合わせた構造の調整が必ず必要です。そうした調整をFRONT-END.AI上で素早く、効率的にできるようにしています。

f:id:moongift:20211004134230p:plain

また、特定のファイルフォーマットではなく、JPEG画像を利用するのもFRONT-END.AIの特徴です。汎用的な画像フォーマットを利用することで、どのようなデザインツールを使っているデザイナーであっても、FRONT-END.AIを利用できます。レイヤー構造や名前の付け方に制限はありません。想像の翼を締め付けるようなことなく、さらに変換する工数を省くことで、デザインに費やす時間を増やせることでしょう。

FRONT-END.AIの生成するHTMLはなるべくシンプルに、人が書いたかのような構造を目指しています。これはHTMLを生成して終わりではなく、プログラマーに組み込んでもらったり、JavaScriptやCSS3によるアニメーション組み込みを想定してのことです。特別なツールではなく、皆さんのワークフローに溶け込める、そんなサービスを目指しています。

FRONT-END.AIはこれまでのHTML自動生成の歴史から学び、よりエンジニアにとって使いやすいサービスを目指しています。FRONT-END.AIに興味がありましたら、ぜひお問い合わせください。

FRONT-END.AI | フロントエンド開発業務を1/2に