ローコードの世界でのプログラミング
ローコードでソフトウェア開発を効率化 プログラマーやソフトウェアエンジニアにとっても同様です。 ローコードフレームワーク 冗長で単調な作業を減らすことでプロセスを簡素化します。開発者は リリースの構築、テスト、配信 簡単に ローコードプラットフォームの使用 Mendix.
で 以前のブログ投稿最高マーケティング責任者のニック・フォードは、 ローコード プラットフォームはソフトウェアエンジニアが得意とするプログラミングに集中できるようにします。このブログ記事では、 Mendix ソフトウェア エンジニアの得意分野をサポートするプラットフォームです。
ソフトウェア エンジニアがモデル駆動型開発プラットフォームとしてローコードを活用することでどのように成功しているかについて詳しくは、以下をお読みください。
アプリ開発者のためのローコード開発の3つの重要な機能
3つの重要な領域があります Mendix ソフトウェア エンジニアが自分のスキルを活用して、アプリケーション ライフサイクルに関わる他のユーザーに優れた開発エクスペリエンスを提供できるプラットフォームです。
- モデル拡張
- モデルSDK
- プラットフォームAPI
それぞれは、エンジニアが組織のニーズに合わせてプラットフォームを拡張できるように設計されています。これらを組織内でどのように活用できるかを見てみましょう。 Mendix プラットフォーム。
モデル拡張: 効果的、安全、再利用可能
私と一緒にいたとき Mendix、私が常に尋ねられる質問が 1 つあります。「生成されたコードはどこで見ることができますか?」。私の答えはいつも「コードはありません。ランタイムがモデルを解釈してアプリケーションを生成します。ただし、これはコードを使用してモデルを拡張できないという意味ではありません」です。
モデル駆動開発 これは新しい概念ではなく、何年も前から存在しています。しかし、過去の開発ツールの多くは、制限が厳しかったり、カスタマイズが難しかったりしました。カスタマイズが可能だったとしても、顧客のニーズを満たすために生成されたコードを変更する必要がよくありました。しかし、変更するとモデルが壊れ、開発速度が低下し、メンテナンスが悪夢になります。
Mendix は、拡張機能に対して異なるアプローチを採用しています。カスタム コードを使用してアプリケーションを拡張するのではなく、モデラー自体を拡張します。モデラーの機能を拡張することで、モデルとカスタム コード拡張機能が効果的に機能することを常に保証できます。また、記述されたコードが他のアプリケーション間で再利用可能であることも保証されます。
モデルを拡張するには主に2つの方法があります。 Mendix プラットフォームはカスタムコードを利用するためのものです。これらはウィジェットと呼ばれるフロントエンド拡張機能とコネクタと呼ばれるバックエンド拡張機能です。ウィジェットを使用すると、 Mendix JavaScript を使用したアプリケーションを作成し、React、Angular、Dojo、D3 などの必要な JavaScript ライブラリを利用できます。コネクタはサーバー上で実行されるため、カスタム Java/Scala コードを作成して、任意の Java または Scala ライブラリを利用できます。カスタム コードだけでなく、REST、SOAP、OData などのネイティブ統合もサポートされています。しかし、このブログでは、コネクタとウィジェットを開発者にとって非常に強力にする機能に焦点を当てたいと思います。
コネクタ
コネクタは、モデラーの機能を拡張する優れた方法です。コネクタは、ネイティブのマイクロフロー機能を拡張する自己完結型のラッパーです。コネクタは、マイクロフローによって呼び出されると、お気に入りのIDEで編集できるJavaコードを実行します。コネクタは、エンティティ、データセット、マイクロフロー、ページ、構成など、モデル内のすべての機能を、 Mendix ランタイムAPIコネクタを作成するときに、アイコンと説明を追加することを選択できます。これにより、 Mendix ツールボックス。コネクタのユーザーは、必要なパラメータをコードに渡すだけでよく、基礎となる Java コードを理解する必要はありません。

