まずは簡単な比較から。
cloud9,vscode比較まとめ
cloud9
- AWS(Amazon Web Services)が提供するクラウドベースの統合開発環境(IDE)です。
- ブラウザ上で動作するため、PCやモバイル端末などどこからでもアクセスできます。
- 設定がシンプルで、AWSのインフラストラクチャーにより、サーバーの設定や環境構築などが簡単にできます。
- ターミナルウィンドウや、チャット機能など、共同開発に必要な機能も備えています。
- 複数の開発者で一つの画面を開発する、モブプログラミングに最適です。
- 有料版もあり、AWSのサービスとの統合性が高いため、AWSを利用している場合には特に使いやすいです。
- lambdaへの接続も可能です。
vscode
- Microsoftが提供する、オープンソースのコードエディターです。
- インストールしてローカル環境で使用するため、ユーザーのパソコンにインストールする必要があります。
- 多機能で、豊富なプラグインや拡張機能が用意されています。
- カスタマイズ性が高く、ユーザーが好みに応じて機能を追加できます。
- 拡張機能を使用することで、Gitやデバッガー、言語サポートなども利用できます。
主な違いは以下の通りで、これらを総合的に判断してエディターを決めるとよいでしょう。
ちなみに、vscodeがそのままオンラインに乗った、vscode onlineと呼ばれる製品が登場しております。
vscode onlineとは?
画面の様子は以下の通り。
編集した結果はクラウド上での保存が可能であり、その選択肢は
- Github
- Azure
の二種類が存在する。
インストールどころかアカウントもいらない
「vscode.dev」へアクセスするだけで「Visual Studio Code」が完全に動作します。 インストールどころかアカウントもいらないため、セットアップのハードルがcloud9に比べて格段に低いのが特徴です。
とりあえず次のリンクをクリックして、アクセスすることをおすすめします
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ほどの手軽さはありません。
- Visual Studio Code のインストール
- Visual Studio Code のプロキシ設定
- AWS ToolKit のインストール(Vscode onlineの拡張機能)
- AWS CLI のインストール
- (4)でインストールしたAWS CLI のインストール確認 & 設定
- 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 内から即座にチャットを開始できます。
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とは何か?