今や世界中で多数のソフトウェアメーカーがアプリ開発にしのぎを削っています。特にApple製品向けのアプリ開発が盛んななか、個人開発者はどのように生き延びてきたのでしょうか。
Web開発を本業とする開発者であるMihhail Lapushkin氏は、Apple製品向けのテキストエディタ「Paper」を9年間開発し続けた結果わかったことをまとめた記事「9 years of Apple text editor solo dev」を公開しています。
記事によると、同氏がアプリ開発を始めたきっかけは「iA Writer」というMarkdownエディタとの出会いにあり、それをきっかけに、Mac用のネイティブテキストエディタの作り方を学びはじめたそうです。Xcode、AppKit、Objective-Cなど本業で使うものではない知識の習得を始め、ゼロからスタートした2年後の2017年1月にMac App StoreでMacアプリをローンチし、iOSアプリを2019年に公開します。
同氏はネイティブアプリを選択した理由として、「可能な限り最高の体験を提供するため」だったと説明しています。高度に洗練されたライティングアプリと競合するためには、軽くて高速に動作する必要があり、ネイティブレベルでアプリに手を入れることができるためユニークな機能を実装することもできたそうです。
プログラミング言語はObjective-Cを選択しますが、これは2015年当時、Swiftが始まったばかりだったからです。同氏は、空のXcodeプロジェクトをObjective-CとSwiftでコンパイルし、それぞれの.appパッケージを調べてみたところ、SwiftのほうはSwiftのランタイムが5MBほど組み込まれていたのに対し、Objective-Cの方は合計で数10KBから100KBと超軽量だったとObjective-Cを選択した理由を説明しています。
またPaperアプリには、サードパーティ(ライブラリ/フレームワーク)への依存関係が存在しないことも特徴だとしています。すべてを自前で構築することで、自分のニーズに合わせてカスタマイズすることができ、アプリのコアな部分でさえ外部に頼る競合他社よりも優位に立つことができたのです。
例えば、PaperのMarkdown解析エンジンはオーダーメイドで、本格的なMarkdownエディターよりも少ないMarkdown構文しかサポートしていない反面、ハイライトやテキスト変換などの機能の実装がよりシンプルで効率的になっています。UIコンポーネントもAppKitとUIKitのネイティブUIエレメントのみを使用しており、Appleによって毎年自動でアップデートされ、後方互換性があり、すべてのデバイスで動作することが保証されています。
価格に関して
価格設定に関して同氏は、2015年から2017年にかけて、Apple Storeではまだサブスクリプションが普及しておらず、未知のアプリを試さずにお金を払う人がいるとは思えなかったので、1回払いのフリーミアム方式を選択したと説明しています。機能を有料化したり時間ベースのトライアルを実装したくなかったため、ファイルの同期やPDFのエクスポートなどの機能ではなく、見た目の変更など外観的なアップグレードのみをProとして提供することにます。
Pro機能は期間無制限で試用できるようにし、ユーザーは機能を試用して見た目や動作を確認し、価値があると思えばPro機能を購入することができます。ただしお金を払わずに無制限にPro機能が使用されるのを防ぐため、数百文字ごとにポップアップが表示されるようにしたそうです。
同氏はその後サブスクリプを導入し、価格設定に関しても試行錯誤を繰り返します。その結果、現在は日本では月額700円、年額7000円のサブスクリプションプランと、15,000円のライフタイムライセンスが設定されています。
同ブログ記事では、アプリのアーキテクチャや、クロスプラットフォームアプリの構築方法、デバッグ方法など、技術的な詳細に関する説明も行われています。Apple向けアプリの開発を行ってみようと思っている方は参考にしてみてはいかがでしょうか。Hacker Newsでもこの記事に関連してアプリ開発に関する議論が行われています。