Vscode online vs cloud9【ツール徹底比較】

まずは簡単な比較から。

cloud9,vscode比較まとめ

cloud9

  • AWSAmazon Web Services)が提供するクラウドベースの統合開発環境IDE)です。
  • ブラウザ上で動作するため、PCやモバイル端末などどこからでもアクセスできます。
  • 設定がシンプルで、AWSインフラストラクチャーにより、サーバーの設定や環境構築などが簡単にできます。
  • ターミナルウィンドウや、チャット機能など、共同開発に必要な機能も備えています。
    • 複数の開発者で一つの画面を開発する、モブプログラミングに最適です。
  • 有料版もあり、AWSのサービスとの統合性が高いため、AWSを利用している場合には特に使いやすいです。
    • lambdaへの接続も可能です。

vscode

  • Microsoftが提供する、オープンソースのコードエディターです。
  • インストールしてローカル環境で使用するため、ユーザーのパソコンにインストールする必要があります。
  • 多機能で、豊富なプラグイン拡張機能が用意されています。
  • カスタマイズ性が高く、ユーザーが好みに応じて機能を追加できます。
  • 拡張機能を使用することで、Gitやデバッガー、言語サポートなども利用できます。

主な違いは以下の通りで、これらを総合的に判断してエディターを決めるとよいでしょう。

ちなみに、vscodeがそのままオンラインに乗った、vscode onlineと呼ばれる製品が登場しております。

vscode onlineとは?

名前の通り、vscodeクラウド上に埋め込まれたもの。

画面の様子は以下の通り。

編集した結果はクラウド上での保存が可能であり、その選択肢は

の二種類が存在する。

インストールどころかアカウントもいらない

vscode.dev」へアクセスするだけで「Visual Studio Code」が完全に動作します。 インストールどころかアカウントもいらないため、セットアップのハードルがcloud9に比べて格段に低いのが特徴です。

とりあえず次のリンクをクリックして、アクセスすることをおすすめします

https://vscode.dev/

from https://forest.watch.impress.co.jp/docs/news/1360147.html

自分の場合は、次のようなエディターが出現した。

ただし、利用できない拡張機能もある

vscode onlineはインストールが不要な反面、通常のvscodeで使用できる拡張機能が使えない場合もあります。

既にMicrosoftは機能拡張の作者向けにWeb対応のガイドを提示しているが、一読する限りは一部の処理はNative(つまりVS Code向け)とWeb(つまりVS Code for Web)で処理を分ける必要がありそうだ。

拡張機能を書く時のコードは、ネイティブアプリとwebで異なる

from https://pc.watch.impress.co.jp/docs/topic/feature/1366363.html

firefox未対応

vscode onlineはfirefoxについては未対応です。 そもそもfirefox使いの人を見たことないのですが...

vscode onlineがcloud9に劣る点

AWS Lambdaとの連携が難しい(ネイティブのvscodeからでないと連携ができない)

vscode で一応aws lambdaを編集することはできますが、cloud9ほどの手軽さはありません。

  1. Visual Studio Code のインストール
  2. Visual Studio Code のプロキシ設定
  3. AWS ToolKit のインストール(Vscode onlineの拡張機能)
  4. AWS CLI のインストール
  5. (4)でインストールしたAWS CLI のインストール確認 & 設定
  6. Visual Studio Code からAWS への接続

from https://qiita.com/taku_ibu/items/7d5d75c0935a1796aa6c

cloud9に勝る点

「編集したい→エディタを開く」までが早い

AWSのログインの認証は正直かなりめんどくさい。 いちいち「あなたはロボットですか?」に答えなければならない

vscode onlineは、ブラウザに「vscode.dev」を入力するだけで開ける。

Cloud9とは何か?

AWS Cloud9 には、事前認証された AWS コマンドラインインターフェイスと一緒に開発環境をホストしている、マネージド Amazon EC2 インスタンスに対する sudo 権限を含むターミナルが付属しています。これにより、すばやくコマンドを実行して AWS のサービスに直接アクセスすることが簡単になります。

