---
title: "ローコードアプリケーションの維持管理"
date: "2021-09-24"
categories: 
  - "app-development"
  - "mobile-development"
  - "mobiletogether"
  - "tools"
tags: 
  - "mobile-app-debugging"
  - "mobile-development-tools"
  - "mobiletogether-designer"
description: ローコードアプリケーション開発において重要な点は、要件が変化するにつれて、長期間にわたって容易にメンテナンスできることです。
---
Status: #blog

Tags:  #mobile-app-debugging #mobile-development-tools #mobiletogether-designer

Categories:  [mobile-development](/blog/ja/category/mobile-development.md) | [low-code+no-code](/blog/ja/category/low-codeno-code.md)
# ローコードアプリケーションの維持管理

ローコードソフトウェアツールは、開発者が定型的なコーディング作業から解放され、より高度なアプリケーション要件に集中できるようになるため、モバイルアプリケーションの開発を加速させることができます。しかし、一部の開発者、プロジェクトマネージャー、さらには企業全体が、ローコードツールに対して警戒心を抱いているのも事実です。これらの関係者は、ローコードアプリケーションのテストや保守が、時間とともにさらに困難でコストがかかるようになるのではないかと懸念しています。

しかし、ローコードツールやRMAD（Rapid Mobile App Development：モバイルアプリを迅速に開発する手法）ツールは、すべてが同じではありません。単にコード生成ツールへのユーザーインターフェースであり、テンプレートのセットからアプリを構築するローコードツールは、経験の浅い開発者にとって魅力的かもしれません。しかし、問題が発生した場合、高度なスキルを持つプログラマーが、各モバイルOS向けに生成されたコードを診断し、修正して解決策を構築する必要が生じる可能性があります。

