見出し画像

自分のiOSアプリを作ろう2022

この記事は『自分のiOSアプリを作ろう』の2022年バージョンです。
(ただし執筆時期は2021年12月中旬です)
私は現在 iOS アプリを作りながら note にプログラミング関連記事 を書いています。

iPad だけで開発し App Store に提出できるようになりました!
さらに英語のハードルも下がりました!


🟩1  やってみよう

「自分のiOSアプリを作ろう」はこの記事が4年目です。
毎年この時期に書いているのは、年末年始のまとまった休みがプログラミングに取り組むのに最適だからです。


🟩1.1 今年はハードルが下がった

「自分のiOSアプリを作ろう2020」でも『アプリ作りのハードルは下がっている』と書きましたが、今年の変化はかなりのものです!
 1︎⃣ アプリ開発が iPad でも可能になる
 2︎⃣ 英語が得意でなくてもなんとかなる
どちらもアプリ作りのハードルを大きく下げる、うれしい変化です。

昨年までは開発には Mac が必須で、資料は英文のものがほとんどでした。
二つの大きな障害がかなり解消したのでこれまで躊躇していた人、かつてやってみたけど挫折や倦怠期の人もまたチャレンジしてみてください。

サポートする新マガジンを作りました『Playgroundsでアプリデビュー

iPad の Playgrounds アプリでアプリを開発するための情報をまとめたマガジンで提供を開始しました。


これまでの SwiftUI 関連の有料記事をさらにリーズナブルにまとめて読める新マガジンも用意しました。
4つのマガジンの有料記事(合計29本)をすべて(最もリーズナブルに)読めます。
各記事はおよそ半分試読できます、ぜひ内容を吟味しご活用ください。


🟩1.2 iPad だけでも開発可能(必要機材)

まず最初のポイント『1︎⃣ アプリ開発がiPadでも可能になる』から詳しく説明しましょう。
iPad でアプリを作り App Store で公開できることが WWDC2021 で発表されました。
ビデオ「Platforms State of the Union

iPadOS 15 のページにも明記されています。

iPadOS 15 ページより
iPadOS 15 ページより


最新のiPadOSをインストール済みであれば iPad、iPad Air、iPad Pro、iPad mini どれでも Playgrounds アプリは利用可能です。
使用するプログラミング言語は Swift で Xcode と同じです。
iPad で作ったプログラムを将来 Xcode を使ってさらに拡張することも可能です

Playgrounds 4 アプリは 2021年12月16日にリリースされました。

Playgrounds アプリは iPadOS用無料アプリです。
Mac版もあり 4.0 にアップデートされましたが、Mac版 4.0 ではアプリを作成する機能は利用できません

上記ページはまだバージョン4の内容は反映されていません。
次のページ(英文)はバージョン4の内容が更新されています。


Xcode は macOS用無料アプリです。

これまで iOSアプリ開発には Mac が必要でした。
ツールもプロ用で大規模な Xcodeエックスコード だけでした。

最新版 iPadOS の iPad があれば Mac を持っていなくても開発可能になったのです。
このため機材の投資が最小で済みます
オンライン授業などのために iPad を配布済みの場合は Playgrounds アプリをインストールするだけプログラミングの学習や開発が可能になります。

Xcode は複雑

プロ用の開発ツールなので機能やメニュー項目も多く、設定項が目膨大で使いこなしに時間がかかるものです。
インストールに必要な容量も巨大で、さらに実行やビルドのためにストレージの十分な空きも必要です。

Playgrounds アプリはシンプル

Playgrounds アプリはかなりシンプルです、設定も少なく迷う心配もありません。
もちろん機能は限定されますが、はじめてアプリ作りに取り組むには魅力的な環境です。
ただし Playgrounds アプリの機能は限定されていて小回りはききません。
細かな設定が必要な場合は Xcode を使わなければなりません。
Playgrounds で作ったコードは Xcode 13.2 でも開くことができます。

iPad でアプリを作るには

iPad の Playgrounds でアプリを作るには条件があります。
Apple の デベロッパー登録が必要です。
デベロッパー登録しなくても Playgrounds 4 でアプリを作成し、実行してみることは可能です。

アプリをホームに保存するには TestFlight を使う必要があります※。
TestFlight での配布にはデベロッパー登録が必要なのです。

デベロッパー登録など iPad でアプリを作る準備は次の note を参照してください。


アプリを学べる無料教材も豊富

