ホーム‎ > ‎Magic xpa‎ > ‎

Magic xpa 新連載概要


第170回 Magic SQL の驚異的な検索能力

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

2022年4月30日

 今回は、Magic の検索スピードに関する話題です。本連載の第38回(2011年4月)~第40回(2011年6月)で、「SQL Where 句の書き方」と題して Magic SQL に関して少し触れましたが、当時はまだ SQL が今ほど普及しておらず、SQL を使用するメリットについても知る機会が少なかったのですが、あれから11年の歳月が流れ、今や SQL なしの業務アプリは考えられない程まで業界が成長してきました。

 とはいえ、Magic 開発者にとっては SQL コマンドを駆使してプログラムを書くにはまだまだハードルが高いという感があります。そこで今回は、プログラム内に SQL コマンドを全く記述することなく、SQL が持つ検索能力をフルに味わえるようなプログラムの作り方を皆さんとご一緒に学んでまいりたいと思います。SQL コマンドの知識は一切、必要ありません。

 画面1は日本郵便株式会社が公開している全国郵便番号帳データをもとに、SQL 以前の作法で作成した Magic の検索プログラムです。12万3千件の住所レコードの中から、3つの文字列を含むものを検索して抽出するというプログラムです。文字列が部分一致するものを探し出すという検索ですので、先頭一致を目的としたインデックスは使用することができません。つまり、12万3千件のレコードをインデックス無しで全件検索して、該当データを探し出すという動きになります(後略)。

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

第170回(2022年4月30日号)目次

1 12万3千件のレコードで検索テスト
2 3つの複合検索文字列を指定
3 検索結果の表示までに9秒掛かった
4 11年前のスペックでは52秒掛かった
5 Magic SQL を使用した場合の検証
6 検索結果の表示までにわずか1秒
7 いったいどこが違うのか
8 使用している関数はまったく同じ
9 その答えは Magic のヘルプに
10 SQL ゲートウェイの判別は自動
11 Magic のロギングでこれを確認
12 12万3千件のフェッチと8件のフェッチ

第169回 iPhone の UDID とデバイスの追加登録

2022/04/09 1:28 に Masanobu Tanda が投稿   [ 2022/04/09 6:15 に更新しました ]

2022年3月31日

 新しい iPhone を購入したら、マジッシャンならまず何はさておき、最初に行うべきことは Apple 開発者サイトへの UDID の登録です。これを怠ると、iPhone を買い換えた途端に Xcode 上でケーブル接続のビルドができなくなるという事態に陥ります。

 エラーメッセージは「Unable to install(インストールできません)」と出るだけなので、いったい何が原因なのか、判断に窮してしまいます(画面1)。

 実はこの場合のエラーは、単に新品の iPhone が Ad Hoc インストール用にデバイス登録されていないというだけの理由によるものです。このデバイス登録という作業は新しい iPhone に対して最初に1回だけ行う作業であるため、つい見過ごしてしまいがちです(後略)。

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

第169回(2022年3月31日号)目次

1 Unable to install のエラー
2 デバイスの自動登録画面
3 デバイス登録の目的と理念
4 UDID を取得する方法
5 UDID を Xcode から取得する方法
6 UDID を Finder から取得する方法
7 UDID の登録先
8 デバイスの登録
9 デバイス名と UDID の入力
10 登録内容の確認
11 Xcode からのビルド確認

第168回 Settings Bundle の活用法

2022/03/02 2:35 に Masanobu Tanda が投稿   [ 2022/03/02 2:35 に更新しました ]

2022年2月28日

 今回は、Magic に添付されている iOS プロジェクトの中から、カスタマイズ可能なオプションの1つである「Settings Bundle」の使い方について解説します。この機能を利用すると、iPhone 上のアプリアイコン1つで複数のアプリケーションを切り替えて操作できるという便利な機能が導入されます。開発者にとってもエンドユーザにとっても便利な機能ですので、ぜひご活用ください(後略)。

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

第168回(2022年2月28日号)目次