MobileTogetherは、 [クロスプラットフォームに対応した、従来のRMADツールとは異なる仕組みを持つツール](https://www.altova.com/ja/mobiletogether). MobileTogetherは、ドラッグ＆ドロップによるUIデザイン、イベント処理のための強力なアクションツリーのビジュアル言語、そしてデータ選択と処理のための標準化された関数型プログラミングを組み合わせたツールです。MobileTogetherには、アプリのロジックを即座にテストするためのシミュレーターウィンドウが内蔵されており、iOS、Android、Windowsなど、様々なデバイスでUIがどのように表示されるかを確認したり、実行中のワークフローデータの変化を調べたりすることができます。さらに、MobileTogetherには高度な自動テスト機能と、デバッグ機能を内蔵しています [アプリケーションのテストとデバッグを行います](https://www.altova.com/blog/mobile-app-debugging/) そして、デザイン環境内でアプリケーションの動作を正確に分析し、詳細に検証することができます。

モバイルアプリケーションの運用保守における実際の要件が、MobileTogetherによってどのように簡素化されるかを見ていきましょう。

![](/blog/images/MT-debugger-lead.jpg)

<!--more-->

当初、当社は「Where Am I」という位置情報アプリを開発しました。このアプリは、モバイルOSの機能を補完し、5つの異なるAPIサービスからリアルタイムのデータを提供します。以下は、MobileTogetherシミュレーターで確認できる、このアプリの主要な画面です

[![ローコードアプリケーションの維持管理：オリジナルのアプリケーションの状態を把握する。](/blog/images/i-am-here-original.png)](i-am-here-original.png)

各画像は、詳細情報を得るためのツールボタンです。航空写真の保存、現在地の情報を記載したテキストメッセージの送信、地図上での場所の表示、交通状況の確認、近くのランドマークの検索、天気予報の取得、今後のイベント一覧の表示、または近隣のサービスの検索などが可能です。

このアプリはアップデートが必要です。イベント情報を提供するAPIは、提供元によってサービスが終了しており、また、航空写真を提供するAPIは、現在、無料で利用できるAPIキーを提供していません。また、当初の開発以降のモバイルデバイスのOSアップデートについても考慮する必要があります。特にAndroidデバイスについては注意が必要です。

**ローコードアプリケーションを、当初の開発環境で維持すること**

問題のあるAPIに関連するすべての機能を削除することで、よりシンプルでありながら、機能性、効果、そして洗練さを兼ね備えたモバイルアプリを実現できます。これらの変更は、アプリが最初に作成されたMobileTogether Designer上で行うことができます。そして、一度変更を適用すれば、すべてのOSバージョンに対応したアプリに更新することができます。

上記のMobileTogetherシミュレーターの画像に表示されているカレンダーアイコンボタンは、非推奨のイベントAPIを呼び出しています。ユーザー機能を取り除くために、画像を単純に削除することもできますが、その場合、アプリ内に機能しない要素が残ってしまう可能性があります。MobileTogetherには、不要になったデータ構造、アクショングループ、その他の機能を簡単に特定し、削除できる機能が備わっています。

以下は、MobileTogether Designerにおける主要な作業用アプリケーションページの抜粋です

[![MobileTogetherデザイナーにおける、元のイベントを表示するためのボタンの画面表示。](/blog/images/events-button.png)](events-button.png)

カレンダー画像の選択を行うと、ポップアップメッセージが表示され、ユーザーが画像をクリックした際に実行される操作がまとめられます。 画像を削除すると、イベント一覧機能が削除されますが、直接的な操作は削除されますが、サブページ、アクショングループ、データソースは削除されません。

**不要なサブページを編集または削除します**

MobileTogether Pagesのヘルパーウィンドウには、アプリ内のすべての主要ページ、サブページ、およびコントロールテンプレートが一覧表示されます。

[![イベントボタンが呼び出すサブページを特定する](/blog/images/pages-window-2.png)](pages-window-2.png)

「イベント」ボタン（カレンダーのアイコン）は、今日の日付のイベントを表示するサブページを開く唯一の操作です。このボタンを削除すると、同時にサブページも削除されます。しかし、まずはサブページのコンテンツを確認しましょう。

**ページソースのデータツリーを更新します**

MobileTogether Designerでサブページを開くと、「ページソース」のヘルプウィンドウに、サブページに関連するデータツリーが表示されます。このデータツリーには、イベントAPIから返されるデータが格納されています。

[![このサブページで使用されているデータソース。](/blog/images/events-page-source.png)](events-page-source.png)

右クリックメニューのオプションには、APIを実行している主要な作業ページが、このデータ構造を使用している唯一のページであることを確認する機能があります。

[![イベントデータ構造のすべての利用箇所の一覧。](/blog/images/events-usage.png)](events-usage.png)

このデータソースはもう不要になりました。アプリから削除することができます。

**未使用の関数とアクショングループを削除します**

イベント関連のサブページとカレンダーアイコンをメインの作業画面から削除した後、プロジェクトメニューには、孤立したユーザー関数やアクショングループを特定するためのオプションが表示されます

[![ローコードアプリケーションの保守を容易にするために、ユーザーが定義した関数やアクショングループの使用箇所をすべてリスト化します。](/blog/images/project-menu.png)](project-menu.png)

[![ローコードアプリケーションを維持しながら、未使用の関数を特定する](/blog/images/function-usage.png)](function-usage.png)

使用されていない機能やアクショングループは、削除することができます。

航空写真機能の利用には有料のAPI登録が必要ですが、この機能を削除する手順も同様です。

**OSの変更に対応するためのローコードアプリケーションの維持管理**

「Where Am I」アプリの初期バージョンでは、AndroidとiOSデバイスで異なるナビゲーション機能が提供されていました。Android版では、組み込みの戻るボタンを使用して、サブページを閉じ、メイン画面に戻っていました。しかし、Androidの戻るボタンには問題があり、すべてのデバイスで動作が一致するわけではなく、最近のAndroidバージョンでは、戻るボタンが直感的に理解しにくいジェスチャーに置き換えられている場合があります。

iOS版では、画面上部のタイトルバーに、ナビゲーション用の「戻る」ボタンが表示されます

[![アプリ内の操作を行うための、元の「戻る」ボタンの表示。](/blog/images/back-button.png)](back-button.png)

「戻る」ボタンは、表示/非表示を制御するプロパティによって定義されており、このプロパティの設定により、ボタンがiOSデバイスでのみ表示されるように設定されています。

[![既存のコントロールのプロパティを確認することで、ローコードアプリケーションの保守を維持します。](/blog/images/visibility-property.png)](visibility-property.png)

iOSに依存する記述を削除することで、すべてのデバイスで同じ戻るボタンが機能するようにすることができます。

最後に、アプリのインターフェースを改善するために、大きなツールアイコンのサイズを調整し、コピー＆ペースト機能を使って画面上の配置を再調整しました。以下に、最終版のアプリをiPhoneとAndroidフォンで表示した画面の画像を示します

[![ローコードアプリケーションの維持管理：アップデートの検証には、新しいバージョンをモバイルデバイスで実行してください。](/blog/images/final-apps.png)](final-apps.png)

MobileTogetherを使えば、ローコードアプリケーションの運用をどれほど効率的に行えるか、ぜひご自身で体験してみてください。MobileTogetherの詳細はこちらをご覧ください [ビデオデモンストレーション](https://www.altova.com/ja/mobiletogether/demos#video_Demos), もっと [サンプルアプリケーション](https://www.altova.com/ja/mobiletogether/demos), または、～に穴をあける [オンラインマニュアル](https://www.altova.com/manual/MobileTogether/mobiletogetherdesigner/) 詳細情報をお知らせいただき、ありがとうございます。クロスプラットフォーム対応のモバイルアプリ開発プロジェクトを開始する準備が整ったら、ぜひご連絡ください [MobileTogether Designerをダウンロードしてください](https://www.altova.com/ja/mobiletogether/download) 始めるにあたって。この記事でご紹介する「Where Am I」というアプリは、以下の機能を持っています [GitHubで公開されています](https://github.com/altova/MobileTogether-more-examples/tree/master/Where%20Am%20I).