iPad の Playgrounds アプリには無料の App教材 が多数あります。
手始めの『Appの作成を始めよう』を例に、Playgroundsアプリの使い方を詳しく解説しました。
有料記事ですがおよそ半分試読できます。

この記事も『Playgroundsでアプリデビュー』を購読するとすべて読めます。


iPad でもキーボードがあると便利

プログラミングを本格的にはじめるとコード入力がたくさん必要になります。
入力は外部キーボードを使うと効率が良くなります
iPad用キーボードは少々値が張るので手持ちの無線接続可能なものを利用することもできます。
Mac用のキーボードも利用可能ですし、Apple社以外のキーボードで iPad用の製品もあります。

USB-C を持つ iPad は有線接続のキーボードも使えます。
USBハブを使って USB 2または3 のキーボードも使えます。
コマンドキー(⌘)の動作確認のためにも iPad 用または Mac 用の製品が良いでしょう。


🟩1.3 英語のハードルが下がった

次に二つ目のポイント『2︎⃣ 英語が得意でなくてもなんとかなる』です。
資料などが英語で提供されている問題、特に次の二つで日本語でのアクセスが大幅に改善されました。

🟢 日本語で提供される資料が充実してきた

デベロッパアカウントヘルプ(デベロッパー登録)や App Store Connect ヘルプ(App Store への申請関連ヘルプ)が日本語になっています
Apple による公式翻訳です。
この二つは直接プログラミングではありませんが、App Store からアプリを配布するには必要だった登録手続きなどが日本語で確認できます

登録や契約はシビアで、ひとりで取り組むと不安もあります。
このため公式の日本語情報はとても助かります。

デベロッパーページ も API ドキュメント以外は日本語で読むことができます。(中国語とハングルでも表示可能です)

ニュース の多くも翻訳されています。
開発関連のニュースや教育関連の情報源として使え過去の WWDC などの動画も日本語字幕つきで視聴できる Developerアプリも日本語化されています。(古いビデオなど一部は日本語字幕がない場合があります)

Developerアプリは Mac、iPhone、iPadそれにApple TVで利用可能です。

有志による swift.org の Swiftドキュメント の日本語訳 Swift 5.5の日本語版言語ガイド が公開されています。
Swiftツアー(A Swift Tour)
基本(The Basics)
言語リファレンス(LANGUAGE REFERENCE)

こちらの記事を参照してください。

原本と同じ構成なのでとても読みやすく助かります。
日本語訳だけでなく原文も並べて表示されているので分かりやすく安心感もあります。


🟢 OSの翻訳機能

macOS 12、iOS 15 では OS レベルで翻訳機能が利用可能です。
アプリ開発に必要な資料は英語が多いですが、Safari の翻訳機能で日本語で読めます
Safari の翻訳機能が強力でかなり実用的になったので、英語が苦手でもそれほど不利ではなくなりつつあります。
Developer サイトのドキュメントやリリースノートも翻訳して表示してくれます。

通常表示
Safari の翻訳機能で日本語に翻訳

日本語になるとわかりやすさがまったく違います。
型やメソッドのページも翻訳してくれます。

型のドキュメントを日本語に翻訳

このように APIドキュメントなども完全ではありませんがかなり便利に使え効率アップに直結します。
⭕️コード部分は翻訳されない(説明部分だけ適切に翻訳してくれる)
❌段落ごと翻訳されない場合がある (選択してコンテキストメニューから翻訳は可能です)

例えば "Deprecated" は一般の辞書では「…に不賛成を唱える, 反対する, …を不可とする.」となっていてピンときません。
翻訳機能では「非推奨の」と適切に表示されます。

同様に Human Interface Guidelines も翻訳表示可能です。


便利だが完璧ではない

翻訳機能全体に共通ですが、まだ完璧な翻訳を期待することはできません
DeepL もこなれた日本語に翻訳してくれるので愛用していましたが、複雑な長文でかなり長い部分の訳がごっそりぬけていたことがありました。

Safari の翻訳でもたとえば WWDC の "Platforms State of the Union" を「プラットフォーム 連合国」と表示したりします。
SwiftUIのドキュメントでも "state" を「状態」ではなく「州」と表示する部分が若干あります。
ほかにも "Metal" が「金属」、"Organizer" が「主催者」など最初に気づかないと意味不明のまま読み進み混乱することになるので留意してください。

特に SwiftUI は型などの予約語に接頭辞がないために、翻訳作業は難しいと思われますが、今後フィードバックによる改善も期待できます。


注意点

