【UiPath】Studio・StudioXの出来る出来ない比較

# はじめに

この投稿は、StudioとStudioXの違いについて、紹介する投稿です。

実は、最近（2021-2022）のリリースで、StudioXとStudioの差が減っています。
例えば「使用できるアクティビティ」の差が無くなっていたり。変数の概念が変わっていたり。

なので、改めて「何が違うのか」を整理します。

また、他の記事では「StudioXで出来ること」は書いてあるのですが「StudioXで出来ないこと」があまり書かれていないので、そのあたりも整理します。


※ 2022年4月時点での情報を元に紹介しています。

# Studio と StudioX の背景

Studio は、2016年に登場した「`自動化開発ツール`」です。UiPath公式では以下のように説明されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/d2e434b0-5dc4-4077-0086-ff364c40efdf.png)
この開発ツール「Studio」は非常にパワフルで「大抵の自動化は実現できる！」のですが、使いこなすには「`プログラミングの基礎知識`」が必要でした。

```
<プログラミングの知識が必要になるケース>
　・ちょっと複雑な処理を書く　＝「制御構文（例：If）」の知識が必要
　・凝った集計処理をする　　　＝「.NET（例：Datatable操作）」の知識が必要
```

そのため、途中で「プログラミングの学習が難しい！」と挫折してしまうケースも珍しくありません。
<br>
そんな中、StudioX は`「かんたん・はやい・まよわない」`をキャッチコピーに 2019年 に登場した開発ツールです。
UiPath公式では、以下のように説明されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/b6022168-1f8a-183e-32cf-2258b6bad832.png)

この自動化ツールは、`プログラミング未経験でも 簡単に 誰でも開発できる`開発ツールとして、後ろに「X」の名前をつけて「StudioX」としてリリースされました。
噂によると、StudioXは「日本での顧客リクエスト」から生まれたツールらしいです。


# StudioX で出来ること・出来ないこと

StudioXの特徴（Studioとの差）を一覧にすると、以下のようになります。

| No | 内容 | 補足 |
|:-:|:-|:-|
| 1 | 「**変数**」という概念が無い |  :exclamation:Version 2022.4で撤廃<br>　変数が機能として登場（※1）  |
| 2 |フローは「上から下」に<br>流れる**シーケンス型**のみ  | :exclamation:Version 2022.4で撤廃<br>　フローチャート型なども使用可（※2）  |
| 3 | 設定ファイル＆計算式としての「**プロジェクトノートブック**」機能 | StudioXの独自機能  |
| 4 | データ管理の「**データマネージャー**」機能 | :exclamation:Version 2022.10で撤廃<br>StudioXの独自機能<br>プロジェクトノートブック／変数／引数／他プロセスの管理機能  |
| 5 | **一部アクティビティ** が使用不可 | :exclamation:Version 2022.4で撤廃<br>　すべてのアクティビティが利用可能に（※2） |
| 6 | **起動引数** が使用不可  | :exclamation:Version 2021.6で撤廃<br>　引数が指定が可能に |
| 7 | **プロジェクトパネル** が無い  | プロジェクト設定はある  |
| 8 | Xamlファイルは **Main.xamlのみ** | プロジェクトパネルが無いので、存在も感じない  |
| 9 | 別Xamlの **ファイル呼び出し** が不可 | :exclamation:Version 2022.4で撤廃<br>　InvokeWorkFlowアクティビティ利用可（※2）  |
| 10 | **フロー切り出し／部品化** が不可 | Studioで作成したxamlを配置することは可  |
| 11 | **高度な制御構文**（TryCatch等）が使用不可 | :exclamation:Version 2022.4で撤廃<br>　各種アクティビティが使用解放に（※2） |
| 12 | **高度なプロジェクト**（ライブラリ・テンプレート）が作成不可 | UPath提供のテンプレートは利用可能|
| 13 | Orchestrator上での**ジョブ・スケジュール**実行が出来ない）  | 2022.4では出来る？以前は出来なかったはず（※3）OrchestratorにPublishは出来る、Assistantでダウンロードして手動実行はできる  |
| 14 | **デバッグ実行**できない | :exclamation:Version 2022.Xで出来るようになるかも |
| 15 | **テスト自動化**の機能が使用できない | Studioなら利用可能 |


※1 ）変数は「変数の値を設定」で作成・移送は出来る、データマネージャーパネルで編集・削除が出来ます
※2 ）アクティビティパネルで「開発者向けアクティビティ」の表示をONにすれば、使用できます
※3 ）以前は出来ませんでしたが出来るようになったかも？詳細未確認です。



<br>

