CHICIO CODING

Android Studio vs Xcode vs AppCode: a brief comparison about coding speed

16 Jan 2018 – 4 min read

この記事ではAndroid Studio、Xcode、いくつかのJetBrains IDEで達成可能なコード作成とリファクタリングという観点から、コーディング速度を比較します。

IDE (Integrated Development Environment) とは、ソフトウェア開発者のためのツールボックスのことです。 私がlastminute.comグループで働き始めたとき、Androidプラットフォームに関する私の知識は非常に限られていました。 しかし… lastminute.com グループはアジャイルソフトウェア開発企業であり、開発ワークフローで使用する手法の 1 つにペアプログラミングがあります。 プロミスキャストペア」では、各プログラマーが一人の相手としかペアを組まず、チーム内の他のプログラマーとコミュニケーションを取りながら作業を進めるため、システムに関する知識がチーム全体に行き渡ることになる。 ペア プログラミングにより、プログラマーはパートナーのコードを調査し、フィードバックを提供することができます。 ペア プログラミング セッションでは、Android プラットフォームのモバイル アプリケーションの開発について多くを学びました。 最初の数日間で学んだことのひとつは、公式IDEの違いです。 Android StudioとXcodeです。 AndroidのコーディングセッションでFrancescoが達成したコーディングスピードと、iOSのXcodeで同じことをするのがどれほど遅いかを見て、Xcodeと比較して、リファクタリング機能のセットを持つAndroid Studioがどれほど進んでいるかを理解しました。
この投稿では、モバイル アプリケーション開発によく使用される IDE を、それらを使用することで達成可能なコーディング速度に焦点を当てて簡単に分析し、この執筆時点で、なぜ私が JetBrains IDEs ファミリーを(モバイル アプリケーション開発に限らず :bowtie: )好み始めたかを説明したいと思います。 8年前から使い始めましたが、今でも日々の仕事の中で手元にあります。 数秒で開くので、非常に素早くコードを書き始めることができます。 しかし……アプリのコードが複雑になってきて、簡単なリファクタリング作業が必要になったらどうするのでしょうか? 新しいクラスやプロパティを作成する必要があるとき、何らかの形で役に立ちますか? コード内の移動が必要なとき、あるクラスから別のクラスに素早く移動する必要があるとき、役に立ちますか? 正直なところ、それはあまり役に立ちません。 特に Swift と Objective-C が混在したプロジェクトでは、単純な名前の変更でさえも骨の折れる作業になります。 全ては手作業で行わなければなりません。 例えば、次のようなコードの作成とリファクタリングが混在したリストを考えてみてください。

  • 新しいクラスを作成する
  • インスタンス化してローカル変数として保持する
  • 前のクラスにメソッドを追加する
  • 以前に作成したメソッドにパラメータを追加する
  • ローカル変数を作成するコントローラのプロパティとして取り出す

次のビデオでは、Xcode でこれらの操作を行うことに挑戦しています。 この記事の執筆時点で、利用可能な Xcode のバージョンは 9.2 です。

上記のリストにあるものをすべて実装するのに2分以上かかります。本当に遅いですね! :fearful:

Android Studio

lastminute.com グループ以前、私は Android Studio をほんの数回、非常に簡単な Android アプリのために使ったことがあります。 その後、Francesco と仕事をするようになり、彼は JetBrains IDE のパワーを私に紹介しました。 このIDEは、キーボードから離れることなく、ソースコードの中を素早く移動し、クラスを作成・修正し、その他多くのリファクタリング操作を行うことができます。 基本的には、マウスを忘れてコードを書くことができるのです! :open_mouth:. 開発フローで使用できるキーボードショートカットのリストは無限大です。 完全なリストはこちらでご覧になれます。 先ほどと全く同じ操作をXcodeでやってみましょう。また、これまでの操作の最後に、作成したクラスのリネームを追加しています。 この記事を書いている時点で、利用可能な Android Studio のバージョンは 3.0.1.

わずか 50 秒で、すべてのことをやりました(キーボードを強く押していたわけでもないのに…:stuck_out_tongue_winking_eye:)このように、Android Studio は光の速さでコードを書く能力を与えてくれます!!!! :flushed:.

AppCode

イメージできるように、Android Studio で数時間作業した後、同じコードを書くスタイルとワークフローを設定できる IDE はないだろうかと思い始めています。 ここで、一緒に働いていた別の同僚、Tommaso Resti (iOS および Android のシニア開発者) が、初めて AppCode を見せてくれました。 これはJetBrainsが提供するiOS開発用のもう一つのIDEです。 Android Studioにあるようなリファクタリングツールのいくつかを使うことができ、開発速度を向上させることができます。 しかし、この場合、すべてが平和で軽いわけではありません。 リファクタリングツールのいくつかはSwiftでは利用できませんし、XibやStoryboardで作業するには依然としてXcodeが必要です(JetBrainsチームがインターフェースビルダー用のプラグインを開発しましたが、これは終了しています)。 いずれにせよ、Android Studio でコードを書くワークフローに慣れ始めたら、AppCode :relaxed:.

Final thoughts

Android Studio と AppCode は JetBrains による有名な Java IDE である IntelliJ IDEA をベースにしています。 しかし、それは話の半分です。 JetBrains 社の IDE ファミリーは本当に大きいのです。

  • CLion, for C and C++
  • PhpStorm
  • PyCharm
  • RubyMine for Ruby
  • GoLand for GO
  • Rider for C#

だから心配しないでください。 コーディング速度を向上させたいのであれば、おそらくあなたの好きな言語の IDE があるはずです。 Xcode は常に私の心の中で特別な位置を占めています。 モバイル開発者としての私の毎日の仕事で、Xcode を使い続けます。 しかし、JetBrainsのIDEで得たコーディングスピードは無視できないものでした:smiling_imp:。 というわけで、好んで使うようになりました :heart:.