モバイルアプリケーション開発のためのプログラミング技術

MobileTogetherは、使いやすく、ローコードでアプリ開発を行えるフレームワークです。これにより、単一のデザインから、あらゆるプラットフォーム向けの高度なアプリケーションを開発できます。

ローコードとは、コードを全く書かないという意味ではありません。データベースの専門家は、いくつかのSQLクエリから始め、MobileTogetherのドラッグ&ドロップインターフェースを使って、洗練されたテーブルやグラフを備えたアプリケーションを作成し、最新の企業データをレポートすることができます。一方、経験豊富な開発者は、モバイル開発でよく使われるプログラミング技術を活用して、非常に複雑で洗練されたMobileTogetherソリューションを構築することがあります。

開発者は、必要に応じて、ユーザー関数、パラメータ、変数、ループ、または複雑なデータ構造などを定義できます。MobileTogetherを使用すると、デバイスの様々な機能(カメラ、マイク、GPS、SMS、手書き入力など)を迅速かつ簡単に制御できます。MobileTogetherは、あなたのアイデアを迅速に実現し、非常に魅力的なモバイルアプリケーションを開発するのに役立ちます。これらのアプリケーションは、話題になり、広く普及する可能性を秘めています。

MobileTogetherは、作業を効率的に行うことを目的としており、その方法を制限するものではありません。それでは、MobileTogetherアプリケーションで使用できるプログラミング手法の例をいくつか見ていきましょう。

MobileTogether Designerは、 クロスプラットフォームのモバイルアプリケーションを開発するための、デスクトップ用ツール. このツールは無料で利用でき、さらに、その仕組みを詳しく理解できるよう、様々なサンプルアプリケーションが付属しています。これらのアプリケーションを分解して、どのように構築されているのかを学ぶことができます。

パッケージ配送アプリにおけるユーザー機能

「荷物配送」のサンプルは、実際の荷物配送アプリを完全にシミュレーションしたものです。ユーザーは、ニュージャージー州の倉庫からニューヨーク市内の目的地まで、GPSの指示に従って荷物を配送する配送会社のドライバーの役割を担います。このアプリをDesignerのシミュレーターウィンドウで実行すると、各目的地への移動をリアルに表現してくれます。ご自身のスマートフォンで「荷物配送」アプリを実行すると、モバイルデバイスに内蔵されたGPS機能が使用されます。ただし、もしニューヨークに実際にいらっしゃらない場合は、アプリが非常に長いルートと、各目的地への到着予定時刻を表示します。ルートの追跡をスキップして、目的地に直接移動したい場合は、アプリ内の「ここにいます」ボタンをクリックしてください。

Parcel Deliveryは、経験豊富な開発者によって作成されており、ユーザー機能に大きく依存しています。例えば、このアプリは、1日の始まりに、ユーザーに対して配達の依頼リストを表示します。配達が進むにつれて、ユーザーはいつでもこのページに戻って、まだ完了していない作業を確認することができます。以下に、Androidスマートフォンで撮影された画像からその様子を示します

このアプリは、単一のページデザインから2つの異なる表示を作成します。表示内容は、ユーザーの操作に基づいて動的に決定されます。以下に、MobileTogether Designerでのページ表示の例を示します

このページには、開発者が2つのユーザー関数を配置しています。それは、PartiallyFinishedDestinations()RemainingDestinations()です。詳細を調べる前に推測すると、PartiallyFinishedDestishments()の前に記述されているIF条件が、真または偽の値を返すものと思われます。つまり、「配送者は何かを配達しましたか?」という質問に対する答えを評価しているのでしょう。そして、RemainingDestinations()はおそらく、まだ配達する必要があるすべての場所のリストであると考えられます。

それでは、このアプリをシミュレーターで実行して、私の考えが正しいかどうか確認してみましょう。以下に、Todoリストのシミュレーターでの最初の表示画面を示します

実行は、「配送開始」ボタンをクリックするまで待機します。 処理を続行する代わりに、「ページソース」の下にあるXPathツールボタンをクリックすることで、アプリの内部構造を詳細に分析できます。 XPathボタンをクリックすると、以下のウィンドウが開きます。ここでは、あらかじめ「User Defined Functions」のリストから「PartiallyFinishedDestinations()」を選択しています

これで、画面上部のツールバーにある緑色の「実行」ボタンまたは「評価」ボタンのどちらかをクリックして、関数を評価することができます

