ホーム‎ > ‎Magic xpa‎ > ‎

Magic xpa 新連載概要


第163回 メニューの「Android で実行」を Magic xpa 4.7.1 で試す

2021/10/03 22:35 に Masanobu Tanda が投稿   [ 2021/10/03 22:58 に更新しました ]

2021年9月30日

 Magic xpa 開発版のプルダウンメニューにある、「デバッグ」→「Android で実行」の使い方は本連載の2017年10月31日号と同11月30日号ですでに解説しましたが、あれから4年の歳月が経過した現在、Windows も大きく変わり、Magic xpa のバージョンも4.7.1となりました。

 そこで今回は、Winodows 10 + Magic xpa 4.7.1 の環境で、「Android で実行」の機能を試すための手順を、最新の環境をもとに解説していきたいと思います。

 「Android で実行」の操作が可能になると、Android 実機での動作検証を行うために毎回、Magic のプロジェクトを実行するという手間が省けるようになり、Windows マシンに USB 接続された Android 上で、プログラムリポジトリから直接、F7 キーによる実行が可能となりますので非常に便利です。

 また、Magic のモバイル RIA においては、個々のタスクは Android 用も iOS 用も共通なので、Android で動作検証の済んだプログラムはそのままで iOS 上でも動作するということが確認できますので、iOS RIA の開発においてもこの機能の活用は有益です。

 ではさっそく、「Android で実行」の最新の利用法について学んでいきたいと思います。使用するサンプルプログラムは前号(2021年8月30日号)で作成した APG プログラムの商品一覧(Products)です。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第163回(2021年9月30日号)目次

1 通常の F7 実行の場合
2 Android で実行を有効にした場合
3 デバッグ用クライアントのコピー
4 Android 側のセキュリティ設定
5 デバッグ用クライアントのインストール
6 開発者向けオプションの設定
7 USB デバッグの設定
8 USB ケーブルでの接続
9 デバイス ID の識別
10 IP アドレスの確認
11 リクエスタ IP アドレスの登録
12 メニューから Android で実行
13 プログラムリポジトリから F7 で実行
14 Android 機上での実行確認
15 「Android で実行」の解除
16 USB デバッグの解除
17 開発者向けオプションの解除


第162回 Magic xpa 4.7.1 体験版で試す iOS RIA の初歩

2021/09/02 1:34 に Masanobu Tanda が投稿   [ 2021/10/03 22:58 に更新しました ]

2021年8月31日

 iOS RIA はハードルが高い、事前の環境設定が大変だということで二の足を踏んでおられる方が多いようです。今回はそうした方を対象に、「Magic xpa 4.7.1 体験版」+「iPhone 実機」だけですべての環境構築を行い、iOS RIA の動作検証を行えるところまでを解説します。

 環境構築にあたってはクラウドも必要ありませんし、Windows Server も macOS も、さらには Magic xpa RIA サーバも不要です。ごく普通に、Windows 10上で動作している Magic xpa 開発版(体験版可)と iPhone 実機1台さえあれば環境構築が可能です。では、それを読者の皆さんとともに検証していくことにしましょう。

 画面1は、Magic xpa 4.7.1 開発版の体験版を用い、リッチクライアントタスクを1本だけ登録したときの画面です。ほとんど APG だけで作成したものです。

 そして、このプロジェクトを実行し、手元の iPhone からこのプログラムを実行させると、次のような画面で実行されるのが分かります(画面2)。

 ちなみに、iPhone 上にキーボードを表示させたときの画面は次のようになります(画面3)。

 たったこれだけです。この環境を構築するだけで、御社でも iOS RIA 対応のアプリケーション開発が可能となるのです。いますぐにでも始めてみない手はありません。

 では早速、その環境構築と動作検証の仕方に取り掛かることにいたしましょう。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第162回(2021年8月31日号)目次

1 Magic 体験版によるリッチクライアントタスク
2 リッチクライアントタスクを iPhone で実行
3 iPhone 上にキーボードを表示
4 一連の動作検証のおおまかな手順
5 IIS の有効化
6 IIS のデフォルトページの表示
7 Magic インストール時のポイント
8 3つのエイリアスの確認
9 Scripts フォルダの物理フォルダ
10 新規プロジェクトの作成
11 商品データソースの登録
12 公開名の登録と外部アクセスの許可
13 IP アドレスの確認
14 DevProps.txt の配置
15 FruitShop.txt の編集
16 Magic 実行モードの設定
17 プロジェクトの実行
18 汎用クライアントアプリのインストール
19 サーバ URL の登録
20 リッチクライアントタスクの実行
21 ホーム画面のアイコンの確認
22 プロジェクトの終了