上記の「:exclamation:」マークがついている箇所が、以前は「StudioXでは出来なかった」ことが、新しいバージョンでは出来るようになった部分です。
結果、StudioとStudioXの違い・差 が減っています。

特に大きいのが「1）StudioXには、変数 という概念が無い 」です。Version 2022.4で撤廃・解放され、初心者には難しい「変数」の概念がStudioXに登場しました。

https://twitter.com/mh_ti_fu/status/1509159399067381764?s=20&t=PBWPbCMOl-vCr1vhzHHgqw

また「5）StudioX では、一部アクティビティが使用不可」も、Version 2022.4で撤廃・解放されました。これも大きな変化です。

https://twitter.com/miya_gis/status/1513409615920504833?s=20&t=qbzW6-eXEIRlnY_xD67xdA

:::note warn
Version 2022.4で「Studio用のアクティビティが StudioX に解放された」とは言っても、StudioXで動くことは保証されていません。
現段階では「どうしても使用したいケースに限って使用する」「動かなくなったら自己責任の覚悟で使用する」と考えるべきです。
:::

# ライセンス体系

StudioXだけを利用する場合は、「Citizen Developer」ライセンスでOKですが、Studioは使用できないので注意が必要です。

| ライセンスモデル | Task<br>Capture | Process<br>Mining | Studio | StudioX | Attended<br>Robot | Action<br>Center |
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
| Citizen Developer | 〇  | Ｘ  | Ｘ  | 〇  | 〇  | 〇  |
| RPA Developer | 〇  | Ｘ  | 〇  | 〇  | 〇  | 〇 |
| Process Developer | 〇  | 〇  | 〇  | 〇  | 〇  | 〇  |

Orchestratorでコード・ライセンスの集中管理をする場合は、別途、Orchestratorライセンスが必要です。

# StudioXに向いている・向いていない

単純に「誰向けのツールなのか」で言えば、Studioが、例えば「`情報システム部門`」ユーザーだとすれば、StudioXは「`非ITの現場部門`」ユーザー向けのツールです。
なぜなら「`プログラミング経験がなくても使えるようにシンプルになっている`」からです。

| | Studio | StudioX |
|:-:|:-:|:-:|
| 誰向け？| 情報システム部門  | 現場部門  |
| プログラミング知識<br>は必要？|プログラミング知識<br>が「必要」  | プログラミング知識<br>は無くてもOK|

そのため、全社に展開する（＝現場部門でもRPAを使ってもらう）時には、StudioXの選択肢が必要になってきます。

<br>

自動化する業務の内容で言えば、Studioは「なんでも出来る」のに対してStudioXは`一部の業務には不向き`です。
理由は、`高度なプロジェクト作成・エラーハンドリングが出来ない（しにくい）・無人実行が出来ない` からです。

||  Studio | StudioX |
|:-:|:-:|:-:|
|シンプルな業務|〇（できる）|◎（できる＆簡単に作れる）|
|複雑な業務|〇（できる）|×（複雑なロジックを組みにくい）|
|何度も繰り返せる業務|〇（できる）|〇（できる）|
|後戻りできない業務<br>（更新系など）|〇（できる）|×（エラー制御が出来ない）|
|無人での自動実行|〇（できる）|×（人が横にいないと実行できない）|
|再利用・横展開<br>したい業務|〇（できる）|×（コードの再利用が難しい）|

<br>

最後に、学習コストで言えば、圧倒的にStudioXのほうが有利です。
StudioXは `シンプルで直感的に操作できる`ようになっているので、初期学習コストが抑えられます（触りながら学ぶ）。
`また複雑なことは「敢えて出来ない」`ようにもなっている（Studioの難しさを隠している）ので、中期後期の学習が不要になります。一方「Studio」は、奥が深く、作りこめる度が高い分だけ、使いこなすまでの期間・学習コストが増えます。

| | Studio | StudioX |
|:-:|:-:|:-:|
| はじめやすさ | ◯（アカデミーで学習してから が吉）  | ◎（簡単＆始めやすい）  |
| 学習コスト | ◯（慣れるには、多少の時間が必要）  | ◎（使いながら慣れていく感じ）  |
| 作り込める度 | ◎（プログラミング知識があれば色々出来る）  | △（複雑なことは実現しにくい）  |


# まとめ

StudioXは、Studioより機能が少ない分、学習コストが少なく、より簡単に使いこなせるようになっています。「初学者でも簡単に使える」という意味では、圧倒的に StudioX が有利です。

また、機能差はだんだん減っていますが「StudioXでは出来ないこと」がまだ明確にあるので、理解が必要です。


# 終わりに

以上、StudioXの紹介、比較記事でした。
この記事が参考になったら、 LGTMをお願いします。閲覧ありがとうございました。