1 2021年10月31日号の app 実行画面
2 アクセス先 URL の手入力
3 Magic アプリケーションの実行
4 App Store 提供の汎用クライアント
5 接続先の項目
6 PROJECT_TARGET の設定画面
7 第164回でロードした iOS プロジェクト
8 iOS フォルダの内容確認
9 Settings bundle の導入
10 物理コピーの確認
11 Settings フォルダの追加確認
12 Root フォルダの内容確認
13 app の上書きインストール
14 app の再実行確認
15 PROJECT_TARGET の設定画面

第167回 macOS の Finder による配布と OTA による配布法

2022/02/02 2:55 に Masanobu Tanda が投稿   [ 2022/02/02 2:56 に更新しました ]

2022年1月31日

 前号では、Xcode の Archive を用いて iOS デバイスへのインストーラである .ipa ファイルを生成するところまでの手順を学びました。今回は、その .ipa ファイルを用いて、カスタマイズされた Magic クライアントを手元の iPhone にインストールするところまでの手順を学びます。

 インストール方法はいくつか用意されていますが、ここでは macOS の Finder によるインストール法と Web サーバを経由した OTA(Over-the-Air)によるインストール法の2通りを学びます。前者は iPhone を USB ケーブルで Mac に接続してインストールする方法であり、後者は Web ブラウザ上から Web サーバのリンクをクリックしてインストールする方法です。

 ちなみに、前者は iOS デバイスの台数が少ない場合に最も手軽なインストール法として利用されており、後者は数多い iOS デバイスに対して、ユーザごとに個別にインストールしてもらう方法として向いています。

 では順を追って解説してまいりましょう(後略)。

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

第167回(2022年1月31日号)目次

1 PROJECT_TARGET.ipa の所在確認
2 iPhone を USB ケーブルで接続
3 デバイスの詳細を表示
4 ファイルのドラッグ&ドロップ
5 app インストールの開始
6 app インストールの完了
7 クライアントアプリの起動
8 開始プログラムの実行
9 iPhone の接続解除
10 OTA による配布
11 3つのファイルの確認
12 Web サーバへの配置
13 manifest.plist の編集
14 install.htm の編集
15 iPhone からのインストール開始
16 インストール用のリンク
17 インストールの開始
18 インストールの完了
19 開始プログラムの実行

第166回 Archive による iOS インストーラの作成

2022/01/05 0:08 に Masanobu Tanda が投稿   [ 2022/01/05 0:13 に更新しました ]

2021年12月31日

 前号では、Magic xpa 付属のインタフェースビルダを用いて、カスタマイズされた Xcode プロジェクトを自動生成するところまでを学びました。今回はその続きとして、自動生成された Xcode プロジェクトをまるごと macOS 側にコピーし、iOS 用 Magic クライアントのビルド作業を行うところまでの手順を学びます。

 まず、前号の最終画面で表示された iOS フォルダを、USB メモリ、あるいはネットワーク共有フォルダ等を通じて macOS 側の任意のフォルダ、ここでは例として「書類¥Magic47¥FruitShop」にコピーします。

 そして、そのフォルダの直下に「¥build¥MagicApp.xcodeproj」ファイル(実態はフォルダ)があることを確認し、これをダブルクリックしてこのプロジェクトを Xcode 上に読み込みます。

 ※Xcode13 があらかじめインストールされている必要があります(後略)。

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

第166回(2021年12月31日号)目次

1 iOS フォルダのコピー
2 Xcode の起動
3 General タブの表示
4 Display Name と Bundle ID の入力
5 プロビジョニングプロファイルの選択
6 アーカイブ用デバイスの選択
7 アーカイブの実行
8 アーカイブ準備のゲージ
9 キーチェーンアクセス用のパスワード
10 アプリの配布
11 アプリ配布方法の選択
12 配布のオプション
13 プロビジョニングプロファイルの選択
14 アーカイブの実行
15 アーカイブの完了
16 アーカイブの保存
17 アーカイブリストを閉じる
18 .ipa ファイルの確認