ユーザー関数が false を返しています。これは、ドライバーがまだ何も配達していないことを意味します。同様の手順を RemainingDestinations() 関数に対して行った結果、以下の情報が得られました

ユーザー関数「RemainingDestinations()」の出力は、宛先に関する詳細情報がすべて含まれたデータ構造が格納されたリストです。

MobileTogether Designerには、ユーザー機能に関するメインメニュー項目があります

この場所は、開発者が最初にユーザー関数を定義した場所であり、現在、ユーザー関数を確認したり編集したりするためにアクセスできる場所です。「すべての使用状況一覧...」というメニューを選択すると、メッセージウィンドウにレポートが表示されます。

モバイルアプリケーション開発におけるプログラミング技術:パラメータ付きのサブルーチン

MobileTogetherにおけるアクショングループは、基本的に、アプリケーション内で必要なときに呼び出すことができる一連の操作をまとめたものです。アクションとアクショングループについて、さらに詳しく知るには、詳細はこちらをご覧ください。または、ビデオデモを視聴することもできます。

高水準のプログラミング言語におけるサブルーチンと同様に、場合によっては、実行時にアクショングループにパラメータとして入力値を渡すことが最も効率的な方法です。例えば、世界の大気質指数プロジェクトからWebサービスを問い合わせ、世界中のセンサーからのデータを報告する「Air Quality」というアプリケーションを考えてみましょう。

大気汚染は、森林火災や火山噴火といった自然災害、大規模な産業活動や商業活動、そして個人の日常生活における行為(調理、暖房、運転など)によって悪化します。気象条件は、特定の場所や時間において、汚染物質を集中させたり、拡散させたりする可能性があります。このアプリでは、ユーザーが特定の場所または地域を選択すると、最新の大気質指数(AQI)が表示されます。このアプリは、アマチュアの市民開発者によって作成されました。

World Air Quality Index APIは、様々な場所の種類に対してそれぞれ異なるRESTクエリを使用しており、それぞれのクエリに対して返されるデータセットもわずかに異なります。共通しているのは、各測定値に対応する現地時間が、オフセット付きのGMT時間として返されることです。ユーザーに正しい現地時間を表示するためには、これらの値を適切に処理する必要があります。

日付や時刻の計算を扱う作業は、複雑になることがあります。もしご自身でやったことがない場合は、ぜひ信じていただければと思います。または、こちらの記事をご覧ください データ変換の検証. しかし、これはアクショングループを一度作成し、ワークフローのさまざまな箇所から呼び出すのに最適な用途です。もし、時間とオフセットの値をパラメータとして渡すのであれば、アクショングループは一度作成すれば、どのクエリの応答に対しても、ローカル時間を計算し、フォーマットするための処理をまとめて行うことができます。

以下は、デザイナーの「アクショングループ」ダイアログに表示される「アクショングループ」の定義です

パラメータ定義は、開発者が指定した名前($timeと$adj)を持つものが、一番上に記載されています。オプションのチェックボックスが選択されていないため、アクショングループが呼び出される際には、これらのパラメータは必ず指定する必要があります。

開発者は、この機能グループの中に、予想以上に多くの処理ステップを組み込んでいます。実は、すべてのタイムゾーンが協定世界時(GMT)からちょうど1時間ずれているわけではないのです。例えば、カナダのニューファンドランド州やイランのテヘランでは、協定世界時とプラスまたはマイナス30分ずれているのです。

以下は、別のアクショングループから呼び出される「Calc Local Time」の例です

これは、アプリが地図と情報ページを読み込み、特定の都市のAQI(大気質指数)を表示する前の最終段階です。パラメータは、APIのクエリ結果を参照することで直接渡され、不要な操作は行われません。パラメータは、今回のように個別の値を渡すことも、配列やマップとして渡すことも可能です。パラメータは、アクショングループやサブページ、コントロールテンプレートで使用したり、あるアプリを終了すると自動的に別のアプリを起動したりする際にも利用できます。

この投稿では、MobileTogetherで使用できるモバイル開発の2つのプログラミング手法についてのみ解説します。ぜひ、あなたのスキルとツールを最大限に活用して、最も効率的なアプリケーションを、最短時間で開発してください。詳細については、ビデオデモサンプルアプリケーション、またはオンラインマニュアルをご覧ください。すべての情報を網羅的に確認できます。もしあなたが、独自のクロスプラットフォームモバイルアプリケーションを記録的なスピードで開発したいとお考えなら、MobileTogether Designerをダウンロードしてください。