macOS 12 と iOS 15 の Safari の翻訳機能は常にオンラインで処理されるようです。
通信量が多くなるので常時接続でない場合は要注意です。

翻訳アプリではオンデバイスモードでオフライン用の辞書をダウンロードすることもできます。
macOS の場合は Controlキーを押しながらテキストクリック で表示されるコンテキストメニューの「翻訳」がオフライン対応になるようです。
macOS 12.1 の 設定アプリ言語と地域 で選べます。

設定アプリ 言語と地域 > 翻訳言語…

iOS 15.2 では 設定アプリ の 翻訳アプリの設定 で同様の指定が可能です。

設定アプリ 翻訳


🟩1.4 とっつきやすい SwiftUI

SwiftUI はできるだけ少ないコードで美しい App を構築するフレームワーク(ソフトウェア部品)です。
画面をシンプルに構成することができます。

多くの画面サイズに自動で対応できるので楽です。
アクセシビリティ機能に最初から対応しています。
⚠️ただし毎年変化しているの注意が必要です。 
これまでの方法が非推奨になっている場合もあります。

比較的少ないコード量で画面を構成できますが、アプリにまとめるにはノウハウが必要です。
SwiftUI に慣れるためにシンプルなアプリを作ると理解が深まります。
私はこれまでに二つ SwiftUI で作りました。(無料アプリなので良かったら試してください)


Apple は SwiftUI に力を入れていて毎年改善されています。
SwiftUI は macOS はもちろん iOS 以外の watchOS や tvOS 用アプリの開発でも利用可能です。


🟩2  おすすめする理由


🟩2.1 ソフトウェアつくりは楽しく実用的

アプリを自分で作り自分で動かすのは単純に楽しいです。
iPhone や iPad にインストールしておけば、いろいろな人に見せて感想を聞くこともできます。

🟩2.2 どこでも誰でも

プログラミングは開発用の機材と、資料にアクセスするためのネットワーク接続があればいつでもどこでも可能です。

Playgrounds アプリの説明文には「12歳から112歳まで」と書かれています。
(最新版では「8歳から108歳」となっていましたが、コードはほぼ英語なので日本では12歳があてはまりそうです)

興味を原動力にどこでも誰でも取り組むことができます。
都会でも田舎でも、性別や年齢も関係なく思い立ったらすぐにはじめることができます。
完成したアプリもネットワーク経由でアップロードするだけで世界中に配信できます。
資格や免許も不要です。(ただし App Store から完成したアプリを配布するには、アプリごとアップデートの各バージョンごとに審査があります)

🟢 プログラミングはものづくり

ものづくりが好きな人はプログラミングもやってみてください。

  • 個人でできる

  • 大規模な設備は不要で

  • どこでもできる

  • いつでもできる

出来上がったアプリを家族や友人に試してもらうのは楽しく、熱量を投入して作ると使う人に伝わります

🟢 iPhone や iPad は普及率が高く長く使える

アプリをゼロから完成させるのは時間のかかる作業です。
一二年で市場から姿を消すデバイスより、長く使え OS もアップデートされる iOS であれば安心して開発に取り組めます。
最近 Apple 製品の正規修理サービスを開始する店舗が増えています、Apple のリテールストアが最も安心ですが、Apple Store がない場合も不便が解消されつつあります。
アプリ開発に万一挫折しても情報端末として使い続けることができます。

🟢 安心して使える iPhone や iPad

デバイスが普及していて入手しやすい

かつて Mac はパソコン界ではマイナーでした。
iPhone が登場し新たな市場が形成されたことはご存じのとおりです。
ハロー効果で Apple Watch や Mac も売れています。
日本でもシェアを伸ばし家電量販店でも扱っているため、実物に触れる機会が地方でも増えました。
もちろん使っている人も多く、頻繁に目にします。

このため企業でも導入しやすくなっています。
機種が豊富で予算や必要な性能に合ったものを選べます。
長い期間最新OSがサポートされ、安定して利用可能な点は特に企業では重要です。

企業や教育機関が多数のデバイスを管理する方法も用意されています。

企業が独自アプリを開発する場合、シェアの大きな iOS 対応は重要な位置付けです。
コロナ(COVID-19)関連アプリなど自治体や政府レベルでも提供しています。
このように企業や自治体にも iOS エンジニアの需要は高いはずです。

中古デバイスも入手しやすい

機材が長く使え中古市場も確立しているため開発機材などハードの投資も安心してできます。

