アプリの開発


アプリのコンポーネント

Originアプリに必要最小限のコンポーネントは次のとおりです。

  • アプリと同じ名前のファイルシステムフォルダ(アプリフォルダ)
  • 前述のフォルダにあるAppアイコン用32 X 32ピクセルのPNGファイルと16 X 16ピクセルのBMPファイル


加えて...

  • 通常、アプリはLabTalkスクリプトファイル(*.OGS)、Origin Cファイル(*.C、*.CPP、*.H、*.OCZ)、Xファンクション(*.OXF)あるいはPythonファイル(*.PY)のいずれか1つ以上のコードファイルを含みます。 アプリの複雑さによっては、複数のファイルが存在することもあります。
  • アプリのフォルダには、OPJやOGW、OGGや様々なOriginテンプレートファイルといったコードファイル以外のものを含めることができます。また、アプリにはヘルプファイル、PDF、サンプルデータ、「Read Me」テキストファイル、あるいは他の種類のファイルも含めることができます。

アプリ開発の間とインストール後は、アプリのフォルダは、ファイルシステム内の"%LocalAppData%\OriginLab\Apps」フォルダに置きます("%LocalAppData%"は、現Windowsユーザの隠しフォルダ"AppData\Local"を意味します)。後述しますが、アプリのフォルダはWindowsファイルエクスプローラまたは、Originのコードビルダから直接アクセスできます。

アプリを作成する過程では、最終的にアプリのフォルダにある全てのファイルが一つのOriginのパッケージファイル(OPX)としてパッケージ化されます。このファイルをドラッグ&ドロップするとアプリをインストールできます。

アプリ作成のプロセス

アプリ作成のプロセスは特別難しくはなく、いくつかの重要なステップに分割できます。

  1. アプリ名を決定
  2. アプリアイコンを作成
  3. アプリのフォルダを作成
  4. アプリフォルダにアプリアイコンを追加
  5. ソースコードファイルを追加
  6. 最初のアプリのパッケージ化とインストール
  7. アプリ開発を継続
  8. アプリの仕上げと配布

準備

アプリは、Windowsファイルシステムのデフォルトでは非表示になっているフォルダ内に作成されます。そのため。開発を始める前に、Windowsファイルエクスプローラで隠しファイルを表示するように設定して、アプリフォルダが見えるようにします。

アプリ名を決定

アプリ作成の最初のステップは名前を付けることfです。アプリ名は、Windowsフォルダの命名で使用できる文字を含めることができますが、ASCII英数字とスペースまたはハイフンに制限して命名するのが最も安全です。既存のアプリや将来公開される可能性のあるアプリとの競合を避けるために、できるだけ一意のアプリ名を付けることも非常に良い方法です。たとえば、「Calculate Tangent」または「Fit Curve」というアプリ名は一般的すぎます。一意の名前を付けるための1つの案として、アプリ名に接頭辞をつける方法があります。会社名や、「ABC Calculate Tangent」や「CD Fit Curve」などのイニシャルを使用するのも良いでしょう。

アプリアイコンを作成

すべてのアプリには、実行するためのアイコンが必要です。そのため、次のステップは、開発を始める前にアイコンを作成することです。アイコン画像は、同じファイル名の新しい画像に置き換えるだけで、いつでも変更可能です。

アプリのアイコンは32x32pxのPNGファイルでなければなりません。ファイルは任意の色深度あるいは透明度で保存できます。ファイル名に決まりはありませんが、あとでOriginのパッケージファイル(OPX)を生成するときのアイコンのデフォルト名が「AppIcon.png」なので、この名前にすると簡単です。この段階では、PNGファイルはデスクトップなどの任意の場所に保存しておけます。

また、アプリアイコンの16x16pxビットマップ画像も作成する必要があります。これは、16色ビットマップファイルで透明度は設定できません。PNGファイルの場合と同様、「AppIcon.bmp」と名前を付け、PNGファイルと同じ場所に保存すると良いでしょう。

Note: アイコン画像はOrigin内では作成できません。他の画像編集アプリケーションを使用して作成してください。