第161回 RIA タスクのタスク特性にあるオフライン機能とは

2021/08/03 3:37 に Masanobu Tanda が投稿   [ 2021/08/03 3:38 に更新しました ]

2021年7月31日

 画面1は、弊社製品の「Magic バーコード読み取りライブラリ for iOS」を使用して、百均のダイソーのレシートにあるバーコードを読み取ろうとしているときの画面です。iPhone のカメラの中心部をバーコードに近づけると、一瞬にしてバーコードを読み取ってしまうので、ここではわざと中心部をずらして表示しています。

 弊社製のこのライブラリは、Magic のリッチクライアントタスクに組み込んで、iPhone のカメラを用いて使用する構成になっているのですが、現実的にはバーコード読み取りの現場というのは、往々にしてインターネット回線の電波が微弱であったり、あるいはインターネット接続が全くなかったりするようなことがあります。

 そこで今回は、インターネット接続の無いような環境でも Magic の RIA アプリケーションを正常に動作させることができるようにする、Magic の「オフライン」機能について解説していきます。なお、この Magic のオフライン機能を使用すると、不慮の災害で Magic のアプリケーションサーバがダウンしているような状況であっても、アプリケーションを引き続き正常に動作させることが可能となります。

 では早速、順を追ってその設定法を見ていくことにしましょう。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第161回(2021年7月31日号)目次

1 プログラムリポジトリのオフライン設定
2 タスク特性のオフライン設定
3 オンラインによる実行検証
4 バーコードの読み取り完了
5 インターネット接続無しの場合のエラー
6 バーコード読み取りプログラムの構成
7 オフライン欄を ON にする
8 Magic アプリケーションの実行
9 iPhone アプリの実行
10 Magic アプリケーションを一時停止
11 iPhone アプリの再実行
12 クライアントアプリ起動の確認
13 高速起動パラメータの設定
14 クライアントアプリの再実行
15 iPhone アプリ正常起動の確認
16 iPhone 機内モードでの動作検証

第160回 Windows RIA とモバイル RIA 混在のポイント

2021/06/30 23:10 に Masanobu Tanda が投稿   [ 2021/06/30 23:12 に更新しました ]

2021年6月30日

 Magic xpa で RIA アプリを作成しようとした場合、昨今はほとんどのケースで Windows、iOS、Android 混在型のアプリケーションになることが想定されます。

 そしてこのような場合、最もやっかいな作業になりがちなのがプログラム実行画面のサイズの仕分けや、OS ごとに分類される可能性のあるプログラムメニューの分岐となります。

 ここではその例として、弊社のデモアプリとして稼働している「丹田寿司」を例にとり、モバイル側の初期画面と Windows 側の初期画面を、同一のアプリケーション上でクライアントの OS を自動的に判定しながらメニューを分岐させる方法について解説していきたいと思います。

 丹田寿司では、iPhone や Android 側で寿司の注文を行い、寿司店の厨房側ではその注文を受けて寿司をにぎり、レーンに流すという作業を行うものとします。これら両者のプログラムを1つのアプリケーション上で一元管理します。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第160回(2021年6月30日号)目次

1 iPhone 側の初期画面と Windows 側の初期画面
2 メニュー分岐の設計
3 iPhone 側の実行フォーム
4 Windows 側の実行フォーム
5 タスクタイプの設定
6 トランザクションの設定
7 メニュー分岐プログラムの構造
8 ダミー変数の定義
9 クライアント OS の判定ロジック
10 非インタラクティブタスクのフォーム
11 インタフェースビルダの実行
12 発行元の名前の設定
13 サーバ名の設定
14 開始プログラムの指定
15 インストーラの種類の選択
16 インストーラの配置先
17 インストーラへの URL
18 バックグラウンドモードでの実行
19 モバイル側起動用 txt ファイルの用意
20 Windows 用インストーラの実行
21 Windows 側プログラムの実行
22 Windows スタートメニューの確認
23 iPhone 側の接続先の設定
24 寿司の注文のテスト
25 厨房側のご注文リストでの確認
26 トッププログラムのトランザクションの設定

第159回 データベース接続のタイミングの重要性について

2021/06/02 0:53 に Masanobu Tanda が投稿   [ 2021/06/02 0:55 に更新しました ]

