はじめに
ハッカソンといえばweb開発ですが、だからこそiPhoneアプリを作ると強い、という勝手な印象を持っています。
実際、JP Hacksなどのでかい大会に行けば行くほど、モバイルアプリの採用率は上がります。
なぜか?簡単で、ハードウェアの充実 があります。カメラや位置情報、動作の検出など、スマホが提供してくれる機能のおかげで、ハードウェアを開発するよりも手軽に、Webのみの開発者に大差をつけたクオリティを実装可能です。
また、WebもiOSクライアントも実装すると、純粋に成果物量パワーが上がって強いです。
ということで、iPhoneアプリをハッカソンに取り込んで一緒にたくさん結果残そう!という記事を連載していきます。
注意:ハッカソンで成果を残しやすい、という観点からの記事になります。ちゃんと開発する場合には他に考えるべき点もあることに注意。
関連記事
なぜiOSを選ぶのか?
今回開発したいものは、ネイティブのiOSアプリ、つまりXcodeでSwiftUIで書く、マジもんのiOS専用アプリの開発方法です。
ここでWindowsユーザーの皆様にはお別れを告げなければなりません。
そこまでしてもiOSを推すのには理由があります。
- ネイティブAPIがやっぱり強い
- デザインが簡単にしっかりする
- マイナーだから目立つ
の3点からお伝えしていきます。
「それ、Webでよくない?」の意見に立ち向かい、むしろ利用する、そういう体験を考えていきましょう。
ネイティブのフレームワークがやっぱり強い
大体ここです。
SwiftUIでは、iOSの機能をフル活用できるフレームワークが複数用意されています。
- HealthKit
- VisionKit
- ARKit
- WidgetKit
- などなど。
これらはWeb開発では難しいか、できるけどパフォーマンスが落ちるもの、外部ガジェットを利用しないといけないものなどになってきます。
また、ReactNativeなどマルチプラットフォームなフレームワークでこれらを利用する場合、繋ぎ込みのコードを書く必要がある程度は出てきます。それがやっぱり面倒。
ドキュメントも公式のものが充実しており、AIによる実装もかなり安定して行える感じがあります。
また最近、iOS26からはFoundation Modelが実装され、iPhoneローカルでAIを使うことができるようにもなりました。
ハッカソンでは、逆説的に「心拍数などの身体データを取得したいからiOSにした」「リッチなAR機能を十分高速に動作させるためにiOSにした(ただしUnityなどの選択肢を省くためにiOS likeな機能として通常UIを組み込むことを強調)」など、技術選定理由の拡充 に使うこともできます。
また、AppleWatch、AirPodsとも比較的簡単に連携できるのもおすすめ。ハードウェアの力を存分に引き出せます。
デザインが簡単にしっかりする
SwiftUIのおかげで、デザインが本当に簡単に組めます。
Webや他のスマホ開発環境(ReactNativeとか)では、AIっぽいデザインから離れるのが難しい印象があるんですが、SwiftUIだと 「Appleらしい」 に一旦逃げることができます。変にグラデーションがついたAI実装の画面ばっかりが並ぶプレゼンの中で、UIがAIっぽくない、というのはかなり差別化要素になります。
また、SwiftUI界隈にはデザイン大好きな人がたくさんいるので、Swift Package Managerで簡単に導入可能なデザインライブラリがたくさんあります。Confettiとか。
マイナーだから目立つ
いないもん。 iOSネイティブ開発者ってSwift大好き魔神が半分を占めてるところあるので。
だからこそ技術スタックでインパクトを残すことに繋がるので、まあまあいい選択だとは思ってます。
iOSをハッカソンに選ぶデメリット
ここまでいいとこばっかり書きましたが、尖ってる分デメリットもあるんです。
それ、Webでよくね?
これを何度審査員から言われたか。
これを避けるために上記のネイティブフレームワークを多数搭載するまである。
結局、「iPhoneの機能」を使っていないとダメだし、使ってても、アプリの体験を本当に考えるならむしろWebの方がよい、ということもあります。無理に技術をくっつけると不自然で目立つからね。
なのでアイデア段階から、自然とiPhone以外考えられないようなものにするべきです。市場でスマホ版・Web版と展開されてるものは最初から省いたりね。
環境構築・学習コスト
macでしか開発できない。あとXcodeとSimulatorが重い。何十GBか吸われる。ビルドファイルもデカすぎる。
SwiftUIも、十分一般的な書き方だけど、やっぱりデザイン作る周りとか独特なところは多い。Sendableのエラーとか、いまだにわからない。
おわりに
ということで、iPhoneアプリは 使いこなせたら最強! な存在です。最近のハッカソン、技術がインフレしてきてハードに頼らないと勝てなくなってきてるので。
ぜひみなさんもiPhone開発を取り入れて強くなりましょう!