アプリのフォルダを作成

次のステップでは、アプリのためのフォルダを作成します。Originのメインメニューの表示からコードビルダーを選択します。コードビルダ環境が開きます。コードビルダーの左側には、クリックして開くことができるワークスペースというタブがあります。ワークスペースウィンドウ内のフォルダの一つにAppsがあります。このフォルダで、開発中のアプリ用のフォルダを作成し、関連ファイルを管理します。

新しくアプリのフォルダを作成するには、Apps上で右クリックして新規作成を選択します。そして下図のようにしてフォルダの名称をアプリ名にします。これにより、"%LocalAppData%\OriginLab\Apps"の下のファイルシステムに実際のフォルダが作成されます("%LocalAppData%"は現Windowsユーザの隠しフォルダ"AppData\Local"です)。

CreateAppFolder.png

アプリフォルダにアプリアイコンを追加

ここで、作成したアプリのフォルダにPNGとBMPアイコンを追加できます。コードビルダーのアプリ用フォルダ上で右クリックして、ファイルの追加を選択します。ファイルをワークスペースに追加ダイアログで、前のステップで保存したアイコン画像のファイルを選択します。ワークスペースとファイルシステムの両方に、アプリ用のファイルが追加されます。

AddAppIcon2.png

ソースコードファイルを追加

アプリ用に新しく作成したフォルダに1つ以上のソースコードファイルを追加できるようになりました。アプリの機能に応じて、LabTalkスクリプトファイル(*.OGS)、Origin Cファイル(*.C、*.CPP、*.H、*.OCZ)、Xファンクション(*.OXF)、あるいは、Pythonファイル(*.PY)も追加できます。この時点では、ソースコードファイルの種類の選択は取り消せませんが、ファイルの数と種類はあとで変更できます。

新しいソースコードファイルを作成してアプリに追加するには、コードビルダーでアプリ専用フォルダを右クリックして「新規作成」を選択します。ファイル名を入力してファイルの種類を選択すると、自動的にワークスペースとファイルシステム両方のアプリ用フォルダに追加されます。

アプリ用のフォルダに既存のファイルを追加したい場合、コードビルダー内のフォルダ上で右クリックして、「ファイルの追加」を選択します。ファイルをワークスペースに追加ダイアログで、既存のファイルを選択します。ワークスペースとファイルシステムの両方のアプリ用フォルダにファイルが追加されます。

AddAppSrcFile2.png

上の図では、LabTalkスクリプトファイル(launch.ogs)がアプリのフォルダに追加されました。このスクリプトファイルには、アプリをインストール後にアプリギャラリーでアイコンをクリックして起動するために必要なロジックが含まれています。アプリを起動するための実際のスクリプトファイルを作成する必要なありませんが、最初のアプリのパッケージ化とインストールで説明するように、長期的にみるとこれを行う方が簡単な場合があります。通常、Origin Cファイルをコンパイルしてアプリを起動する関数を呼び出すには、次のようなコードを使用します。

AppLaunchOgs3.png

最初のアプリのパッケージ化とインストール

次のステップは、さらなる開発の前にインストールできるよう、新しいアプリをOPXファイルにをパッケージ化することです(実際にアプリギャラリーからアプリを起動するために、最初にインストールする必要があります)。

再度、コードビルダのワークスペースウィンドウでアプリ用のフォルダを右クリックして生成...を選択します。多くの必須フィールドが入力された状態でパッケージマネージャが開きます。しかし、下図のように開発者が入力する必要のある欄もいくつかあります。具体的には、スクリプトを実行フィールドがあります。これは、アプリギャラリーでアイコンをクリックしたときに実行される1行のLabTalkスクリプトです。

AppsPackMan2.png

上図の例では、「スクリプトを実行」は、前に示したように、単に "launch.ogs"ファイルの "Main"セクションを呼び出します。Note: %@A は読み取り専用の文字列レジスタで、メインのアプリフォルダへの絶対パスを含みます。これには最後のバックスラッシュも含まれます(例えばC:\Users\<ユーザ名>\AppData\Local\OriginLab\Apps\)。

