ローコード開発とは？ - いまローコード開発が注目されている理由

![20210331175843.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/785128/5105d52f-91a7-6434-d8db-99852fa754ee.jpeg)
（<a href="https://www.infragistics.com/community/blogs/b/jason_beres/posts/what-is-low-code-development" target="_blank">原文</a>：Jason Beres／翻訳：インフラジスティックス・ジャパン）

革新的なソリューションを創り出すというIT組織への期待はますます高まっています。しかし、ほとんどのIT部門は膨大なバックログに埋もれており、開発者不足に頭を悩ませ、より少ない労力で多くのことを行うように求められています。さらに、コロナウイルスの流行によって明らかになったように、ビジネスの存続には予測不可能な要求に適応する敏捷性が必要不可欠です。

ローコード開発は、開発者と「シチズンデベロッパー」（コーディング経験がなくともスプレッドシートなどの技術を駆使してソリューションを構築する現場担当者）の両方がこれらの課題にうまく対処するのに役立つ大きな可能性を提供します。

## ローコード開発とは？

ローコードソフトウェア開発は、最小限の手作業でアプリケーションを迅速に配信できるようにするアプローチです。これらのソリューションは、ITユーザーがワークフローとアプリケーションという形で組み立てることができるビルディングブロックを提供します。ビルディングブロックはワークフローの背後に実際には存在しているコードを抽象化します。つまりITユーザーはコーディングすることなくワークフローとビジネスアプリを組み立てることが可能になります。

そのため、数千行の複雑なコードや構文を記述するのではなく、ローコードアプリ開発によって、最新のユーザーインターフェース、インテグレーション、データ、ロジックを備えた完全なアプリケーションをすばやく視覚的に構築できます。アプリケーションは、最小限の手作業でより速く配信されます。

## ローコード開発プラットフォームが提供するもの

一般的なローコード開発プラットフォームには、次の機能が1つ以上含まれています。

- <b>ビジュアルIDE</b>：アプリケーションのUI、ワークフロー、データモデルを視覚的に定義し、必要に応じてコードを記述して追加するための環境。
- <b>さまざまなバックエンドまたはサービスへのコネクタ</b>：データ構造、ストレージ、検索を自動的に処理します。
- <b>アプリケーションライフサイクルマネージャー</b>：テスト、ステージング、および本番環境でアプリケーションを構築、デバッグ、デプロイ、および保守するための自動化ツール。
- <b>デザインからコードへ</b>：デザイナーと開発者に、プロトタイプをデザインし、デザインを本番環境に対応したクリーンなコードに簡単に変換するための共通プラットフォームを提供する統合システム。

## ローコードソフトウェアが重要な理由

451 Researchによると、企業は <a href="https://rh-us.mediaroom.com/2018-12-13-Tech-Leaders-Report-Urgent-Hiring-Needs-For-2019-Project-Based-Hires-And-Re-Skilling-Play-Role-In-Staffing-Strategies" target="_blank">IT人材を見つけるのがますます困難</a> になっており、ローコード環境ではコーディング言語と比較して <a href="https://www.redhat.com/cms/managed-files/mi-451-research-intelligent-process-automation-analyst-paper-f11434-201802.pdf" target="_blank">開発時間の50％から90％を削減できる可能性</a> があります。ローコードはソフトウェア開発の複雑さを劇的に軽減するため、このアプローチを採用するあらゆる規模の企業は、<b>開発者の生産性と速度を向上させる</b>ことができます。

開発者は、Java、.NET、JavaScriptなどの開発環境や使い慣れたIDE、自動テストフレームワーク、DevOpsプラットフォームから切り離されてローコードプラットフォームを使用することを想像して反発するかもしれません。しかし企業はほとんどの場合、ITチームが提供またはサポートできるより多くのアプリケーション開発を必要としています。ITはすべてにローコードプラットフォームを使用するわけではなく、開発を加速し、生産性を上げるために利用することができます。

## ローコード開発の利点

### 比類のない「価値実現までの時間（Time to value）」を実現

- 既存の人材を活用して、ビジネスに必要なアプリを迅速に提供します
- 開発ツールキット（開発者の経験に基づく）、視覚的なユーザーインターフェイス、再利用可能なコンポーネントなどのローコードの属性を使用して、開発者の生産性を向上させます
- 組み込みのコラボレーションツールを使用して、部門の枠を超えたチーム間でより迅速な意思決定を可能にします

### より規模の大きい開発

- 大きなコストをかけずに、プロセス自動化アプリからミッションクリティカルなシステムの最新化に至るまで、さまざまなソリューションを開発します
- 魅力的なウェブ、モバイル、またはUXでエンドユーザーに継続的な改善を提供します
- クラウドネイティブアーキテクチャで簡単に拡張できる保守可能なソリューションを構築します

### 開発の新しい方法を形作る

- 部門の垣根を取り払って、強力なビジネスとITのパートナーシップを促進します
- 組織全体でより多くの開発者がアプリケーションを構築し、貢献できるようにします
- 変化するビジネスや顧客のニーズに迅速に対応するために機敏性を維持します

## ローコード開発と従来の開発の比較