コネクタが非常に強力なのは、豊富なパラメータと戻り値の型があるためです。統合を構築するときは、できるだけ使いやすく、できるだけ汎用的にする必要があります。コネクタを汎用的にすることで、さまざまなユースケースに異なるデータを渡すなど、さまざまな状況で再利用しやすくなります。
たとえば、コネクタには多くのパラメータがあり、それらは汎用、型付き、または静的です。コネクタパラメータは現在、文字列、ブール値、整数、小数、オブジェクト、リスト、および任意のオブジェクトと任意のリストをサポートしています。パラメータと戻り値の型を定義したら、 Mendix プラットフォームはコード ラッパーを生成し、その中で独自のカスタム コードを定義できます。コードは、Eclipse、IntelliJ など、お気に入りの IDE 内で編集できます。コネクタ コード内に、必要な Java または Scala ライブラリを呼び出すための独自のカスタム コードを追加します。これらのライブラリはプロジェクトの userlib フォルダーに配置され、利用できるようになっています。
ウィジェット
ウィジェットは、フロントエンド開発の拡張機能です。 Mendixウィジェットは、複数のアプリケーションで再利用できるようにパッケージ化されています。ウィジェットは、Web用またはCordova/Phonegapから利用可能なJavaScriptライブラリを利用できます。ウィジェットを作成したら、App Storeで配布して組織全体で再利用したり、 Mendix コミュニティ。ウィジェットの作成に役立つツールはいくつかあり、Typescript、ES6、プレーンなJavascriptのバージョンなどがありますが、個人的には、 Mendix 発生器。 この ヨマン スクリプトを実行すると、ウィジェット開発を始めるために必要なスキャフォールディングが自動的に生成されます。YeomanやJavascriptに馴染みがない場合は、同僚のJelteが優れたチュートリアルを公開しています。 .
すべてのウィジェットに必要な基本構造には、次の 3 つの必須ファイルが含まれます。
- xml ファイル – ウィジェットのフォルダー構造を記述するために使用されます。
- xml ファイル – ウィジェットに渡すことができるパラメータを記述するために使用されます。
- js ファイル – ウィジェットのロジックを決定するために使用されます。
ウィジェット xml 内で、カスタム コードに渡すために必要な数のパラメータを定義します。パラメータには、文字列、ブール値、属性、オブジェクトなど、必要なデータに応じてさまざまなタイプがあります。また、カスタム コードに必要なパラメータを定義することもできます。このようにウィジェットを設定すると、信頼性が高く、自己完結的で、再利用性が確保されます。たとえば、2 人の開発者が同じウィジェットを使用しながら、異なるエンティティからデータを渡す必要がある場合があります。エンティティ パラメータと属性パラメータを使用すると、ウィジェットのユーザーは必要なデータを使用できます。
ウィジェットの JS ファイル内で、ウィジェットにインポートして使用する追加のライブラリを定義できます。
ウィジェット内でコードを利用することの素晴らしい点は、ウィジェット内のデータ、エンティティ情報、モデル情報に完全にアクセスできることです。すべてのウィジェットは Mendix クライアントAPI と対話する Mendix モデル データ。これによりウィジェットは非常に汎用的になり、ユーザーは JavaScript を使用して簡単に取得できるあらゆる種類のデータを渡すことができます。ウィジェットを使用して取得されたすべてのデータには、データ アクセスが適用されます。したがって、ウィジェットは、ユーザーがアクセスできる場合にのみデータを受信します。
モデルSDK: 強力なサポートツールと分析
ウィジェットとコネクタを使用してモデルを拡張する方法を検討しましたが、モデル自体の情報にアクセスしたり、プログラムでモデルを変更したりするにはどうすればよいでしょうか。 Mendix モデルSDKは、モデルSDK上に構築された強力なTypeScript開発キットであり、開発者はプログラムで次のものにアクセスできます。 メタモデル情報.
モデル SDK には主に 4 つの使用例があります。
- レガシーコードベースからアプリケーションをインポートする Mendix
- 静的解析のためのアプリケーションモデルの分析
- アプリケーションを一括変更する
- モデルを別のコードベースまたはプラットフォームにエクスポートする
モデルSDKを活用することで、開発者はモデルSDKの周囲にサポートツールを構築することができます。 Mendix プラットフォームの機能拡張には、モデル SDK を利用する AQM ツールが一例です。このツールは、ソフトウェア品質分析を実行します。業界標準に基づいて、アプリケーションがどの程度適切に構築されているか 5 つ星の評価が与えられます。モデル SDK には無限の可能性がありますが、まずは 始めます ドキュメントと APIドキュメント.
プラットフォームAPI: パーソナライズされた機能を備えた広範なソリューション
当学校区の Mendix プラットフォームには、開発者が既存のDevOpsパイプラインにプラットフォームを統合するのに役立つ広範なAPIが付属しています。Visual Studio Team Services(VSTS)やJenkinsなどのツールを使用すると、デプロイメントパイプラインはAPIを活用して、コミットなどのトリガーに基づいてアプリケーションを自動的に構築、テスト、デプロイできます。これらのアプリケーションは、DockerまたはCloud Foundryコンテナーを使用して、パブリッククラウド、オンプレミス、またはプライベートクラウドサービスにデプロイでき、KubernetesやCloud Foundryなどの任意のコンテナープラットフォームで実行できます。開発者は、 Mendix 製品を使用して、独自のパーソナライズされたパイプラインを作成できます。以下のビデオでは、信頼できるパートナーによって構築されたTeamserver API、Build API、Docker Buildpack、およびATS CICD APIがどのように機能するかを説明しています。 クレバーは、単一のコミットに基づいてアプリケーションを Kubernetes クラスターにライブでデプロイするために使用されます。
主要な取り組み
このブログ記事から皆さんに伝えたい重要なことは、ローコード開発だからといって、コードを作成する必要性や方法がないわけではないということです。ある程度のカスタマイズが必要なエッジケースは常に存在し、必要なときには Mendix プラットフォームはそれをサポートしています。信じられないなら、自分で試してみてください!
さて、何を作りますか?