Note: Origin 2019bからスクリプトを実行の設定で"launch.ogs" ファイルのコードを呼び出すためにrun.section()を使用する必要がなくなりました。LabTalkファイルの名前(ここでは"launch.ogs")を入力するだけで、そのファイルの[Main]セクションにあるコードが実行されます。

すべてのフィールドが正しく入力されたら、OPXファイルをファイルシステムの任意の場所に保存できます(パッケージマネージャのファイルメニューから)。OPXの名前はアプリの名前と同じにする必要があります。

Note: OriginPro必須CおよびCPPファイルの暗号化の2つのフィールドは、Origin 2018で追加されました。これらは基本的なアプリ開発では無視してもよい高度なフィールドです。詳細は、アプリの配布で説明しています。

保存したら、OPXファイルをOriginにドラッグ&ドロップしてアプリのインストールが可能です。Note: アプリが開発プロセスで最初にインストールされたときに、既存のファイルを置き換えるように求めるメッセージが表示されます。OPXが保存されてから何も変更していなければ、ファイルを置き換えても問題ありません。

パッケージマネージャの詳細については、複数ファイルをOPXとしてパッケージ化を参照してください。

重要: この方法でOPXファイルを生成した場合、パッケージマネージャを使って直接OPXファイルを開き、変更しないでください。第一に、パッケージ内のファイルのリストはロックされます。次に、OPXファイルがOriginの内部設定と同期しなくなる可能性があります。常に、ワークスペースウィンドウでアプリ用のフォルダを右クリックして生成...を選択してから、OPXファイルを変更する必要があります。

「必要なバージョン」について

OPX生成の際、Originの必要なバージョンを設定することは大切です。これは、実際にアプリをインストールするときのOriginの最小バージョンが何かをパッケージマネージャに伝えるものです。アプリに設定した必要なバージョンよりも依然のバージョンのOriginにインストールしようとすると、警告が表示され、アプリはインストールされません。一般的には、アプリを開発しているOriginのバージョンと同じバージョンを、必要なバージョンの値として設定する必要があります。

このフィールドには特定のパターン、<メジャーバージョン.マイナーサービスリリース>を使用します。以下に例を示します。

  • 9.40 -> Origin 2017
  • 9.41 -> Origin 2017 SR1
  • 9.42 -> Origin 2017 SR1
  • 9.5 -> Origin 2018
  • 9.55 -> Origin 2018b
  • 9.6 -> Origin 2019
  • 9.65 -> Origin 2019b

etc...

OPXファイルの場所とアプリフォルダのバックアップ

間違えて削除することがないように、安全な場所にOPXファイルを保存することは大切です。開発中のワークスペースウィンドウに表示されているアプリであっても、アプリをアンインストールすると、そのアプリのフォルダ、つまり関連するすべてのファイルが完全に削除されます。したがって、ファイルを取り戻すためにアプリを再インストールする必要がある場合に備えて、OPXファイルのコピーを常に用意しておくことをお勧めします。また、重要な変更を誤って失わないように、こまめに新しいOPXを生成することも非常に良い考えです。実際のアプリフォルダのバックアップコピーを作成することもお勧めです。

Origin 2019b以降での使いやすさの向上

Origin 2019b以降では、コンテキストメニューベースの改善により、アプリの開発をより簡単になっています。これらは、アプリのフォルダまたは、ファイルのレベルで表示されます。

  • 除外扱いとする(フォルダおよびファイルレベル): コードビルダーでビルドボタンをクリックしたときに、アプリフォルダ内のすべてのファイルまたは個々のファイルがコンパイルおよびリンクされないようにします。これにより、アプリ開発の際にどのファイルをコンパイルするかコントロールできます。
  • 関係するアイテムのロード(フォルダおよびファイル): 全ての関連するOrigin CファイルをTemporaryフォルダにロードしてコンパイルします。

これらの機能は両方とも、次のようなエラーを軽減するためのものです。

Error, Function somefunc@_JIAAAAAAIAAAAAAALBAAAAAAIAAAAAAAIAAAAAAALBAAAAAALAAAAAAALAAAAAAA
LAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAAIAAAAAAA was called, but its body could not be located during linking.

