#Cloud9のワークスペース共有機能
*この記事はチーム開発の初心者向けの記事になっています。これまで一人で勉強していてそろそろチームで開発してみようかな?なんて方に向けた記事です。
みなんさんはチーム開発をする時の環境準備をするのが面倒だなと思ったことはありませんか?
GitHubなにそれ怖い、なんかややこしい、面倒。でもチーム開発はしたい。みんなで何か作ってみたい。
例えば2〜3人のチームでとりあえず簡単に開発してみたい!
けどgithubのオーガナイズからメンバー招待してブランチ切ってissue書いてアレしてコレしてなんて・・・・・・あーーーー面倒ですね。そこまでガチじゃない簡単にチームで開発したいんだ!
そんな時にオススメなのがCloud9のワークスペース共有機能です。
今回はCloud9の共有機能によるリアリタイム同時開発の利便性につて説明して行きたいと思います。
##Cloud9とは?
Cloud9とはAWSのサービスの一つでweb上で使える開発環境です。
クラウド上で仮装環境を作って作業ができます。
クラウドってなんだか時代の波に乗ってる感がしていいですね。
クラウド上に作成したワークスペースはAWS上のCloud9クラウドに保存されているのでもしあなたのPCが故障しても問題なくどのPCからでもCloud9のIDとPASSさえ覚えておけばワークスペースに入って開発ができます。
バックアップやローカル管理のリスクも減ります。
そして何より便利なのがワークスペースを作る時に選択できる環境が多い!
そしてワンクリックで環境ができてしまうこと!
以下に環境を列挙しておきます。
HTML5,Node.js,PHP,Python,Django,Ruby,C++,WordPress,RailsTutorial,Blank,Harvard's cs50
とりあえずなんでも揃ってますね。
今回の本筋はここではないのでCloud9の便利さはご自身で触ってみて体感してください。
##ワークスペース共有
###さて今回の本題のワークスペース共有機能についてです。
上の写真はCloud9のワークスペースに入った時の画面です。
一般的なエディター画面がブラウザ上で利用できます。下の方はコマンドエリアです。
###Cloud9ではワークスペースを他人に共有する機能がついてます。
コレによってどう便利になるの????
ざっくりフローをご説明します。
①リードエンジニアがCloud9上でワークスペースを作って開発環境を作る。
②開発メンバーをワークスペースに招待します。
③開発スタート!!!
「なんて簡単なんだ!!」
かなりショートカットしましたが体感としてはこんな感じです。
開発メンバーは自分のPC上に新しい開発環境をいちいち構築しなくて済むのでバージョンを間違ってエラーなんてことも起きません。
しかもクラウド上に保存されているワークスペースですので各個人のPCによるバックアップも不要。
しかし・・・
ちょっと察しの良い方は気付かれたのでは?
全員が同時に一つの環境を一気に開発しちゃってもし大きな間違いをしたらどうするの?コンフリクト多発じゃね?
GitHubの方が安心なのでは?と。
そこもCloud9さん考えてくれています。
###ワークスペース内の一つ一つのファイルにはfilehistoryという機能がついています。
直訳「ファイルの歴史」
そう、ファイルが生まれてから最後に保存されたところまでの情報が残っています。誰かが間違って編集・保存してしまっても大丈夫。その前に保存されていたところまで戻ることができます。
さらに、どこを誰が編集したのかの情報も記録されています。
それがリアルタイムで保存されているので一々gitにプッシュもしなくていいし開発前にプルする必要もない。
とにかく簡単、そして慣れてしまえば想像以上の開発スピードを発揮することが可能です。
上記がCloud9の開発環境の利便性についての説明です。
使い方はとてもシンプル。
そして全員で同時に一つのファイルを編集した時に感じると思いますがリアルタイムに色々なファイルがどんどんコーディングされていく様子は圧巻ですよ。
ただし・・・
###この開発手法には一つ大きな欠点があります。
それは事前の開発内容の設計を細かく決めておくこと、そしてメンバー全員が開発の全体像をしっかりと把握しておくことです。
サーバーと連携してデータのやりとりをする時も同じです。
細かく事前に決めておくことが沢山あります。
変数名の命名ルールとかデータベースのテーブルのカラム名とか編集していい範囲とかとか。
ですのでCloud9のワークスペース共有開発の限界人数は5人だと思います。
これ以上になると逆にコミュニケーションコストの方が高くついてしまうと思います。
チーム開発でもっとも大切なのはメンバーと適切なコミュニケーションが取れていること。
認識の違いなどがあると後々大変なことになってしまいます。
ちょっとやってみようかなと思った方は下のリンクから早速登録して使ってみてください!
https://aws.amazon.com/jp/cloud9/?sc_channel=PS&sc_campaign=acquisition_JP&sc_publisher=google&sc_medium=cloud9_b&sc_content=cloud9_e&sc_detail=cloud9&sc_category=cloud9&sc_segment=241388691967&sc_matchtype=e&sc_country=JP&sc_brand=brand&ef_id=WfCIXwAAAHn@cI9p:20180220055135:s