2021年5月31日

 Magic では、データベースへの接続手順はほとんど自動で行われるため、開発者は該当するデータベースへのゲートウェイの選択と接続のためのパスを指定するだけで済むのですが、このときに見落としがちなポイントが1点あります。今回はこの件について解説していきたいと思います。

 この重要なポイントを見落とすと、登録したはずのレコードがデータベースに反映されていないとか、あるいは指定したデータベースとは別の、意図しない場所のデータベースに保存されてしまったりとかの状況に遭遇します。

 今回はそれが何故起こるのか、そしてそれをどう解消していけばよいのかについて解説します。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第159回(2021年5月31日号)目次

1 開発用フォルダと実行用フォルダの準備
2 データベーステーブルの確認
3 サンプルプロジェクトの用意
4 サンプルテーブルの作成
5 APG プログラムの作成
6 ダミーレコードの登録
7 データベースファイル生成の確認
8 プロジェクトフォルダのコピー
9 別プロジェクトのオープン
10 初期データベースの確認
11 ダミーレコードの追加
12 ダミーレコードの確認
13 元データベースの確認
14 ダミーデータが勝手に増えている!
15 データベースファイルの確認
16 開発プロジェクトの再起動
17 ダミーデータが再び消えた!
18 怪奇現象の謎解き

第158回 データベースレコードの変換出力と持ち運び

2021/05/05 2:26 に Masanobu Tanda が投稿   [ 2021/05/05 2:28 に更新しました ]

2021年4月30日

 今回は、データベーステーブルのデータを外部に持ち運ぶ手法について解説します。アプリケーションを開発する過程においては、開発者の環境とアプリケーション利用者の環境との間で往々にしてデータを持ち運ぶ必要性にかられます。

 これまではそれを実行するために、データをテキストファイルに出力して持ち運んだり、あるいはデータベーステーブルのデタッチ・アタッチや、バックアップ・リストア等の手間のかかる外部作業を行ったりしてこれを実現してきました。

 しかしながら、Magic xpa に SQLite エンジンが標準で添付されるようになってからは、外部のユーティリティをまったく利用しなくても、容易にデータを変換しながら持ち運ぶことができるようになりました。Magic に同梱された SQLite ゲートウェイは、自己完結の精密さでこれを行いますので、安心してデータを移行したりすることができます。

 また、SQLite は名前が「Lite」であるとは言えど、1ファイル最大140TB(テラバイト)までのデータベースを管理することが可能なスペックとなっており、なおかつ他の大型 DB のように1データベースに複数のテーブルをまとめて保管することも可能ですので、アーカイブ目的としての利用も可能です。

 それでは具体的にその活用法について学んでいくことにしましょう。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第158回(2021年4月30日号)目次

1 SQLServer のデータソース
2 APG による確認
3 Management Studio による確認
4 SQLite データベースの作成
5 データベース特性のオプション
6 データベースの変更
7 F8 キーによる構文チェック
8 バックアップの確認
9 インデックスのスキャン
10 バックグラウンドでの変換
11 APG による SQLite データの確認
12 Management Studio 側での確認
13 バックアップテーブルの確認
14 SQLite ファイルの所在
15 SQLite ファイルのコピー
16 移動先のデータベース定義
17 データベース特性のオプション
18 データベースの変更
19 APG による内容の確認
20 データベースの再変換
21 F8 キーによる構文チェック
22 バックアップの設定
23 インデックスのスキャン
24 バックグラウンドでの自動変換
25 APG による変換後のデータの確認
26 Management Studio による内容確認

第157回 画面再表示とビュー再表示の違い

2021/04/01 22:57 に Masanobu Tanda が投稿   [ 2021/05/05 2:29 に更新しました ]

2021年3月31日

 今回の記事のタイトルは「画面再表示とビュー再表示の違い」となっていますが、使用するサンプルプログラムは前号の「サブタスクの編集内容が親タスクに反映されないのは何故」からの続きとなります。

 前号では、親タスクに戻ったときに、子タスクで行った編集内容を反映させるために「画面再表示」という内部イベントを使用して画面を更新していました。

 実は前号でも少し触れましたが、このときに使用する内部イベントは「画面再表示」以外に、「ビュー再表示」というイベントを使用することも可能です。

 そこで今回は、なぜこのように似たイベントが2種類用意されているのか、そしてそれらをどのように使い分けたらよいのかについて解説していきたいと思います。

 むやみに「ビュー再表示」ばかり使うのではなく、それぞれのメリット、デメリットを把握したうえで、用途に応じて使い分けていただければと思います。

 なお、Maigic のタスク特性には、さらに「ウィンドウ再表示」というオプションも用意されていますので、これとの違いも改めて確認していきます。

 繰り返しになりますが、これらの設定はクラサバ以外に、RIA、WebClient でも共通の概念となりますので、基本をしっかり押さえながら、プログラムを作成してまいりたいと思います。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第157回(2021年3月31日号)目次

