読者です 読者をやめる 読者になる 読者になる

Xojo日本語ブログ

マルチプラットフォーム対応アプリが開発できるXojoのブログです。

XojoでWebシステム開発を行うメリットとは?

Web Xojo

Xojoはデスクトップアプリケーションはもちろん、コンソールアプリケーション開発も行います。さらにWebシステムやスマートフォンアプリ(iOS)までこなせる多彩な言語です。

今回はXojoを使ってWebシステムを開発するメリットについて紹介します。

f:id:moongift:20161108005458p:plain

サーバサイドのコードで動く

XojoではWebブラウザ側ではロジックを殆ど持っていません。ユーザの入力を感知して、それをサーバサイドに送っています。サーバ側ではXojoが動いており、処理を行った上でUIをどう変更すべきかをWebブラウザに伝えます。その情報を元にJavaScriptでUIを更新します。

つまり殆どの処理はサーバサイドで行われているので、サーバサイドのコードをデバッグするだけで動作が分かるようになります。Xojo以外の言語による最近のWebシステム開発ではサーバサイドとクライアントサイドで分かれて開発が進められます。その結果、問題が起きた際にそれがサーバサイドの問題なのか、それともクライアント側なのかの切り分けが困難になりがちです。

Xojoの場合はそういった問題は発生しません。クライアント側のデバッグはWebブラウザの開発者ツール、サーバ側のデバッグはログを見て…といった手間もありません。すべてはXojo IDEだけで完結します。

デザインが容易

Webシステムにおいてデザインは大きな問題です。業務システムであればBootstrapなどのUIフレームワークが使われることが増えてきていますが、それでも顧客の希望通りにデザインするのは容易ではありません。

Xojo IDEではコントロールドラッグ&ドロップで配置するだけの簡単な操作で画面設計ができます。ウィンドウの幅や高さに応じたレスポンシブなコントロールの大きさ変更も容易です。

細かなカスタマイズはスタイルシートを使って調整することもできますが、殆どのプロパティはXojo IDEがデフォルトで提供するプロパティを変更するだけです。開発者はもちろん、プロジェクトマネージャや営業の方でも利用できるでしょう。つまり顧客との打ち合わせの場でUIを実際に作って見せて、その場でフィードバックを受けながら納得できるシステム開発が実現するのです。

ビルトインサーバを使ったデバッグ

Xojo IDEではビルトインサーバが備わっていますので、開発しながら確認がすぐにできます。別途ApacheIIS、nginxなどのHTTPサーバを立ち上げて設定して…などといった手間がありません。この辺りはここ数年のアプリケーションフレームワークと同様と言えます。

f:id:moongift:20161108005536p:plain

ビルドしたアプリケーションはそのまますぐに実行できる

開発が終わったらビルドして実行ファイルを生成します。これはビルド時に対象OS(Linux/Windows/macOS)を指定するだけ、そのOSに合わせたものが生成されます。動作は全く同じで、OSの違いによる動作の差異を気にする必要はありません。

例えば開発時には顧客のコンピュータで動くWindowsバイナリを配布して確認してもらい、運用時にはLinuxサーバ向けにバイナリを配布すると言った使い方もできます。

単体で使える実行ファイルの他、CGIPerl)と組み合わせて動作させることもできます。FastCGIでの動作は保証されていないため、HTTPサーバはApache推奨となっています。

Xojoアプリを動かすためのXojo Cloud

執筆時点(2016年11月)では日本ではまだ提供していませんが、Xojo Cloudというクラウドサービスがあります。これはXojo IDEからワンクリックでデプロイできるサービスで、開発しているWebアプリケーションをクラウド上で提供する際に便利です。

特にセキュリティに細心の注意をして提供されており、業務システムでも信頼して配備できるようになっています。最近は業務システムであってもインターネット上に公開してスマートフォンタブレットからも使いたいというニーズが強くあります。サーバを用意して、SSL/TLS証明書をとって、デプロイした後もセキュリティを気にして定期的にメンテナンスやログ監視を行う…などといった手間はXojo Cloudを使うことですべて解決するでしょう。

Xojo開発者であればすぐに開発できる

Xojoを使ったWeb開発で使う言語はXojoだけです。これは当たり前のように見えて大きなメリットになります。これまでデスクトップ向けの開発を行ってきた方がWebシステムに参入する場合、まず言語の壁が大きく存在します。デスクトップアプリケーション開発では.NETやVB6のような言語が使われますが、サーバサイドのプログラミング言語は多様に存在します。それらを習得するのはそれなりに時間がかかるものです。

次にWebブラウザの壁があります。Webブラウザが動作保証しているプログラミング言語JavaScriptだけです。かつてあったFlashSilverlightJavaアプレットといった技術はHTML5の時代になって淘汰されています。JavaScriptは進化が速く、フレームワークも数多く存在します。それらのトレンドをキャッチアップし、開発に参入するのは容易ではありません。

そのため、多くのWebシステム開発では分業制がとられています。フロントエンド開発者はJavaScriptを担当し、Webデザイナースタイルシートを作成します。サーバサイドエンジニアはサーバサイドの開発を行います。しかし、AjaxやデザインフレームワークJavaScriptの高機能化に伴ってこれらの領域が曖昧になりつつあります。一つの技術だけで完結する時代ではなくなっているのです。人材のアサインも容易ではなくなっています。

Xojoを使った場合、利用する言語はXojo一つです。フロントエンド/サーバサイドで区別する必要がありません。デザインもXojo IDE上で完結します。開発リソースの統一ができ、アサインについて気にする必要もありません。


Xojoのメリットはなんと言ってもXojoだけでデスクトップ(WindowsmacOSLinux)、コンソール、Web、スマートフォンiOS)、IoT(Raspberry Pi)の開発がまるっと行える点にあります。Xojoさえ覚えてしまえば(習得は決して難しい言語ではありません)、すべての環境に対して開発する準備が整うのです。ぜひXojoを使ってWebシステム開発をはじめてみてください。