Archive for 5月, 2021

“Code Editor”の未来について

月曜日, 5月 10th, 2021

お忙しい方のために、以下に要約を:

  • iOSアプリ「Code Editor by Panic」を終売します
  • アプリ本体はまだまだ機能しお使い頂けますが、開発は終了しアップデートは提供されません
  • 2021年3月10日以降にお求めで返品を希望される方は、お手数ですがお知らせください
  • iOSアプリ仲間のPromptについて、こちらは新バージョンを開発中です!

Code Editor — “Diet Coda”という名前で2010年にデビューし、その後”Coda for iOS”に名前を変えた、フル機能が搭載されたパワフルなiOS用のテキストエディタです。カーソルの位置をより正確に配置するための”スーパールーペ”機能や、Sidecarが標準搭載されるよりもずっと前に”iPadプレビュー”機能が搭載されるなど、革新が満載されていました。外出先で、誰もが使用できるiOS用の優れたコードエディタを提供することが我々のゴールでした。

Transmit iOSやStatus Boardといった私たちの過去のiOSアプリと同様、開発を継続できるほどの収益が生み出されないため、 残念ながら開発を終了します。

大きな理由は上記ですが、その背景についてもまとめてみます。

なぜ?その理由

今回のこの決定に失望した皆さん、本当に申し訳ありません。しかしその決定に至る背景がありました:

2007年にMac用コードエディタであるCodaをリリースし、その後の数年でウェブ開発のプロセスは劇的に変化し、その変化に製品はすばやく対応していく必要がありました。そのため、より最新のワークフローに対応させたNova for Macを開発し、Coda 2の後継製品としての拡がりを見せています。(ここで言うCodaと、他社製品のCodaを混同しないでください。今日のCodaは私たちが開発したものではありません。)このウェブ開発ワークフローの変化が、iOSアプリにも影響しました。

現在、かなりの数のウェブ開発者がTypeScriptやJSXなどのテクノロジーを使用しています。そしてこれらではプレビュー前に、ビルドまたはコンパイルを必要とすることが良くあります。このプロセスをCode Editorで行うには別のアプリを利用し、リモートでコンパイラーを個別に実行する必要があるという、非常に面倒なものでした。

そのため時が経つにつれCode Editorを活用するウェブ開発者が減り、売り上げは減少しました

ならNova for iOSを作っては?

現時点でNovaをiOS用に移植する予定はありません。どのように機能するのかを実際に想像するのが難しいためです。

Novaをリリースしたことにより、今日のウェブ開発環境がどれほど技術的に多様かを再認識させられました。もう永らく使われていないと思っていたライブラリやテクノロジーへのサポートリクエストがある一方、聞いたことも無い全く新しいフレームワークへのリクエストもありました。ウェブ開発ワークフローを取り巻くテクノロジーは急速かつ継続的です。これが最新のウェブ開発に焦点を合わせたIDEにとって、柔軟な拡張システムの搭載が不可欠である理由です。しかし、そこに問題があります。

最大の技術的ハードルは、iOSとiPadOSで外部プロセスを実行できないことです。それを回避する方法はありません。しかし最新のウェブ開発環境には必要です。例えばTypeScript機能拡張。これは現在Novaで最も人気のある機能拡張のひとつで、TypeScriptコンパイラーを起動して実行します。コンパイラーをNovaに組み込むことはできますが、未来を予測して可能性あるそのようなツールを全て、予め組み込んでおくことはできません。Babel、Webpack、そしてESLintなどは言うまでもなく、存在するほぼ全てのプログラミング言語用のコンパイラー、インタプリター、言語サーバーをバンドルする必要がありますがバンドルされたものはすぐに管理できなくなり、常に最新バージョンに遅れを取ることになります。

それでもバンドルするとして、しかし今度はApp Storeのポリシー違反の可能性があります。iOSおよびiPadOSアプリはAppleのJavascriptインタープリターであるJavaScriptCoreを使用する必要があります。JavaScriptCoreは素晴らしいですが、多くの開発ツールはGoogleの V8 JavaScriptインタープリターの独自機能に依存しています。同様に、iOS上でのウェブレンダリングエンジンはWebKitのみが許可されています。

それでもなお、これら全ての制限を回避するための技術的巧妙な方法を見つけたとして、そのアプローチをAppleのレビューワーが許可するかは未知です。最終的にリジェクトされてしまったら、膨大な時間と投資が無駄になってしまいます。

であれば控えめな、Appleの新しいファイルプロバイダーテクノロジーを活用したテキストエディタを私たちはデザインしてみました。少なくともローカルファイルサポートを提供する堅牢なコードエディタを生み出すことができます。しかし結局のところこの架空のアプリは現代のウェブ開発者のニーズを満たせず、またこの分野に焦点を当てている他者のアプリとの激しい競争に直面している、と私たちは結論付けました。

しかし、ご存知の通り私たちはものづくりが大好きで、諦めが悪いです。今回の決定は私たちが永久にプロ向けのiOSツールから離れてしまうことを意味するものではありません。常に市場を注視し、変化を感じ続けます。将来、より良い製品を作る方法があるかも知れません。

次に起こることは?

まもなく、Code Editorの販売を終了します。

ですが朗報もあります。Code Editorは当面の間、正常に動作し続けるでしょう。(例として2018年に終売したTransmit iOSを挙げますが、ユーザであれば誰でも現在も利用可能です。)無期限に機能し続けることのお約束はできませんが、劇的なiOSの変化が無ければ想像よりも長くお使いいただけます。

2021年3月10日以降にお求めで、返品を希望される方はお問い合わせください — AppleはApp Storeの購入に関する返品や返金機能を提供していませんが、何らかの方法で必要に応じ、できる限りの対応をさせていただきます。

Promptに関して何かありますか?

いくつかのグッドニュースがあります!

iOS用ターミナル/SSHアプリであるPromptの開発に、引き続き積極的に取り組んでいます。ポケットからデバイスを取り出し、緊急のタスクに迅速に対応できる、まさにiOSにピッタリの製品です。現在、私たちはPrompt 3の開発の真っ最中です。Promptをより良くする、優れた新機能のいくつかをご紹介できる日を楽しみにしています。

私たちのMacアプリに関しては、全員健康で順調です。

Thank you!

開発した製品に別れを告げるのは常に、非常に寂しいです。この決定を下すのに苦しみながら数ヶ月を過ごしました。可能性のある考えられる全てのアプローチについて調査しました。私たちは、私たちのアプリを愛し、信頼してくださるお客様の存在を常に感じています。開発中止の度に、私たちは皆さんを失望させていることを感じています。パニックのお客様、支えてくださる皆さまに感謝申し上げます。これからも変わらぬご支援を賜りますよう、お願い申し上げます。私たちは皆さんが愛する、役立つアプリや製品をお届けできるよう、一生懸命に働き続けます。

PS: Nova for Macはおかげさまで順調です!ぜひチェックをお願いします!Code Editorのコア — 解析エンジン、文法解釈、インデックス化エンジン、書類アーキテクチャ等々 — がNovaの礎となっています。Code EditorはNovaの内部に宿り続けています。