従来のコーディングとは、開発者とプログラマーのチーム全体と協力して特定の要件を収集し、開発プランを作成し、開発チームと協力して、特定のニーズを満たすアプリケーションのカスタムコードを作成することを指します。

従来のアプローチでは結果的にはアプリケーションが作成されますが、これらのプロジェクトは複雑で費用がかかることが多く、次のような複数の要因により遅延します。

- ユーザーエクスペリエンスの欠如
- さまざまなコーディング上のエラー
- 不正確な見積もり
- テストの課題
- インフラストラクチャの遅延

さらに、従来の開発アプローチでは、アプリケーションを安全で最新の状態に保つために、開発者による継続的なメンテナンスサイクルが必要です。

一方、ローコード開発プラットフォームは、デベロッパーが特定のユースケース向けのアプリをすばやく作成できるようにすることで、ソフトウェアの配信を加速するのに役立ちます。
ローコードプラットフォームを使用すると、共通の機能やコンポーネントで構成されるアプリをスクラッチでコーディングするために時間と手作業を費やすのではなく、開発者は既存のテンプレートから作業を開始し、事前に用意されたエレメント、フォーム、オブジェクトをドラッグして、特定の部門やチームが必要としているシンプルな作業アプリを手間をかけずに編成できます。サードパーティのサービス、データソース、セキュリティとコンプライアンスのレイヤーなどを取り込む機能を追加することもできます。

## ローコード開発のこれから

最近のGartnerの調査では、2024年までにアプリケーション開発の65％以上がローコードプラットフォームで行われると推定されており、ソフトウェアの利点をより迅速かつ低コストで獲得しようとしている企業にとって、ますます期待される選択肢になりつつあることが示されています。

依然として組織全体で利用するような大規模なエンタープライズクラスのアプリケーションを構築するには、高度なスキルを持つプログラマーが必要です。しかし、すでに一部の開発者はローコードを使用して、顧客向けアプリケーションを迅速に開発し、データ集約型のワークフローを設計し、統合を自動化しています。

また、一部のローコードプラットフォームは、デザインからコード生成への問題にも完全に対処しており、多くの企業が苦労しているデザイナーから開発者への引き継ぎの問題を解決しています。これらのプラットフォームにより、マネージャー、デザイナー、開発者は統合された環境で作業できるため、デザインプロセス中に正確な仕様を管理するために複数のツールを使用する必要がなくなります。

## デザイナーと開発者の連携について

デザイナーから開発者への引き継ぎは、デザインチームと開発チームの間で長い間フラストレーションの原因となってきました。これは、それぞれが独自の互換性のないシステムを使用しているためで、企業の非効率性と生産性の低下につながります。

一般的にこの引き継ぎの問題の原因は、仕様と機能の伝達障害です。たとえば、静的なデザインファイルを見ても、スクロールバーのピクセル測定値を知ることはほぼ不可能です。そのため、開発者は各要素のサイズと画面上の他の要素との相対的な比率を推測する必要があります。

引き継ぎの際に機能の伝達漏れがあったり、開発者がモックアップに表示されている画像のファイルを見つけることさえできない場合、問題はさらに複雑になります。

## Design-to-Code というソリューション

Infragisticsでは、デザインからコーディングまでの完全なプロセスに着目しています。
私たちが解決しようとする課題は次のとおりです。

- <a href="https://jp.infragistics.com/products/ignite-ui-angular" target="_blank">Angular</a>、<a href="https://jp.infragistics.com/products/ignite-ui-react" target="_blank">React</a>、<a href="https://jp.infragistics.com/products/ignite-ui-blazor" target="_blank">Blazor</a>などの最新のフレームワークを対象とするビジネスアプリを構築するためのWYSIWYGローコードアプリビルダーツールはありません
- デザインチームのデザインを実際のコードや実際のアプリケーションに変換することは困難です
- 多くのローコードプラットフォームには、UXパターンのインベントリとブランドスタイルのガイドラインを、再利用またはコンテキスト化可能なソフトウェアコンポーネントに一致させる設計システムがありません

## Indigo.Design　ローコードプラットフォーム

現在、新しいWebベースのソフトウェア製品である <a href="https://jp.infragistics.com/products/indigo-design/app-builder" target="_blank">Indigo.Design App Builderをプレビュー公開</a> しています。これは、デザインおよび開発チームがビジネスアプリを迅速に構築するのに役立つ、ローコードのクラウドベースのWYSIWYGドラッグアンドドロップツールです。当社のソフトウェアプラットフォームは完全なデザインシステムに支えられており、Adobe XD、Sketch、Figmaなどの一般的なデザインツールと互換性があり、実際に利用可能なUIコントロールを含み、無限のテーマオプションを提供し、標準ベースのコード出力を提供します。

![20210331175902.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/785128/002fdfd9-3dcd-5e9c-ec1e-22a866b13281.png)

ローコードのクラウドベースのソフトウェアがチームのアプリ配信の高速化にどのように役立つかについて詳しくは、<a href="https://jp.infragistics.com/products/indigo-design/app-builder" target="_blank">Indigo.Design AppBuilder</a> にアクセスしてください。