DUICUO

Alibaba のローコード エンジン LowCodeEngine が正式にオープンソース化されました。

ローコード エンジンとは何ですか?

ローコード エンジンは、ローコード プラットフォーム開発者向けの強力な拡張性を備えたローコード開発フレームワークです。

ローコードエンジンは、アリババのフロントエンド委員会とDingTalk Yidaの共同開発製品です。ユーザーは、ローコードエンジンを使用することで、自社のビジネスニーズに合わせてローコードプラットフォームを迅速にカスタマイズできます。さらに、ローコードエンジンは、標準のローコードデザイナーに加えて、使いやすいカスタマイズ機能と拡張機能も提供しており、独自のビジネス機能にも対応可能です。

なぜローコードエンジンを開発したのでしょうか?2019年7月、アリババのフロントエンド委員会による技術資産の棚卸し中に、グループ内の様々な事業部門ですでに数十のローコード対応プラットフォームが広く使用されていることがわかりました。これらのプラットフォームは、3~4セットの基本機能、つまりSDKに基づいていました。これらの機能の多くは再利用可能で、例えば、後述するローコードエンジンのコア機能である入力、オーケストレーション、レンダリング、出力などはその一例です。これらの機能の反復開発には多大な人手が必要であり、各SDKに割り当てられた人手は限られているため、機能を洗練させるには不十分でした。その結果、ほとんどのSDKは低レベルの反復開発の状態でした。解決策を検討する中で、すべてのローコードプラットフォームを1つに統合することは不可能であることがわかりました。そのため、ローコード機能を分散化し、ローコード技術システムを統合・共同構築し、統一された基盤プロトコルを確立し、標準に基づいてローコードプラットフォームの基本機能を構築し、これに基づいてカスタマイズされた機能を提供することで、最終的にローコードエンジンを形成することにしました。

ローコード エンジンの利点は何ですか?

ローコードエンジンは、ローコードプラットフォーム開発に必要な基本的な技術機能を提供する、フロントエンド開発者向けのテクノロジー製品です。以下のようなローコード製品の開発ニーズをお持ちの場合、ぜひご検討ください。

  • ビジネスには、既存のローコード プラットフォームでは満たせない独自の要件があり、新しいローコード プラットフォームの作成が必要になります。
  • ローコード プラットフォームの開発機能を既存のシステムに統合する必要があります。

上記の両方のシナリオでは、ローコード エンジンを使用すると、次のことが可能になります...  非常に短い時間 ローコードデザイナーの開発は社内で完結するため、ローコードプラットフォーム開発の難易度とコストが大幅に削減されます。カスタマイズのレベルに応じて、月間数十人規模の作業負荷を数人規模にまで削減できます。

数百のローコード プラットフォームをサポートするために、ローコード テクノロジーを 4 つのレイヤーに分割し、階層化アーキテクチャを使用して、ローコード プラットフォーム開発者がビジネス アプリケーションをカスタマイズおよび拡張できるようにサポートしました。

基盤となるプロトコル標準化

ローコード エンジンの基盤プロトコルとして、「ローコード エンジン セットアップ プロトコル仕様」と「ローコード エンジン マテリアル仕様」を定義しました。  これら2つの協定は3つの側面を定義している。  用語、構造、動作 

  • 用語は私たちのコミュニケーションの基盤であり、概念を共有することで効率的なコミュニケーションが可能になります。資料の粒度に基づいて、基本コンポーネント、ブロック、ローコードコンポーネント、テンプレートなどの用語を定義しました。さらに、エディター、キャンバス、イベントバインディング、データバインディング、レンダリング、コード出力、セッターなど、ローコード開発プロセスで使用されるモジュール名も含めました。
  • 構造。ページ記述の構造、ページ コンポーネント ツリー、データ ソース、ライフサイクル、ページ状態などの定義方法が含まれます。
  • ビジネス シナリオによって、マテリアルの構成、制約、拡張は異なるため、マテリアルの説明にはカスタマイズをサポートするさまざまなフックが用意されています。

上記の合意に基づいて上位レベルの通信が可能になり、次のことが可能になります...   「相互接続された概念、相互接続された材料、相互接続された生態系」  可能になりました。

強力なスケーラビリティ

下の図はローコードデザイナーのスケルトン構造を示しており、デザイナーの拡張性は主に以下の5つの領域を中心に展開されます。これらの領域のカスタマイズは、プラグイン、マテリアル、セッターを通じて実現できます。

ローコード エンジンによってインキュベートされるローコード プラットフォームは、次の式を使用して理解できます。

ローコードデザイナー = ローコードエンジン + デザイナープラグイン * n + マテリアル * n + セッター * n

次の 3 つの代表的なローコード デザイナーは、ローコード エンジンをベースにしたさまざまなプラグイン、マテリアル、セッターで構成されています。

バックエンドページデザイナー

ミニプログラムデザイナー

プロセスデザイナー

もちろん、他にも多くのカスタマイズ可能なローコードプラットフォームデザイナーがありますが、スペースの都合上、ここでは全てを網羅できません。バックエンドページデザイナー内で、プラグイン、デザイナー、マテリアルを使ってカスタマイズできる領域は以下のとおりです。

