nexacro platformの概要
nexacro platformは1つのソースでウェブとモバイルアプリ、デスクトップアプリをデザイン、開発、配布することができるソフトウェア開発プラットフォームです。企業内での業務に応じて、Webブラウザから直接アクセスできるように運用して、Windows環境で特定の機器と連動する必要があるときには、当該アダプタ機能のみを追加してWindowsアプリの形で実装して配布できます。開発から配布まで一つのツールを使用して、様々なユーザーの実行環境とニーズに対応できます。
nexacro platfromの主要コンポーネント
開発ツール(IDE) :nexacro studio17は、直感的な編集機能を提供して初心者も簡単に開発することができるよう構成された開発ツールです。画面設計、開発、デバッグ、配布まで一つのプロセスとして進むことができます。
フレームワーク(Framework) :Unified Frameworkは、すべての実行環境で共通に使用できるJavaScriptフレームワークです。開発者はOSの特性を個別に処理せずに1つのコードで開発することができます。
実行環境(Runtime Environment) :モバイルアプリ、デスクトップアプリでは、オープンソース・ベースに独自開発したレンダリングエンジンとスクリプトエンジンで構成されたNexacro実行環境(NRE、nexacro runtime environment)を使用します。最適化された実行環境を提供して、大容量のデータを扱うか、複雑な画面構成時Webブラウザよりも高速に処理します。また、OSからサポートされるさまざまなAPIとデバイスを連動することができます。
NX17_unified_framework
Web技術は標準化され、既存のプラグイン技術を代替するレベルに進化しています。過去にプラグインを使用して実装した技術は、Web上でほとんどサポートすることができます。しかし、4次産業革命の時代に入りながら、Web技術と市場のニーズとのギャップが生じ始めました。Web技術が4次産業革命の急速な発展速度を追いつけられない状況です。そのため、Webはデバイスから収集された情報を活用したり、様々な形のIoT機器と接続して機能を拡張し、融合して既存のサービスと接続するためには、いくつかの制約が存在します。ハイブリッドアプリというコンセプトは、このようなWebの制約を抜け出すための考えから始めましたが、まだ様々なOSについて対応が困難です。企業側からユーザーが必要なすべての環境に合ったシステムを提供するためには、それぞれの環境に特化した開発スタッフと開発ツールが必要です。
nexacro platfromは独自開発した実行環境を使用します。最適な実行速度を確保することができ、実行環境に応じた差を開発者が考えずに開発プラットフォーム自体で対応することができます。また、他のプログラミング言語を別に学ばなくてもJavaスクリプトのみを使用して画面を構成し、デバイスのAPIを制御して、ビジネスロジックを開発することができます。nexacro platfromで提供しない特定のデータ型や装置、IoT機器連動はサードパーティを介してモジュールもしくはアダプタとして開発することができ、プロジェクトでモジュールをインストールする簡単な動作だけで機能を拡張することができます。
nexacro platfromは画面処理のための別途サーバーが必要ありません。開発ツールで生成したファイルを既存のWebサーバーにアップロードするだけで、Webとモバイルアプリ、デスクトップアプリを運用することができます。バックエンドシステムのデータ通信をサポートしたり、プッシュメッセージを使用するためにサーバーに関連ライブラリを追加する方法を選択することができ、既存に構成されたサーバーのフレームワークを使用することができます。
NX17_Application_deploy
プログラミング言語
nexacro platformは、他のプログラミング言語とは異なり、ユーザーに表示される画面を定義する部分とビジネスロジックを処理するスクリプトで区切られます。また、画面に好きなデザインを適用するために、スタイルとテーマを適用することができる機能を提供します。
画面を配置する部分は、XMLベースで各コンポーネントのプロパティとバインド、イベントなどの情報を管理します。また、様々な実行環境をサポートできるようにMLM(Multi Layout Manager)機能をサポートし、関連するプロパティを管理します。また、アプリの実行に必要な環境情報を管理する別のファイル構造を提供します。
以下は、nexacro platformでのアプリ開発時にデフォルトで作成されるファイルに関する説明です。
区分 | ファイル名(拡張子) | 用途 |
---|---|---|
プロジェクト | *.xprj | • プロジェクト情報 • Environmentファイルパス • TypeDefinitionファイルパス • AppVariablesファイルパス • Application Informationファイルパス |
Environment | environment.xml | • 実行環境情報 • themeid • Screen情報(Screen情報を設定する場合、実行環境情報で設定した値を上書きすることができます。) • variables • cookies |
TypeDefinition | typedefinition.xml | • モジュール • コンポーネント • サービス • プロトコル • アップデート |
InitValue | *.xiv | • コンポーネントやオブジェクト属性の初期値を設定 |
Application Information | *.xadl | • Application情報 • screenid • フレーム属性 |
AppVariables | appvariables.xml | • Application内で共有される共通変数 |
Form | *.xfdl | • 画面レイアウト • 画面フォーム属性 • コンポーネント属性 • 追加レイアウト • スクリプト |
InitValueファイルはnexacro studioで新しいInitvalueを追加する場合に生成されます。
デフォルトテーマはプロジェクト内に個別作成せず、ユーザーが新しいテーマを追加する場合にのみ、プロジェクト内のテーマフォルダにファイルを作成します。
nexacro studioで作成したコードはビルドプロセスを経て、JavaScriptベースのコードに変換されます。実際の実行環境では、変換されたJavaScriptコードを実行するようになります。
開発環境
nexacro platformは、ウィジウィグ(WYSIWYG)ベースの開発ツールであるnexacro studioを提供します。nexacro studio内で実行環境に関係なく、アプリを開発することができ、生成されたコードは、nexacro platformのプログラミング言語で保存されます。
nexacro studioは、Microsoft Windowsオペレーティングシステムのみサポートしますが、開発されたアプリは、どんなオペレーティングシステムやどんなデバイスでも関係なく、最適化された使用環境で配布することができます。
実行環境
nexacro platformは、nexacroフレームワーク(Unified Framework)を元に、アプリが実行され、各実行環境によって最適化された構造を提供します。
アプリの運用環境により、デスクトップ、モバイル環境に分けアプリの運用方法により、NRE(Nexacro Runtime Environment)とWRE(Web Runtime Environment)で区切ります。アプリの運用方法により追加された機能を使用することができます。たとえば、Android Runtime、iOS/iPadOS Runtimeバージョンは、カメラ、アドレス帳、SMSなどのモバイルデバイスと連動した追加機能を使用することができます。
nexacro studioが実行される環境は、下記の表のようにまとめられます。
nexacro platform | |||
---|---|---|---|
デスクトップ | |||
WRE | さまざまなOSで動作するWebブラウザをサポート - IE9、IE10、IE11、Edge、Chrome、Safari、Firefox | ||
NRE | アプリが製品に含まれている実行環境で動作 Webブラウザで実装することができない追加機能を提供 - Windows Runtimeバージョンでは、macOS Runtimeバージョン | ||
モバイル | |||
WRE | さまざまなデバイスで動作するデフォルトモバイルブラウザをサポート - Android、iOS/iPadOS | ||
NRE | アプリごとに個別の実行環境で動作 Device APIを使用することが可能 - Android Runtimeバージョン、iOS/iPadOS Runtimeバージョン、Windows Runtimeバージョン(タブレット) |
配布環境
配布とは、アプリが実行されるために必要なリソースをクライアントにインストールするための一連の作業を意味します。使用環境によって、nexacro platformで開発されたアプリと必要なモジュールをダウンロードしてクライアントにインストールするようになります。
nexacro platformのアプリは、ユーザーが使用するクライアントで動作します。ただし、データ処理などの作業のために、WAS(Web Application Server)を必要とすることがあります。 nexacro platformは、データ処理のためのX-APIモジュールを共に提供します。また、必要によってデータをリアルタイムで処理する必要がある場合、X-PUSHと同じような付加的な技術を使用することができます。
基本的な配布作業は、HTTPプロトコルを使用します。ただし、インターネット接続をサポートしていない環境では、アプリの実行に必要なリソースを別々のメディアに配布して使用することができます。
テーマファイルは、組み込みテーマを使用する場合には、nexacro studioで別々に作成せずにデフォルトテーマを変換する処理だけ行います。