アプリ・アーキテクチャ

クリックでコピー

アプリケーションがどのように構築されるか。


AppMaster.io no-code プラットフォームは、通常の開発者が行うのと同じ方法でアプリケーションを構築します。したがって、アプリケーションの構成要素は、プロフェッショナルなソフトウェアと同じになります。

App Architecrute


バックエンドとフロントエンド

AppMaster.io で作成されるアプリケーションは、主に2つの部分から構成されます。

  • バックエンド - あなたのアプリケーションのバックエンド - フードの下のすべて。ここでは、作業の一般的なロジックが決定され、主要なパラメータが設定され、主なデータ処理プロセスが作成されます。この部分はサーバー上にあり、ユーザーからは見えません。
  • フロントエンドは 、ユーザーが操作するアプリケーションの視覚的な部分です。これは、あなたのアプリケーション、つまり、ユーザーの側からどのように見えるか、と言うことができます。この部分は、Webアプリの場合はWeb Apps、モバイルアプリの場合はMobile Appsというように、いずれかのアプリエディタで設定されます。

このような構造になっているため、Webアプリケーションとモバイルアプリケーションを同時に作成し、共通のバックエンドを介して互いに接続することができます。

バックエンド

AppMaster.ioが作成するアプリケーションのバックエンドは 、ローカルサーバ、AppMaster.io Cloudのクラウドホスティング、またはAWS、Azure、Google Cloudなどのサードパーティストレージにホスティングすることができる。
バイナリ、カスタム・ファイル、アプリケーションのソース・コードをエクスポートして、自動または手動で好きな場所に移動することができます。

アプリケーションのバックエンドは、以下のようなロジックで構築されます。

  • データベースの設計 - データモデルとその間のリレーションシップを作成します。
  • ビジネスロジックの構築 - ビジネスプロセスの設定。
  • エンドポイントやミドルウェアの設定。

モジュールは、追加機能を接続するために使用されます。

必要なモジュールを一度に追加することをお勧めします。モジュールには、設計時に役立つ要素や開発スピードを上げるための要素が含まれています。

フロントエンド

バックエンドを設計した後、フロントエンドの設定(アプリケーションの場合は直接)には、いずれかのデザイナーを使用します。Web Apps(Webアプリケーション用)またはMobile Apps(モバイルアプリケーション用)です。

AppMaster.ioでアプリケーションを構築する順序は、バックエンドからフロントエンドになります。しかし、最初にモック・アプリケーションを作成し、データとビジネス・ロジックを "バインド "することができます。


データベースとデータモデル

すべてのアプリケーション・データは、明確なアルゴリズムを用いて作業できるように、厳密に定義された構造で保存されます。この構造の個々の部分をデータベースと呼びます。ノーコードでデータベースを設計するために、AppMaster.ioはビジュアルデータモデルエディタを使用しています。

データモデル

データモデルとは、データベースに格納されるデータを記述したテーブルのようなものである。データモデルを作成すると、アプリケーションにどのようなデータがあるのか、どのように互いに異なるのか、そしてどのようにそれを扱うことができるのかを正確に定義することができる。

データモデルは、別のデザイナーAppMaster Studio -Data Design タブの中にあります。

User data model (left) and menu for creating a new model (right)

入力したデータ(ユーザー、顧客、商品、注文、メッセージなど)は、完成したアプリケーションで見ることができますが、AppMaster Studio 。デザイナーでは、データの保存構造と、それらで発生するプロセスの視覚的表現のみを操作することになります。


ビジネス・プロセス

ビジネスプロセスは、アプリケーションの特定の機能を実装するアクションの論理的なシーケンスです。例えば、顧客リクエストの作成、チケットの予約、メッセージの送信などです。ビジネスプロセスを作成する際には、アプリケーションがどこから情報を取得し、どこに転送し、どのように、そしてどのような順序で処理するのかを決定します。

ビジネスプロセスの作成と編集は、Business logic タブにある特別なデザイナーで行うことができます。ビジネスプロセスの実行は、スケジュールに基づいて起動されるだけでなく、他のビジネスプロセスやエンドポイントを介して呼び出すことも可能です。

