JavaScript runs on GeneCode Server.
PC→スマホ変換では、多様なPCページを様々なスマホページに変換するために、変換アプリケーションが必要です。特にジーンコードのように、導入型のWebサイト変換製品であれば、誰でも自由自在にアプリケーションを構築できることが必要です。
アプリケーション構築を強力に進めるには汎用言語で開発でき、既存のスキルやライブラリーも利用することができることが望まれます。ジーンコードにおける言語選択の、主な要件を挙げてみます。
- 機能性:HTML/XMLのパーサーが使えること
- 利便性:明示的なコンパイラが必要でなく、高速動作すること
- 動作環境:Linux系サーバーで動作すること
- 導入容易性:現在及び未来においてメジャー言語であること
サーバーサイドの(しかもApache内からコールされる)言語なので、常識的にはPHP/Perl/Java/Pythonなどから選ぶでしょうが、ジーンコードではブラウザー内のクライアントで利用されているJavaScriptを選択しています。その理由を書きたいと思います。
現在、HTML/XMLを操作する方法は主に3つ、「DOMを直接使うプログラミング/XSLTによる変換/JQueryセレクタ&メソッド」があります。この中で圧倒的な簡便性を持ち、最も普及しているのが、JQueryによる方法です。但し、このJQueryを変換用ライブラリーとして利用するにはJavaScriptが必要です。「但し」と書いたのは、JavaScriptは通常Apacheからコールできない言語なのです。それでも我々は、JavaScriptをApacheからコールする為に数多くの技術的困難を克服し、漸くこれを実現しています。
もう1つ、我々をApacheからJavaScriptをコールするという技術的困難に挑戦させたものは、JavaScriptこそがクライアントやサーバーの枠を超えた未来のメジャー言語になるだろうという予測があるからです。現在ブラウザー内で動作する言語としてJavaScriptは唯一の言語であり、最大規模のインストールベースと開発者数が存在しているのは間違いありません。また、ブラウザベンダーが凌ぎを削って性能面での進化を進めていることからも将来性が感じられます。更に、node.jsという先進的なJavaScriptベースのWebサーバーが出現し、既にクリティカルなアプリケーションにも利用され始めていることもあります。
サーバーでJavaScriptを利用できると、PC→スマホ変換をするジーンコードとして大きなメリットが生まれます。それは、サーバーもクライアントも同じ言語で開発できるということです。スマートフォンサイトでは、JavaScriptで様々な処理を行うのが通常です。PCコンテンツの変換をサーバー側でしてもクライアント側でしても、同じ言語・コードで書けることはソースコードの管理や再利用性を大幅に向上させます。
変換言語にJavaScriptを選択したジーンコードは、製品としてフロント部分を形成するGUIビルダーやコンポーネント、ライブラリー、設定ファイルなどはJavaScriptで作られています。それにより、ユーザー開発のアプリケーションとフレームワークは高い親和性を持ち、システム全体がシンプルで美しいアーキテクチャーで動作するようになっています。
ジーンコードの開発言語としてJavaScriptを選択したことが、現在と将来に渡ってユーザーに大きなアドバンテージをもたらすことを我々は信じています。