モバイル(iOS)とデスクトップ(macOS)で OS の基本部分が共通で、プログラミング言語も共通です。
iOSアプリ開発やストアに申請するスキルはまだ貴重で、就職や転職などでも役にたつでしょう。


🟩3  簡単ではないが不可能でもない

このテーマは過去の「自分のiOSアプリを作ろう」も参照してください。
Mac がなくても試すことができ、英語のハードルも下がったので『再挑戦』もありだと思います。

🟩3.1 むき・不向きはあるが 文系理系はあまり関係しない

プログラミングには基礎知識は必要ですが年齢や男女それに文系か理系かはあまり関係なく、興味を持って取り組めるかどうかが重要です。

ただし新技術がどんどん登場するので常に情報収集が必要です。
このため新しいことを楽しめるマインドの人には特におすすめです。

🟩3.2 簡単ではないが継続はチカラ

OS が多機能になればそれにともない資料もふえます。
このため継続した情報収集が必須です。
これまでは資料が英語で書かれていることが壁でしたが、翻訳ツールも実用的になりその障害はかなり解消しました。

モチベーションの維持が重要なので、アプリ作りも最初は完全ではなくてもリリースして使ってもらうのがおすすめです。

🟩3.3 独学可能 やってみよう

学生・社会人からシニアまでハードルが下がったので手軽に試すことができます。
万人に勧められるものではありませんが、自分にむいているかどうかは試してみなければわかりません
そしてやるなら早いほうが良いです。


アプリを作ってみることでいろいろ体験できます。
企画、画面や操作性のデザイン、プログラミング、申請などのスキルを積むことができます。
オンラインで情報があるので独学可能です。

書籍・オンラインの有料記事・スクールなど自分に合ったものは、投資しても元が取れる(時間が節約できる)はずです。
ただし自分に合わないものは無駄な投資になる可能性があります。
スクールやセミナーなどで学ぶのが向いている人もいるかもしれませんが、内容が古くないか・費用は適正かは要検討です。
変化が激しいので教材や講師の対応が追いつかないこともありそうです。

🟢 まとまった休みを有効活用

プログラミングは簡単にできるようにはなりません。
サンプルプログラムを思ったように改造できるとモチベーションもあがります、まずはそこを目指して続けてください。

まとまった時間に集中すると効率よく情報収集できます。
年末年始や連休が集中して学ぶチャンスです。
有効に活用してください。

最大限時間を生かすためには休みの前に準備をし、スケジュールを立てください。
休みまでに『❶ App Storeからアプリをリリースする準備』を参考に準備してください。
まとまった休みに集中してスキルアップ、瞬発力を活かし飛躍してください。


🟢 興味を原動力に自分で作ってみよう

アプリと言っても何を作ればよいのか?
これはあまり難しく考えない方が良いです。

身近にあるヒント

自分や周囲のちょっとした不満を拾い上げてください。 
それがアプリのネタになります。

  • ちょっとした不満(自分や身近な人の)

  • 古いバージョンの方が自分には使いやすかった

  • この計算が欲しい

得意を生かす

イラスト・楽器・写真・趣味・コレクション・語学・資格・技術・地元情報・スキル・などなど
自分の得意なことを生かすと、独自のアプリを作ることができます。


🟩3.4 未経験ならまず「コードを学ぼう」

コードを学ぼう」は Playgrounds アプリ用の無料教材です。
プログラミングが自分に合っているかが体験できます。
日本語に翻訳されているので中学生や小学校高学年から試すことができます。
iPad または Mac の Playgrounds アプリで試せます。
アプリも教材も無料です。

「コードを学ぼう」に熱中できるならぜひアプリ作りに挑戦してください。
同じ Playgrunds アプリがそのまま使えます。
noteで無料の記事を書いています「未経験者のための『コードを学ぼう』ガイド-1」【無料記事】


🟢 これまでのアプリを作ろう


🟢 次のステップ

プログラミング未経験者に読んでもらうための記事を集めたマガジンを用意しました。

このマガジン購読で今後公開するものも含め下記有料記事を全て読めます。
このシリーズの構成
 ⓪ iPadでアプリを作ろう
 ❶ App Storeからアプリをリリースする準備
 ❷ PlaygroundsでApp教材を動かす
 ❸ Playgrounds App教材のすべて 前編
 ❹ Playgrounds App教材のすべて 後編
 ❺ Playgournds でアプリの作り方
 ❻ Playgrounds で作ったアプリを公開する

今後も記事を増やすつもりです。 サポートしていただけると大変はげみになります。