【UiPath】モダンデザイン（概要編）

# はじめに

この投稿は、RPAツール「UiPath」の モダンデザイン 機能 について「個人的に」まとめたものです。量が多いので、数回に分けて書きます。

UiPath Adventカレンダーの 1日目 の記事でもあります。

https://qiita.com/advent-calendar/2021/uipath

# モダンデザインとは？
モダンデザインとは、`それまで主流だったデザイン・スタイルを一新する「新デザイン」` の総称です。

UiPath では、version2020.4 以降で登場した `新しく進化した機能を提供する アクティビティ パッケージ` のことを指します。特定ジャンルの既存パッケージ機能を「`すべて含め、置き換える`」形になっています。

```
- v 2020.04：UI操作の新パッケージ「UiAutomationNext」登場（UiAutomation.Activities 20.10 以降）
- v 2021.10：Excel系の新パッケージ「Excel Modern」登場（Excel.Activities 2.11.3 以降）
```

図のイメージで言うと、以下のような位置づけです。（黄色の部分がモダンデザインです）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/b969cdc2-105b-775c-12a6-c80c2083efe7.png)

:::note warn
類似キーワードとしてよく耳にする「モダンフォルダ」は、Orchestratorのリソース管理方法の話です。モダンデザインは、UiPathStudio 上の「新しいアクティビティ」のことで、別の話です。
:::

# モダンデザインを使用するには？

モダンデザインの機能を表示するには、プロジェクト設定画面の「全般タブ」で モダンデザインエクスペリエンスを「はい」に設定し、UiAutomation.Activities パッケージを「20.10」以上、Excel.Activitiesのバージョンを「2.11.3」以上に上げる必要があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/ca6616ad-500f-21a1-19af-b7fddc131e0f.png)

https://docs.uipath.com/studio/lang-ja/docs/modern-design-experience


モダンデザインエクスペリエンスが「はい」に設定されていると、アクティビティパネル から従来の「クラシックアクティビティ」が表示されなくなりますが、絞り込みボタンで「クラシック アクティビティを表示」にチェックをすれば、表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/145d8175-1154-fc57-817c-27905fbbcbf4.png)


# モダンデザインと StudioX
StudioX は「現場担当者が簡単に早く迷わず作れるRPAツール」として 2019.10 に登場しましたが、その機能は、今までの Studio の機能をベースにしつつも、新しいパッケージラインとして作成されました。

そして、2020年／2021年に Studioに「UiAutomationNext」「Excelモダン（BusinessExcel）」機能として戻ってきました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/4e7b34ef-de04-d376-378f-fa4641b62077.png)

なので、Studioにモダンデザインが来た段階で「既にStudioXで利用されてきた実績」があり、安心して使用することが出来ます。

モダンデザインのUXで特徴的なものとして「プラス（＋）サイン」や「アプリケーションカード」がありますが、この概念も StudioX で生まれた概念だと思います。

# モダンとクラシック
「UiAutomationNext」「Excel Modern」という新しい機能パッケージの登場に伴い、既存の「UIAutomation」パッケージと「Excel系」パッケージは「`クラシック`」アクティビティという位置づけになりました。

UiPathでは、アクティビティを以下のように分類していて、クラシックは「`使っても良いが、今後は利用可能なモダンデザインの利用を推奨する。将来的に非推奨になるかもしれない` 」というものです。

|機能<br>ライン|呼称|利用の<br>オススメ度	|今後の機能追加<br>があるか|
|:-:|:-:|:-:|:-:|
|メイン	|利用可能 なアクティビティ<br>（モダンを含む）	|○	|○（機能追加の主流）|
|サブ	|クラシック アクティビティ	|△	|△（進化は少ない）|
|将来不明|非推奨の アクティビティ	|✕	|✕（進化しない）|

# クラシックアクティビティは、今後も使って良いの？
利用しても大丈夫です。

クラシックアクティビティは現時点では「非推奨」では無いので、使っても問題ありません。（ただし前述のように「アクティビティパネル上で隠れている」場合は表示する必要はあります）

`モダンアクティビティ と クラシックアクテビティ の両方を使って開発することもできる` し、旧来の慣れ親しんだアクティビティで「早く確実に開発したい」なら「クラシックアクティビティ」を使っていくのも良いでしょう。

ただし、以下のようなメリットデメリットを考えると、早い段階で「モダンデザイン」を学習して、身につけておいたほうが良さそうです。