This is what a business process looks like when it is set up.


エンドポイント

エンド ポイントは、アプリケーションのサーバープロセスとフロントエンド(Webまたはモバイルアプリケーション自体)を接続するゲートウェイの一種です。各エンドポイントは、ビジネスプロセスおよびページ(または画面)要素に関連付けられ、それらの間でデータを転送するために使用されます。

エンドポイントの作成と設定は、AppMaster Studio の「Endpoints 」タブで行います。

Endpoint creation and editing window.


複雑なタスク(アクセス制御、データフィルタリング)を管理するために、ミドルウェアはエンドポイントに接続されます。ミドルウェアは、エンドポイントとビジネスプロセス間の追加リンクの役割を果たし、両者の相互作用をさらにカスタマイズできるようにします。

ミドルウェアは、デフォルトでアプリケーションに追加されるものと、いくつかのモジュールがインストールされたときに追加されるものがあります。たとえば Auth モジュールは、ユーザーの認証を担当します。 Token Auth特定のエンドポイントを起動するための権限を管理するためのミドルウェアです。

Token Auth on the Middleware tab in the endpoint creation window.

エンドポイントは、REST アーキテクチャのアプローチを使用して実装されたデータを交換するためのアプリケーションのプログラミングインターフェイスであるREST APIと 呼ばれるものを形成しています。


API AppMaster.io

API (Application Programming Interface) は、アプリケーションのフロントエンド、そのサーバー部分、およびそれらに接続されているサードパーティのアプリケーション、サービス、サイトの間でデータを交換するためのツールのセットです。 REST は、このデータ交換が行われるための技術です。

アプリケーションのAPI ドキュメントは自動的に生成され、そのバックエンドにOpenAPI (Swagger) 形式で保存されます。

AppMaster.io を使いこなすために、その仕組みを特に理解する必要はありません。プラットフォームツールを勉強することで、基本的な原理を理解することができます。その上、APIの主要部分はAppMaster.ioによって作成されている - ほとんどの設定は、デフォルトまたはモジュールを接続するときに行われます。

アプリケーションを他のアプリケーションや外部リソースと統合(接続)する際には、API の設定のいくつかを手動で変更する必要があります。


出版物について

AppMaster.io Studioでアプリケーションを作成(またはその一部を変更)した後、それをテストしたり、ユーザーがアクセスできるようにするために、公開(インターネットに掲載)することが必要です。

公開すると、AppMaster.io Studioのダイアグラムから生成されたコードがコンパイルされ、完成したアプリケーションに変換されます。

アプリケーションの公開先は AppMaster Cloudアプリケーションを公開できるのは、App Store、サードパーティのクラウドサービス、または個人のサーバーです。モバイルアプリケーションは、App StoreやGoogle Playに置くことができます。
アプリケーションサーバーコンポーネント(モバイルアプリケーションマネージャーを含む)、ウェブアプリケーション、および Swagger は、単一のバイナリファイルにパッケージ化されています。このファイルは、Linux、Windows、MacOS、x86-32、x86-64、さらにはARM など、さまざまなプロセッサ・アーキテクチャのオペレーティングシステム用にコンパイルすることが可能です。

モバイルアプリは、App StoreまたはGoogle Playに直接公開することができます。のおかげで、アプリを公開するだけでよいのです。 Mobile Apps Adapterのおかげで、アプリをストアに一度だけ公開する必要があります。変更したり更新したりしたい場合、ほとんどの場合、再公開する必要はありません。

The Mobile Apps Adapterは、モバイルアプリのエンドポイントを接続し、デプロイされたモバイルアプリのユーザーインターフェイスとデータストリームに設計を行う最新のリアルタイムエンジンです。インターフェースとデータのレンダリングは、目に見える遅延なしにリアルタイムで行われます。このアプローチにより、ストアに再パブリッシュすることなくアプリケーションを編集するための多くのオプションが提供されます。