このエラーはアプリファイルのコンパイル時に発生することがあります。

  • iniからOPXを作成(フォルダレベル): アプリフォルダに"package.ini"がある場合、その内容がアプリのOPX生成に使用されます。OPXファイルはOriginのUser Filesフォルダに出力されます。このページの最後に、"package.ini"ファイルのサンプルがあります。

アプリ開発を継続

ここでは、ソースコードファイルにコードを追加することでアプリの開発を継続したい場合について説明します。あるいは、ソースコードファイルの追加または、削除、名前の変更についても同様です。開発プロセスのどの時点でも、変更を反映した新しいOPXファイルを生成できます。

アプリでのファイルの追加と削除

開発中のアプリのファイルの追加、削除、または名前を変更したい場合があります。新しいファイルは、前述のようにコードビルダーを介して作成できます。Windowsのファイルエクスプローラでファイル名を変更するか、削除する必要があります(コードビルダエディタで開かれていないと仮定します)。

ファイルシステムで直接ファイルを追加、削除、名前変更した場合、ワークスペースのアプリファイルは更新されます。関連する操作方法は下記の通りです。

  • ファイルの追加: アプリのフォルダ上で右クリックしてファイルの追加を選択し、関連するファイルを選択します。アプリのフォルダに移動します。
  • ファイルの削除:ファイル上で右クリックして削除を選択します。これは、ファイルシステムからは実際に削除されません。
  • ファイル名を変更した場合、上述の手順でファイルを削除してから再度追加するだけです。

OPXファイルの再生成と更新

最初にOPXファイルを生成した後いつでもアプリの最新の変更を反映させるためにアップデートできます。ワークスペースのアプリフォルダ上で右クリックして生成...を選択するだけです。前回OPXファイルを作成したときに入力済みのフィールドはそのままで、パッケージマネージャはワークスペースにリストされているファイルを再パックします。このとき、バージョン番号を上げることをお勧めします。OPXファイルが最後に保存されたときと同じファイルシステムの場所にある場合、パッケージマネージャはそのフォルダにOPXを保存します。

Note: OPXが更新されるたびにアプリを再インストールする必要はありません。インストールされたアプリのOPXを更新すると、Originはアプリに関して内部的に保存している情報にその変更を組み込みます。例えば、バージョン番号が上がっている場合、アプリギャラリー内のそのアプリに反映されます。

アプリをツールバーに追加

アプリには、アプリアイコンがクリックされたときにポップアップ表示されるツールバーも含まれる場合があります。アプリにツールバーを追加する方法は、アプリ開発における高度なトピックにあるアプリにツールバーを追加を参照してください。

アプリにサンプルファイルを含める

サンプルファイル(プロジェクト、サンプルデータなど)をアプリに含めることもできます。アプリにツールバーを追加する方法は、アプリ開発における高度なトピックにあるアプリにサンプルファイルを含めるを参照してください。

アプリの仕上げと配布

ある時点で、アプリ開発が完了します(少なくとも現在のバージョンでは)。この時、「最終的な」OPXを前述のステップに従って生成し、その後、必要に応じてそれを配布する方法について決定できます。詳細はアプリの配布を参照してください。

package.iniファイルの例

これは、Origin 2019b以降の、Appフォルダレベルのコンテキストメニューにある、ini からOPXを作成メニューを使用した"package.ini"ファイルの例です。

[Package]
Name=CD Test App
Description=An example of an Origin App.
Version=1.0
Author=Jane App Developer
[Origin]
Version=9.65
Pro=0
[App]
Icon=AppIcon.png
ToolbarIcon=AppIcon.bmp
LaunchScript=launch.ogs
[AppEnable]
Always=0
Graph=0
Workbook=1
Matrixbook=0
Image=0
Excel=0
Layout=0
LabTalkExp=
[Toolbar]
ButtonGroupFile=
Create=0
[LabTalk]
BeforeInstall=
AfterInstall=
BeforeUninstall=
[Files]
EncryptC=0
SourcePath=
OPXFile=