1 データ再表示イベント
2 前号のプログラムの改編
3 改編プログラムの実行
4 画面再表示ボタンを押す
5 新規レコードの追加
6 画面再表示ボタンを押す
7 ビュー再表示ボタンを押す
8 画面再表示とビュー再表示の違い
9 ビュー再表示のデメリット
10 既存レコードの削除時の動作
11 画面再表示ボタンの動作
12 エラーメッセージの確認
13 ビュー再表示ボタンの動作
14 ウィンドウ再表示との違い


第156回 子タスクの編集内容が親タスクに反映されないのは何故

2021/03/02 2:46 に Masanobu Tanda が投稿   [ 2021/03/02 2:50 に更新しました ]

2021年2月28日

 今回の記事は、クラサバ、RIA、WebClient の各タスク共通のテーマで、トランザクションが関連した内容です。

 2階層構造の親子タスクを作り、親タスク、子タスクともに同じテーブルを使用するものとします。

 親タスクでデータの一覧を表示し、特定のレコードを編集したりするような場合に、子タスクをズームしてこれを行うというパターンがよくあります。ところがこのときに、子タスクで編集した内容を親タスクに戻って確認すると、子タスクで変更したはずのデータが親タスクのデータに反映されていないというケースがよく見受けられます。

 これには理論的な理由があるのですが、今回はこれをシングルユーザ環境で行った場合とマルチユーザ環境で行った場合の注意点を合わせて解説していきたいと思います。ここでは両者のいずれの場合も、Magic の「トランザクションキャッシュ」の動きが関係しています。

 理由がよく分からずに、安直に「レコード書込」イベントを発行して、修正した内容を強制的に保存してしまうという手法は得策ではありませんので、これを機会にその動作をご一緒に検証してまいりたいと思います。

 ここで使用するサンプルプログラムはクラサバのオンラインタスクですが、上でも述べましたように、このプログラムは RIA、あるいは WebClient のタスクに変換して動作させた場合でも、まったく同じように動作します。この一貫性が Magic の最大の武器のひとつであるとも言えます。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第156回(2021年2月28日号)目次

1 親タスクのサンプル実行画面
2 子タスクのサンプル実行画面
3 子タスクでデータを修正
4 変更データが反映されない!
5 プログラムの再起動で反映!
6 Magic のトランザクションキャッシュ
7 親タスクのロジック
8 編集ボタンのイベント
9 フォーム上の編集ボタンのイベント
10 子タスクのロジック
11 フォーム上の終了ボタンのイベント
12 子タスクのトランザクションの設定
13 プログラムの再実行
14 親タスクのトランザクションキャッシュ
15 キャッシュをリロードするイベント
16 イベント発行のタイミング
17 プログラムの再実行
18 マルチユーザ環境における問題点
19 親子のトランザクションの再確認
20 子タスクのトランザクションの見直し

第155回 Magic xpa 4.6.1 + Xcode 11で iOS プロジェクトをビルドする(2)

2021/02/03 0:45 に Masanobu Tanda が投稿   [ 2021/02/03 0:45 に更新しました ]

2021年1月31日

 前号(2020年12月31日号)からの続きです。前号では、Xcode11 から iPhone iOS13 実機へ直接、ビルドして配布する方法について学びました。

 今回は、もう一つのアプリ配布方法であるインストーラ(ipa ファイル)経由のインストールについて解説してまいります。

 この方法では iPhone に対して直接、ビルド配布するのではなく、別途、配布用のインストールファイルを作成し、Apple から提供されている「Apple Configurator 2」という環境設定ツールを用いてインストールを行います。

 従って、Xcode11 のインストールに併せて、あらかじめ「Apple Configurator 2」のインストールも行っておく必要があります。これらは Mac App Store からダウンロードが可能です。

 なお例により、本記事の内容を実行するには、あらかじめ Apple Developer Program への登録と、開発用証明書の取得、およびアカウントへの実行デバイス(ご自分の iPhone)の登録が必要となります。これらの手続きがまだお済みでない方は、下記の Apple 社のページを参照して手続きを完了させておいてください。

Apple Developer Program

 ※これらの登録手順の詳細は、マジックソフトウェア社主催の「Magic xpa iOS 導入トレーニングコース(1日間)」でも解説しています。必要に応じてトレーニングにご参加ください。