第165回 インタフェースビルダによるカスタムプロジェクトの生成

2021/11/25 4:30 に Masanobu Tanda が投稿   [ 2021/11/25 4:30 に更新しました ]

2021年11月30日

 前号では、Magic xpa 4.7.1に添付された iOS プロジェクトをデフォルトのままコピーし、それを Xcode のシミュレータ上で実行させる方法、ならびに手持ちの iPhone をケーブル接続して iPhone 実機上でこれを実行させる方法について学びました。

 今回はさらに一歩進んで、Magic xpa にウィザードとして添付されている「インタフェースビルダ」を用いて、この iOS プロジェクトをカスタマイズする手法について学んでいきます。同時に、ウィザードの過程で必要とされるプロビジョニングプロファイルの作成法についても学びます。

 はじめに、プロビジョニングプロファイルの作成からです。プロビジョニングプロファイルとは、Apple 製のデバイス上で動作するアプリに対して署名を行うためにその内容を定義したもので、通常、Apple の Web サイト上にある開発者用のアカウントページでこれを作成します。Magic のインタフェースビルダを用いて iOS プロジェクトを生成する場合は、必ずこのプロファイルの作成が必要となります。

 では手順にそって、このプロビジョニングプロファイルを作成していくことにしましょう(後略)。

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

第165回(2021年11月30日号)目次

1 Apple 社の公式サイトを開く
2 開発者アカウントページの表示
3 App ID の登録
4 Description と BundleID の取り決め
5 プロビジョンニングプロファイルの作成
6 カテゴリーの選択
7 配布証明書の適用
8 インストールデバイスの適用
9 プロファイル名の登録
10 プロビジョンニングプロファイルのダウンロード
11 インタフェースビルダの起動
12 タイトルと発行元名称の定義
13 アクセス先サーバの指定
14 開始プログラムの指定
15 インストール先 OS の指定
16 アプリケーション ID の指定
17 開発名の指定
18 プロビジョンニングプロファイルの選択
19 生成された iOS フォルダの確認
20 Media.xcassets のコピー

第164回 macOS Big Sur+Xcode13+iOS15 の環境でビルドする

2021/11/04 7:02 に Masanobu Tanda が投稿   [ 2021/11/04 7:07 に更新しました ]

2021年10月31日

 「Mac OS X 以来、最大のアップグレード」と謳われた macOS Big Sur のリリースから約1年が経過し、先ごろ9月21日には iOS も最新版の iOS15 がリリースされました。それにともない、Xcode も最新版の Xcode13 がリリースされたわけなのですが、果たしてこれら最新の環境で Magic xpa 4.7.1 添付の iOS プロジェクトが問題なく動作するのであろうかという点が我々マジッシャンの最大の関心事となりました。

 そこで今回は、iOS プロジェクトに関する既存の記事を最新版にアップデートすべく、「macOS Big Sur + Xcode13 + iOS15 の環境でビルドする」と題して、Magic xpa 4.7.1 に添付されたiOSプロジェクトの動作検証を徹底的に行っていきたいと思います。

 あわせて、大幅にリニューアルされた Apple 社のデベロッパーアカウントサイトの操作法の解説もまじえて、プロビジョンニングプロファイルの生成法も再度、確認して参りたいと思います(後略)。

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

第164回(2021年10月31日号)目次

1 iOS プロジェクトの所在
2 macOS 側にコピー
3 Xcode プロジェクトの実行
4 General タブの表示
5 iPhone シミュレータでの実行
6 ビルドの開始
7 シミュレータの表示
8 シミュレータ上での Magic 起動
9 URL 入力の画面
10 シミュレータ上でのアプリアイコン
11 iPad タブレット上での表示
12 iPhone 実機での動作確認
13 最初はビルドエラー
14 エラー内容の確認
15 自動署名の設定
16 iPhone 実機へのインストール
17 通知の許可
18 URL 入力画面の確認
19 アプリアイコンの確認
20 iPhone 実機のデバイス登録

第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 機内モードでの動作検証

1-10 of 170