Runestoneは、Scriptable、Jayson、Data Jarの開発者であるSimon Støvring氏の最新アプリです。Støvring氏のアプリは、開発者や自動化のユースケースに特化しており、iOSおよびiPadOSエコシステムの穴を埋めてパワーユーザーを支援することに重点を置いています。Runestoneも概ね同じカテゴリーに属しますが、汎用的な開発にも幅広く活用できる可能性があります。
この新しいアプリは、iPhoneやiPadで文章を書く必要があるすべての人にとって、優れたプレーンテキストエディタとして機能します。シンプルで考え抜かれたデザインで、ライティング体験を向上させる優れたテーマが豊富に用意されています。しかし、Runestoneの最大の特徴は構文のハイライト表示です。Markdownで記述するユーザーにとって、このアプリはシンプルなカラースキーム(テーマ設定で好みに合わせて変更できます)と微妙なスタイル変更によって、リンク、太字や斜体の単語、脚注などを強調表示します。その結果、非常にシンプルで、基本的にプレーンテキストに近いアプローチでありながら、マークアップを一目で簡単に確認できます。
Runestoneはライター向けアプリとして申し分なく機能します(この記事全体をRunestoneで執筆しましたが、その使い勝手は素晴らしかったです)。しかし、ライター向けというカテゴリーは、ライターに特化した機能を備えた、同様にシンプルなエディターが数多く存在する、競争の激しい分野です。Runestoneが必要に応じてそのような用途に対応できるのは素晴らしいことですが、このアプリが真価を発揮するのは、iOSとiPadOSのテキスト編集という、あまり充実した機能を備えていない分野、つまりコード編集です。
コードエディターの最もコアとなる機能は構文のハイライトであり、Runestoneはまさにこのために開発されました。このアプリは現在、JavaScript、Java、Python、Rust、Swiftといった人気の高いコーディング言語を含む、28種類のファイル形式のハイライトをサポートしています。コードファイルを開くと、Runestoneが自動的に言語を検出し、コードをハイライト表示します。不明な形式のファイルを開いた場合は、画面上部中央のファイルタイトルをタップすることで、ハイライト表示する言語を手動で設定できます。
私のテストでは、Runestoneの構文ハイライトは信じられないほど高速で信頼性が高いと感じました。長年にわたりiOSとiPadOS向けのコードエディターを数多く試してきましたが、パフォーマンスと信頼性が私にとって最も不満だった点です。複雑なコードファイルを開くとエディターがフリーズし、編集中にハイライト表示が不安定になったり、機能しなくなったりすることが多々あります。
Runestoneにかなり大きく複雑なコードファイルを投入してみましたが、今のところ全く問題なく動作しています。以前の仕事でリファクタリングを任された際に、ひどく古いコードを掘り起こしてRunestoneに投入したこともあります。なんと、1つのファイルに1万行以上の質の悪いスパゲッティJavaScriptが含まれていたのです。Macで使っていた高性能なコードエディタは、これらのファイルをハイライトしようとすると動作が遅くなることがありましたが、Runestoneでは、これらのファイルを開いても、たった10行のコードしかないファイルを開いても、違いが全く分かりませんでした。ハイライトは瞬時に表示され、スクロールも瞬時に可能になり、コード編集中もハイライトは完璧に維持されました。これはiPadで今まで見た中で最も高性能なコードエディタです。
Runestone は無料アプリで、アプリ内課金で 9.99 ドルを支払うと「プレミアム」レベルの機能が利用できます。プレミアムは主に開発者向けにコードを書くことを想定しているため、Runestone で Markdown などのシンプルなテキストを書きたいだけなら、無料レベルで十分なニーズを満たせるでしょう。開発者にとって、Runestone プレミアムは、価格に見合うだけの優れた使い勝手の向上を多数提供します。たとえば、行番号、カスタム テーマ、アプリ アイコンのオプション、コード行を折り返すタイミングを示すページ ガイド、現在選択中の行のハイライト表示、タブ、スペース、改行の空白を示すインジケーター、ファイル下部の垂直スクロール バッファー、行の高さや文字間隔の調整機能などです。また、プレミアムレベルでは、素晴らしくノスタルジックな小さなミニゲームのサプライズが利用できます。ここではネタバレはしませんが、私はこのゲームが大好きです。
特にプレミアム版をアンロックすると、開発者がコーディング体験を自分好みにカスタマイズできる、素晴らしい設定が豊富に用意されています。私はMacで愛用しているコードエディタNovaの設定とほぼ完璧にRunestoneを合わせることができました。
Runestoneには、構文のハイライト表示以外にも、開発者向けの優れた機能が多数搭載されています。リモートサーバーへの接続とファイルの編集、正規表現を使用した高度な検索・置換、Prettierを使用したコードフォーマット、「指定行へ移動」機能、インテリジェントな自動インデント(さらに、インデントを前後に調整するための簡単なコントロールも用意されています)などです。このアプリには、iPad開発者が待ち望んでいた素晴らしい機能が満載です。
Runestoneが真のコードエディタになるために切実に必要とされているのは、タブ機能です。現在、Runestoneは一度に1つのファイルしか開けないため、これがアプリの最大の制約要因となっています。Runestoneの使いやすさと優れた機能群を考えると、この機能を追加するだけで本格的なコード開発が可能になると考えています。幸いなことに、Runestoneの開発者は初期リリースではタブを省略せざるを得なかったと述べているので、近い将来にタブ機能が実装されることを期待しています。
iPadを愛用している開発者なら、Runestoneをぜひ試してみてください。iPadOSには真の開発者エコシステムに必要な要件がまだ多く欠けていますが、実用的なコードエディタを手に入れることは、その状況を変えるための第一歩として悪くありません。今のところ、特にタブがないため、Runestoneは開発ワークフローの中で、外出先でのちょっとした変更程度しかできないかもしれません。しかし、バージョン1.0として、このアプリには大きな可能性を秘めています。10年前のPanicのDiet Coda以来、iPad用のコードエディタにワクワクしたことはありませんでしたが、Runestoneは再び私をワクワクさせてくれました。
Runestone は App Store で見つかります。iPhone と iPad の両方で無料でダウンロードできます。
追加コンテンツと特典にアクセスする
Club MacStories は 2015 年に設立され、ほぼ 10 年間にわたって毎週独占コンテンツを提供してきました。
毎週、毎月の電子メール ニュースレターから始まったものが、すべての MacStories ファン向けに設計されたメンバーシップ ファミリーに成長しました。
詳細については、こちらおよびクラブの FAQ をご覧ください。
Club MacStories : アプリ、ヒント、自動化ワークフロー、長文執筆、MacStories Unwind ポッドキャストへの早期アクセス、定期的な景品など、盛りだくさんの情報を満載した、電子メールと Web 経由の週刊および月刊ニュースレター。
Club MacStories+ : Club MacStories が提供するすべての機能に加え、アクティブな Discord コミュニティ、クラブの過去のカタログ全体を閲覧するための高度な検索機能とカスタム RSS 機能、ボーナス コラム、多数のアプリ割引などが含まれます。
Club Premier : 上記のすべてに加え、早期に、広告なしで、高ビットレートのオーディオで配信される当社の主力ポッドキャストの拡張バージョンである AppStories+ が含まれます。