|| 使うメリット | 使うデメリット |
|:-:|:-|:-|
|モダン   | 早く開発できる<br>安定したセレクタ<br>機能追加が加速中<br>トレンドにのれる<br>実は簡単|情報が少ない<br>普及活動これから<br>みんなが乗ってきてない<br>使い方の説明不足<br>学習コストの発生|
|クラシック  | 慣れている<br>安心<br>学習コスト不要|機能追加されない（古いまま）<br>将来的に非推奨に（時期未定）<br>技術評価として低くなりがち|

:::note info
今ならまだ、モダンとクラシックの機能差が少ないですが、時間とともに機能差は開き、特に精神的な学習コスト・ハードルは上がっていくと思います。
:::


# クラシックの処理をモダンに移行しないとダメなの？
現時点（2021年11月）では「無理に移行しなくても良い」という状態です。
「早く移行を進めてね」と言う話も「非推奨にするよ」と言う話もありません（たぶん）。

ですが、将来的には「モダンが主流」になるのは確実で「出来るなら移行したほうが良い」
し、これから新規に作るフローは「モダンで1から作成する」ほうが効率的です。

問題は「参考記事や有益な情報が少ない」事ですが、コレは徐々に解決していくと思います。
（モダンフォルダー（Orchestrator）のときも、徐々に増えていったので）

ちなみに、モダンフォルダー（Orchestrator）のリリースからの動きを見てみると、以下のように登場から「2年」で、クラシック機能は「非推奨」になっています。

```
2020.04 モダンフォルダーの登場
2021.10 クラシックフォルダーからの「非推奨化スケジュール」がアナウンスされた
2022.10 クラシックフォルダーの「非推奨化」 
202X.XX クラシックフォルダーの廃止（？）
```

:::note info
クラシックアクティビティのUiPath公式サポート状況は、今後も注意してチェックする必要があります。
:::


# モダン の機能は クラシックと 何が違うの？
基本的には「新しいUI」で「より使いやすく」「より簡単な操作」が出来るようになっています。

「UiAutomaitonNext」で言えば

- 要素認識・レコーディングが便利で簡単になった
- オブジェクトリポジトリが使用できるようになった
- 検証プロパティが追加された
- 新しいバックグラウンド実行モードが用意された
- プロジェクト設定で動作を一括設定できる

などの特徴があります。「Excelモダン」で言えば

- Excel開く系のスコープが３種類になった
- アプリケーションカードの使い方
- 新しい機能・アクティビティが増えた
- プロジェクト設定で動作を一括設定できる

などの特徴があります。
アクティビティの新旧比較でいうと、こんな感じです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/98446c02-aa4e-d4e8-4575-09e4fb27e2dc.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/c6681bee-7e1d-3364-53d8-ce1013d28889.png)



細かい説明は、次回以降の投稿で紹介していきます。

# とは言っても モダンデザイン って難しいんでしょ？

いいえ。クラシックアクティビティより簡単です。使うだけなら「誰でもできる」はず。（簡単で使いやすいが売りの「StudioX」から来た機能ですから）

簡単すぎて、逆に「気持ち悪い」くらいですが、気持ち悪い理由は「`クラシックとの比較・違い」が分からないから` だと思います。

特に、UiAutomationNext（Ui操作系のモダンアクティビティ）は、セレクタ／要素特定の「考え方」が違います。ある意味「 **真逆** 」の考え方です。

|観点| クラシックのUiAutomation | モダンのUiAutomation |
|:-:|:-:|:-:|
|セレクタの考え方 | 努力して1点でしっかり固定する | 3種類の点で支える  |
|セレクタ特定 | 開発者が頑張って安定させる  | ツールがいい感じやってくれる  |
|セレクタ安定化 | ガチッと完全一致で固定させる  | あいまいでもOK（3種類の点で固定）  |
| Ui変更への強さ| 弱い：Ui変更で動かなくなるかも  | 強い：Ui変更あっても耐えれるかも  |

そのあたりも 次回移行の記事で書きたいと思います。

# 終わりに

今回は概要編として、モダンデザインの「背景・概要」について書きました。

次回以降では、モダンデザインの「具体的な機能」について説明します。

https://qiita.com/miya_gis/items/855c99aa3ccd6663c951

https://qiita.com/miya_gis/items/d5ade049072ad39229de

https://qiita.com/miya_gis/items/b9903d5145098a918e17

https://qiita.com/miya_gis/items/a2332840f358628680ff

この記事が参考になったら、 LGTMをお願いします。閲覧ありがとうございました。