要は:Cloud9とはEC2に対して、vscodeのようなエンジニアにとって快適なインターフェースを追加したもの

from https://aws.amazon.com/jp/cloud9/

料金:無料

AWS Cloud9自体には費用はかかりませんが、これに合わせて利用するサービスには料金がかかってくるため注意が必要です。

from https://www.yume-tec.co.jp/column/awsengineer/4595#9Lambda

AWS Cloud9 には追加料金はかかりません。AWS Cloud9 開発環境に Amazon EC2 インスタンスを使用する場合は、コードの実行と保存に使用された コンピューティング とストレージのリソース分 (例: EC2 インスタンス、 EBS ボリューム) のみのお支払いとなります。また、AWS Cloud9 開発環境を、SSH 経由で、追加料金なしで、既存の Linux サーバー (オンプレミスサーバーなど) に接続できます。

from https://aws.amazon.com/jp/cloud9/pricing/

vscodeに勝る点

リアルタイムでのメンバー間の連携

共同作業中にチームメンバーは互いのタイピングをリアルタイムで確認でき、IDE 内から即座にチャットを開始できます。

ペアプログラミングに適した IDE

lambdaをサポートしてくれる

Cloud9 では、AWS Lambda 関数をローカルでテストおよびデバッグするための環境を利用できます。これにより、コードを直接反復処理して時間を節約し、コードの品質を向上させることができます。

terraformのレジストリ登録済み

次の名前でterraformレジストリに登録されていた。 Iacの恩恵を受けることができる。

レジストリ名:Resource: aws_cloud9_environment_ec2

サンプルコード

resource "aws_cloud9_environment_ec2" "example" {
  instance_type = "t2.micro"
}

data "aws_instance" "cloud9_instance" {
  filter {
    name = "tag:aws:cloud9:environment"
    values = [
    aws_cloud9_environment_ec2.example.id]
  }
}

resource "aws_eip" "cloud9_eip" {
  instance = data.aws_instance.cloud9_instance.id
  vpc      = true
}

output "cloud9_public_ip" {
  value = aws_eip.cloud9_eip.public_ip
}

from https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloud9_environment_ec2

一方、AzureのVscode Onlineをサポートするレジストリは存在しなかった。

vscodeに劣る点

awsへのログインが必要

awsのログインはかなり面倒です。 idにパスワードにアカウント名に二要素認証までついててんこ盛りです。 ささっと編集したいときにこの修正はかなり面倒でしょう。 awsのサービスならではの悩みです。

これはCloud9とう特性上仕方ない作業です。AWSのログインってなぜかメールアドレスとパスワードの画面遷移があって、しかも毎回ロボットか疑われるので地味に面倒ですよね...。VS CodeなどからSSHで接続すれば公開鍵認証なのでパスワードを打つ必要はなくなります。

from https://note.com/mtkn1/n/nbc33e765558b#9de1ebf9-a67e-4993-91a0-1d40e52c399b

syntaxハイライト

Cloud9は内蔵エディターを搭載しておりWebアプリとしては高性能ですが、ネイティブなエディターには劣ります。VS Codeに乗り換えるとPythonシンタックスハイライトやコード補完、型推定などが大幅に強化されます。 コーディングはVS Codeを使ってCloud9にコピペする使い方もありますが、手動でファイル操作するよりもVS Codeまたはコンソール上で操作したほうがファイル管理が煩雑になりません。

現在は改善されている可能性があるが、シンタックスハイライトはVscodeに軍配が上がる。

from https://note.com/mtkn1/n/nbc33e765558b#9de1ebf9-a67e-4993-91a0-1d40e52c399b

まとめ

参考

https://www.youtube.com/watch?v=d_JXIDvOctA

title:vscode onlineとは何か?