マジックソフトウェア社・トレーニング

 では早速、その手順について解説してまいりたいと思います。この手順を習得すれば、インターネット経由での OTA 配布(Over-The-Air )や、Apple Developer Enterprise Program 上での配布も容易となります。

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第155回(2021年1月31日号)目次

1 デバイス指定の変更
2 Archive の実行
3 今回もビルドエラーが!
4 エラーの詳細
5 署名の変更
6 Archive の再実行
7 あいかわらずエラーが!
8 プロビジョニングのコンフリクト
9 コンフリクトの回避
10 Archive の再々実行
11 Archive ダイアログ
12 アプリ配布ウイザードの開始
13 配布形態の選択
14 署名方式の指定
15 ビルド作業の開始
16 インストーラの出力先
17 Archive ダイアログの終了
18 インストーラの所在確認
19 前号のアプリの削除
20 環境設定ツールの起動
21 インストール開始
22 インストール中の画面
23 インストールの完了
24 アプリの実行
25 Xcode 11 の終了

第154回 Magic xpa 4.6.1 + Xcode 11で iOS プロジェクトをビルドする

2021/01/05 0:05 に Masanobu Tanda が投稿   [ 2021/02/03 0:44 に更新しました ]

2020年12月31日

 Magic xpa 4.6から xpa 4.6.1へのバージョンアップは、Magic 本体にとってはマイナーバージョンアップのレベルでしたが、そこに添付された iOS プロジェクトに関しては、それまでの Xcode 10までの対応から Xcode 11への対応が正式に実現された大きな節目となりました。

 Xcode 11では、Apple 社による仕様変更により、モーダルウィンドウのデフォルト表示が従来のフルクリーン表示からモーダルビューの本来の表示形式であるカード型に変更されていたり、あるいは iPhone X から取り入れられたノッチデザインの影響などにより、画面表示周りにいくつかの仕様変更がなされています。

 したがって、Magic 4.6以前に同梱された iOS プロジェクトを Xcode 11でそのままビルドすると、フルスクリーンで表示されるべきウィンドウがモーダルビューとなり、それをフリックすることでアプリがフリーズしてしまったり、あるいは iPhone を横置きにするとテーブルコントロールのタイトル行が隠れてしまったりする等の不具合が生じていました

 これらの問題が、今回の xpa 4.6.1へのバージョンアップで正式に解消されたことになります。

 併せて、Xcode 11ではアプリアイコン名の登録方法や、アプリへの署名手順もこれまでの作法とは一部異なる点も生じてきましたので、今回の解説ではこれらも含めて順を追って解説してまいりたいと思います。

 また、本記事では USB ケーブル直結によるビルドと、インストーラ(ipa ファイル)経由のインストールの両方を解説してまいります。従いまして、Xcode 11のインストールに併せて、あらかじめ「Apple Configurator 2」のインストールも行っておいてください。これらはすべて Mac App Store からダウンロードが可能です。

 なお例により、本記事の内容を実行するには、あらかじめ Apple Developer Program への登録と、開発用証明書の取得、およびアカウントへの実行デバイス(ご自分の iPhone)の登録が必要となります。これらの手続きがまだお済みでない方は、下記の Apple 社のページを参照して手続きを完了させておいてください。 

Apple Developer Program

 ※これらの登録手順の詳細は、マジックソフトウェア社主催の「Magic xpa iOS 導入トレーニングコース(1日間)」でも解説しています。必要に応じてトレーニングにご参加ください。

マジックソフトウェア社・トレーニング

(以降、本編に続きます。本編ご購読のお申込みはこちらです)

第154回(2020年12月31日号)目次

1 事前に必要となる準備事項
2 Magic に添付された iOS プロジェクトのコピー
3 xcodeproj から Xcode 11を起動
4 Xcode 11起動時の画面
5 MagicApp の General タブの表示
6 iPhone 実機でいきなり実行を試す
7 デバイスを選択してプロジェクトを実行
8 ビルド失敗の内容
9 ビルドエラーの詳細
10 自動署名への切り替え
11 自動署名への切り替えの確認
12 開発チーム(開発者)の選択
13 プロジェクトの再実行
14 通知の送信を許可
15 RIA アプリの稼働先を指定
16 RIA アプリの起動
17 アプリアイコンの確認
18 アプリアイコン名の変更
19 プロジェクトの上書き再実行
20 変更後のアプリ名の確認

1-10 of 163