プラグインのカスタマイズ

デザイナーカスタマイズの依存関係の一つに、デザイナープラグインがあります。エコシステムで流通しているプラ​​グインを直接利用することも、ニーズに合わせて独自のプラグインを開発することもできます。エンジンのコアモジュールと連携する様々なプラグインを作成することで、ローコードエンジンから分離しながら多様な機能を実現できます。

素材のカスタマイズ

マテリアルもローコード プラットフォームの非常に重要な部分であり、私たちは次の 3 つの側面でソリューションを提供しています。

  • 新しいローコード プラットフォームですぐに使用できる、ローコード マテリアルの基本セットを提供します。
  • 既存のソース コード コンポーネントをローコード コンポーネントに変換し、ローコード エンジンで使用できるようにする機能を提供します。
  • ローコード コンポーネント プロジェクトの初期化、ローコード コンポーネントのデバッグ、ローコード コンポーネントの構成など、ローコード コンポーネント開発機能を提供します。

カスタマイザー

セッターは、ローコードデザイナーでコンポーネントを設計する際に使用する視覚的な設定ツールです。設定ごとにセッターが必要です。例えば、設定がテキストの場合はテキストセッター、数値の場合は数値セッターが必要です。

下の画像の「ボタン コンテンツ」と「アイコン サイズ」の構成は、それぞれテキスト セッターとドロップダウン リスト セッターです。

標準のコンフィギュラではすべてのユーザーの個別のニーズに対応できない場合、カスタマイズと拡張機能も提供されます。開発者はカスタムコンフィギュラを開発し、コンポーネントで使用することで、コンポーネントがよりパーソナライズされた構成機能をサポートできるようになります。

完全なエコシステムは、箱から出してすぐに使用できます。

誰もが低コストでローコードプラットフォームを開発できるよう、ローコードエンジンに加え、サポートエコシステム(基本マテリアル、基本プラグイン、基本セッター、ツールチェーン)もオープンソース化し、よりすぐに使える機能を提供しています。エコシステムのさらなる開発は現在も進行中ですので、今後の展開にご期待ください。

商用製品の検証

DingTalk Yidaは、Alibabaが開発したローコードアプリケーション開発プラットフォームです。Alibaba CloudのクラウドインフラストラクチャとDingTalkのエンタープライズデジタルオペレーティングシステムを基盤とし、あらゆる組織に、アクセスしやすく高効率なデジタルビジネスアプリケーションを開発するための新たなモデルを提供します。Yidaで開発されたすべてのアプリケーションは、相互接続性、データ駆動型オペレーション、そしてセキュリティと制御性といった特性を自然に備えています。

DingTalkのフロントエンドアーキテクチャは、開発においてローコードエンジンの機能を活用しています。さらに、このローコードエンジンは、Alibabaグループ内の100を超えるローコードプラットフォームの構築をサポートしています。今後、より多くの商用製品にローコードエンジンが採用されるようになると予想されています。

なぜオープンソースなのか?

ローコードプラットフォームの開発には、これまで膨大な基礎開発作業が必要であり、時間と労力を要してきました。ローコードエンジンをオープン化することで、より多くの垂直産業におけるローコードソリューションのインキュベーションを容易にし、標準規格+SDKモデルの導入によってブランド認知度を高めたいと考えています。コミュニティの開発者がこれらのエンジンを活用することで、ローコード標準の策定を加速し、ローコードエンジンを改良し、ローコードプラットフォームのシナリオを充実させ、イノベーション能力を拡大することができます。

ローコードエンジンを使えば、カスタマイズされたローコードプラットフォームを迅速に構築できます。アリババはすでに100を超えるローコードプラットフォームを育成してきました。そして本日、ローコードエンジンは重要なマイルストーンを達成し、2022年3月23日に正式にオープンソース化されます。ぜひ公式ウェブサイトをご覧ください!

  • 公式サイト:https://lowcode-engine.cn/
  • github: https://github.com/alibaba/lowcode-engine

ローコード エンジンの開発プロセスと思考プロセスに興味がある場合は、以前の記事もご覧ください。   Alibabaのローコードエンジンとエコシステム構築:実践経験と考察

ローコードエンジンは長年にわたりグループ内で開発されており、R&Dチームは何世代にもわたって開発を続けてきました。その技術的な詳細、アーキテクチャ設計、そしてその背後にある技術的思考を皆様にご紹介したいと考えています。私たちは…  ローコードエンジンテクノロジーのホワイトペーパー この記事は、ローコード技術の原理を包括的に紹介し、ローコードエンジンへの理解を深めていただくことを目的としています。また、オープンソースコミュニティ内でより多くの志を同じくする方々の協力を得て、ローコード業界の急速な発展を加速させたいと考えています。さらに、コミュニティメンバーの皆様には、ローコードエンジンを理解した上で、その欠点を認識し、ご自身の経験やローコードビジネスシナリオに基づいた改善提案をしていただければ幸いです。ご協力を心よりお待ちしております。

「ローコードエンジンテクノロジーホワイトペーパー」のダウンロードリンク: https://developer.aliyun.com/ebook/7507