iPhoneで動作するC#/F#のコーディングをサポートする.NETのIDE(Continuous)を試してみた

2016.07.10

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

1 はじめに

7月6日、アップルストアで、Continuousというアプリが公開されました。これは、iPhone、iPadで動作する、C#及びF#のコーディングをサポートする.NETのIDEです。

iPhoneでC#?っと言う、ちょっとビックリするようなこのアプリ、早速、試してみました。

002
Continuous .NET C# and F# IDE By Krueger Systems, Inc.

ちょっと誤解がないように最初に言っておくと、このIDEでは、環境の中で記述したコードを動作(プレビュー)させることはできますが、コンパイルしてipaを作成するというような事は出来ません。

しかし、実際に触ってみると、Visual StudioやXamarin Studioを操作しているのでは?という錯覚を起こすほど、構文解析による強調表示やインテリセンス、エラー表示に優れており、非常に快適に利用できます。また、オプション設定によりコード変更と同時にコンパイル実行することもでき、修正した内容をリアルに確認することも可能です。そう、F5「コンパイル実行」という動作が必要ないのです。

コードは、Xamarin.iOSと同等であり、IDEからのヘルプは、Xamarinのドキュメントにつながっています。ライブラリとしてはUIKitはもちろん、SceneKitやSpriteKit、そしてXamarin.Fomrsなどにも対応しています。

001

プロジェクト管理も可能で、ライプラリやアプリも構築もできますが、C#スクリプトにも対応しており、どちらかというと、この「C#スクリプトを使用して、部分的なコードの動作を素早く確認する」と言うあたりが、一番の利用目的になるのかも知れません。

価格は、1,200円で、iOS9が必要です。また、コンパイラは、C#6とF#4が搭載されているようです。

2 操作要領

(1) 設定画面

下記の図は、設定の画面です。(ダークモードの場合が左)

012 013

上から、「フォントの拡大縮小」「ダークモード」「自動実行」「ヘルプ」「サンプルの初期化」「各言語の設定(インデントのキャラクタ数)」が並んでいます。

ここの自動実行「Auto Run」が、最初に触れたリアルタイム実行で、デフォルトでここがONになっています。

「Help」をタップすると、操作方法に関する詳細なドキュメントが表示されますので、まず、最初にこちらを確認すると一通りの利用方法が掴めると思います。

最初に、サンプルコードをイジって色々確認したりして、壊してしまうことがあるかも知れませんが、「Restore Example」をタップすると、一発で元に戻りますので、安心してイジることができます。

(2) 拡張キー入力

キー入力の際に、キーボードの上に、拡張キーボードが表示され、コーディングで使われる記号が、スクロールして利用できます。これが、思いの外、便利でビックリします。

005

(3) コード補完について

インテリセンスによる補完も、非常に快適で、大文字、小文字を気にすることなく先頭3文字ぐらいを入力すると、だいたい解決できます。

006 007 008 009

(4) ヘルプ

コードにカーソルをあてると、関連リンクへの選択状態となります。そしてこれを選択すると、ドキュメント(Xamarinのヘルプページ)へジャンプすることができます。

016 017

(5) 画面構成

IDEの画面構成としては、「ファイルの一覧」、「コンソール」、「プレビュー」の3つのタブで構成されています。

「ファイル一覧」には、現在対象となっているファイル(プロジェクト)のファイル一覧が表示されており、選択すると当該ファイルが表示されます。図では、Map.csxを選択して表示しています。

004 003

2つ目のタブは、コンソール出力です。図では、早速、Map.csxをビルドして実行しているログが出力されています。

010

最後のタブは、ウオッチ(実行画面の出力)です。 アイコンをタップして、全画面表示と切り替えることもできます。

014 015

3 C#スクリプト

それでは、実際に簡単なC#スクリプトを作成してみたいと思います。

最初に、左上の「+」をタップして、新規にファイルを作成します。 選択画面では、言語を「C#」とし、「Script」を選択します。

018 019

ここで、名前をつけるように促されますので、適当な名前をつけ(ここではtest.csxとしました)Create Scriptをタップすると、Hello World!を表示するC#スクリプトの雛形が生成されます。

020 021

ここで非常に単純な、Xamarin.Formsのコードを書いてみます。

ボタンを表示して、それが押されたらHello Worldと表示するだけです。

022

実行している様子です。

024 023

4 最後に

今回は、Continuousを使用してiPhoneでXamarin.Forms(C#)を書いてみました。 正直、そんなことができるようになるなんて、夢にも想像してませんでした。

ドキュメントによると、クラスのオーバーライドに一部制限があったり、 System.Reflectionが機能せず、これに依存するライブラリが動作しないなど、幾つかの制限が記載されておりましたが、詳しくはドキュメントをご参照ください。

5 参考資料

Continuous .NET C# and F# IDE By Krueger Systems, Inc.
Pythonistaなんて目じゃない?C#対応のiOS用本格的開発環境「Continuous」が登場
Xamarin記事一覧(SAPPOROWORKSの覚書)
[Developers.IO] Xamarinシリーズ