見出し画像

⓪ iPadでアプリを作ろう

iPadがあればアプリを作って App Store で配布までできるようになりました。
最小の初期投資で試すことができます。
気軽にチャレンジして損はありません。

プログラミング未経験者 iPad でアプリを作ってみたい人 に読んでもらうための記事を集めたマガジンを用意しました。

Playgrounds でアプリデビュー」の構成 ➡️このnote 
➡️ ⓪ iPadでアプリを作ろう
 
❶ App Store からアプリをリリースする準備
 ❷ PlaygroundsでApp教材を動かす
 ❸ Playgrounds App教材のすべて 前編
 ❹ Playgrounds App教材のすべて 後編
 ❺ Playgournds でアプリの作り方
 ❻ Playgrounds で作ったアプリを公開する

記事構成は予告なく変更する場合があります


🟩1  選択肢はいろいろ

そもそも「アプリ」といってもいろいろあります。

🟩1.1 いろいろあるアプリ

ソフトウェアを勉強して「アプリ」を作るといっても実際にはいろいろあります。
大きく二つの流れがあり
一つは「webアプリ」などと呼ばれるインターネット接続を利用し機種を選ばず実行できるもの
もう一つはネイティブアプリとも呼ばれる、各OS専用の「アプリ」です。

各OS専用には iOS用のほかアンドロイド用 macOS用 Windows用などがあります。
ここでは iOS用のアプリの話をします。
iPhone などスマートフォン用のアプリをモバイルアプリなどと呼ぶ場合もあります。

🟩1.2 OSについて

🟢 OSはデバイスを管理

iOS は iPhone や iPad の画面やセンサーやストレージを管理します。
それぞれのアプリは OSの機能を使って画面に表示したり、タッチ操作に反応したり、写真を撮影したりします
このため iOS用アプリは iPhone と iPad でしかインストール・実行できません。
アプリは OS の機能を使って実行するので、同じ機種でも OS のバージョンにより利用可能な機能が違うことがあります(新機能が使えないなど)。

🟢 iOS と iPadOS

iOSはアップルが開発した OS で  iPhone 用として登場しました。
その後 iPad 発売のタイミングで iPad の大きな画面用に多くの追加変更がありました。
しばらく iPhone も iPad も OS は iOS で共通でしたが、最近は iPad 用を iPadOS と区別して呼んでいます。
ホーム画面や使える機能に違いがありますが、現在でも基本は同じです。
iPadOS は iOS とほぼ同じと考えてください。
この記事(マガジンの各記事)では特に注釈しない場合の iOS は iPadOS も含みます。
アプリも必要な場合以外は iPad 用と iPhone用を区別しません。

iOS は macOS をもとに作られました。
マウス操作部分は使わず、新たにタッチ操作対応(UIKit)を追加しました。
その後 tvOS や watchOS が登場しましたが、OS の基本部分は共通しています。

利用者向けの iOS 解説

利用者向け iPadOS 解説

開発者向け iOS ページ

開発者向け iPadOS ページ


🟢 ソフトウェア部品は OS 別にいろいろある

アプリはフレームワークと呼ばれるソフトウェア部品を組み合わせて作ります。
そのソフトウェア部品は OS の機能を使うので、その OS 専用です。
別の OS ではソフトウェア部品も違ってくるので、そのままコードを流用できません。
このためアプリ作りを始める(学びはじめる)には、まず どの OS 向けに作るか(あるいはwebアプリにするか)を決めなければなりません。

iPhone や iPad を使っているなら迷わず iOS を選んでください。
身近にwebアプリや他 OS の指導してくれる人がいるなら、そちらも選択肢の一つです。

この記事と出会って iPad が利用可能なら iOS アプリ作りに挑戦してください。
画面を作るためのフレームワーク「SwiftUI」も使えます。


🟩1.3 iOS用アプリは iPhone や iPad で使う

iOS用アプリは iPhone でも iPad でも使うことができるように設定できます。
iPhone 専用にも iPad 専用にもできます。
アプリの機能により自由に選ぶことができます。

まずはシンプルに

iPad は画面が大きく、独自の機能もあるので考慮しなければならない点が多いです。
iPad では基本的に画面の回転にも対応が必要です。
iPhone は画面の回転に対応しないアプリもあります。


🟩2  アプリ作りには何が必要?


🟩2.1 お金がかかる?

主に費用が発生するのは 1︎⃣開発機材 2︎⃣動作確認用機材 3︎⃣デベロッパー登録(アプリをストアで配布する場合)です。
もちろんネットワーク環境も必要です。
詳しくは「❶ App Storeからアプリをリリースする準備」を参照してください。

情報収集のために書籍・教材やセミナーあるいはスクールを利用する場合は別途費用がかかります。

🟩2.2 必要機材

iPad の Playgrounds 4 アプリを使う場合を説明します。
最新 iPadOS の iPad を使っているなら投資ゼロで開発可能です。
最新の iPadOS でなければ最新にアップデートしてください。

お手元の iPad が最新 iPadOS に未対応の場合は機材の手配が必要です。
最新 OS 対応の Mac が利用可能なら、そちらが使えます。
機材についてさらに詳しくは「❶App Storeからアプリをリリースする準備」に書きましたので参考にしてください。


🟩2.3 プログラミングスキル と アイディア

アプリ作りには情報収集してツールを使いこなすスキルが必要です。
特別な資格や免許は不要です。
情報はネットで収集できます。
最も時間のかかる部分ですが、少しずつ試しながらすすめることができます。


🟩3  どうやってつくるの?

iPad でも利用可能な Playgrounds アプリを使います。
Playgrounds は日本語の教材(サンプルコード)もそろっています。

🟩3.1 Playgroundsアプリを使う

Apple製の無料アプリPlaygroundsプレイグラウンズを使います
もともとプログラミング言語Swiftスイフトを学ぶためのアプリでした。
最新バージョンでアプリを作り App Store へ申請(アップロード)もできるようになります。

Playgrounds アプリは Mac用もありますが、残念ながら同じバージョン 4 にアップデートしてもアプリ作りの機能はありません

Xcodeエックスコード にも Playgroundプレイグラウンド 機能があります。(こちらは最後のsがない単数形です)

🟢 Playgrounds アプリについて

Playgroundsアプリは「12歳から112歳まで」と書かれています。
(最新バージョンでは「8歳から108歳」になっていました)

次の日本語サイトにはまだバージョン 4 の内容に更新はされていません。(12月18日現在)

アプリ作りでもそのまま使えるSwift言語を使ってコードを実行できます。
無料の教材も豊富で、中でも「コードを学ぼう」はまったくの初心者から楽しく取り組めるものです。
こちらの記事を参考にしてください。「未経験者のための『コードを学ぼう』ガイド-1」無料記事です

iPad の Playgrounds 4 には SwiftUI を学ぶための無料教材が多数追加されました。

🟢 Playgroundsで実行

これまでも Playgrounds では自分で入力した Swiftのコード(プログラム)を実行することができました。
実行には Swift のコードが必要です。

アプリもコードから作成しますが、「ビルド」と呼ばれる処理が必要です。
ビルドしてしまうとアプリの実行にコードは不要になります。

これまでの Playgrounds は アプリのビルド機能 を持たなかったので、実行のたびにコードが必要でした。
コードは常に編集可能なので意図しないタッチなどで、消えたり不要な文字が入力されることがありました。(その場合は修正しないと正常に実行できなくなります)
独立したアイコンを付けてホームに置くこともできません。
ホームに並ぶアプリとは別のものです。

🟢 アプリにして実行

Playgrounds 4 からは「アプリ」を作ることができます。
(Playgroundsの中ではだれでも自由に作ったアプリを実行できますが、ホームに保存するには Apple のデベロッパー登録が必要です)


🟩3.2 Mac で Xcode アプリを使う

本格的なアプリを作る方法です。
詳しい説明は割愛します。
最新 macOS が利用可能な Mac 本体が必要です。
Playgrounds アプリで作ったコードを利用することができます。
Xcode は大規模な開発ツールで使いこなしにはスキルが必要です。
Xcode は無料アプリでだれでもダウンロードしインストールできます。(容量は巨大なのでストレージには十分な空き容量が必要です)

Playgrounds アプリで作ったコードを引き継いで使うことができます。
最新 macOS の Mac が利用可能な場合も追加投資はゼロです。


🟩3.3 アプリにはたくさんの約束事がある

アプリとして実行するには、プログラミングコードで以下の約束事に対応します。

🟢 ホーム画面に配置される

アプリはアイコン画像アプリ名文字列を持ち、ホーム画面に配置されます。
各アプリは識別子で区別されます。
タップで起動します。

🟢 画面表示とアクションに対応

起動後に最初の画面を表示します。
アプリの画面はタッチ操作などのアクションを受け付けます。
アプリの中ではアクションはイベントと呼ばれます。
アクションはタッチのほかキー入力もあります。

🟢 ソフトウェア部品を組み合わせて作る

インターネット通信、Bluetooth通信、ファイルの読み書き、写真撮影、動画撮影、位置情報取得、ジャイロや加速度センサー利用など多種多様なソフトウェア部品があります。
必要によりそれらを組み合わせて使います。

Playgrounds 4 には、これらの約束事を組み込み済みのたくさんの無料サンプルがあります。
サンプルは日本語の解説があり、すべてチュートリアル的に自習しながら体験できます。

Playgrounds 4 のサンプル


🟩4  アプリを作ろう


🟩4.1 楽しい

Playgrounds 4 のサンプルを動かすだけでも、かなり楽しめます。

私がプログラミングを学んだころは、初心者向けのサンプルは結果を文字で表示するものが中心でした。
Playgrounds 4 のサンプルは画面表示やタッチで直接操作したり、センサーに反応するものなど多彩です。

現在のデバイスは(モバイルもパソコンも)十分高性能です。
その高性能は使いやすさに生かされていますが、ソフトウェア開発ツールも快適な方向に進化し続けています。
アプリ作りもこの数年でかなり快適になりました。

かつては、コンピューターの性能が低かったため限界を熟知し工夫を重ねてアプリを作る必要がありましたが、現在では既存のソフトウェア部品を組み合わせることでそこそこのアプリが完成します。
そのためアプリ作りは理系エンジニアだけのものではなくなりました。

ITエバンジェリスト若宮さんのような苦労(高額で手間もかかる)なしに取り組めます。


知る楽しみ

使うだけから、作る可能性が見えそれが広がっていくのは楽しいです。
ソフトウェアのしくみ(アプリのしくみ)を知るのも楽しです。


🟩4.2 広がる可能性 アプリの応用範囲は拡大中


🟢 実用につながる

なんとかテックが花盛り

  • 十分高性能になったスマートフォンを個人が持ち歩いている

  • インターネットネットサービスとの連携

  • iPhone iPad はセンサーの塊 かつ 個人が携帯している しかも コンピューターとしても高性能

  • Watch は医療関連のセンサーがさらに多い

このような背景があるのであらゆるものが急速にIT技術を取り入れています。
広告・農業・教育・金融・ファッション・食品・行政・健康・保険・法律・製造・医療・不動産・物流・環境・スポーツ・人事・女性・子育て・ペット・建築などなど ◯◯テックが花盛りなのはスマホの進化が原動力の一つです。

App Store で配布・販売できる

デベロッパー登録が必要アプリごとに審査がありますが、完成したアプリは App Store で配布できます。

有料で販売もアプリ内課金の仕組みで課金することもできます。
App Store での売り上げはまとめて指定口座に振り込まれます。
支払いの確認などすべてAppleがやってくれますが30〜15%の手数料を差し引いた金額が入金します。

広告の掲載

現在アプリの広告は Apple 自身は供給していません。(過去には iAd がありましたがかなり前になくなりました)
Apple 以外の 広告SDK を入手してアプリに組み込むことになります。
広告 SDK を利用するアプリは、App Store の「App Storeプライバシー情報」セクションで開示しなければなりません。
広告以外でも利用者のプライバシー情報にアクセスしたり、入力を求める場合には同様に開示しなければなりません。


🟢 オンライン配布・販売の実践

オンラインでデベロッパー登録し、完成したアプリをオンラインで申請する
申請作業も準備を含め立派なスキルです。
アプリ開発には免許はありませんが、App Store で配布まで漕ぎつければスキルの証明になります。

企業や組織はアプリが武器になります、しかし開発できる人材は多くはありません。
アプリを開発できるスキルは個人の武器となります。
プログラミングだけでなく、Appleとデベロッパー契約をして App Store へ申請も重要なスキルです。

アプリ作りは、プログラミングやデジタルへの理解が深まる実習です。
プログラミングはどこでもできるので、ネットワーク環境さえあれば都会である必要はなく地方でもできます。

🟢 カスタムAppの配信

企業や教育機関など個々のニーズに応えるカスタム App を開発し、非公開で特定の人に配信することができるとされています。


🟩5  疑問・心配

iPad などが利用可能なら、気軽にプログラミングをはじめてください。

🟩5.1 むずかしい?

確かに習得が必要なことはたくさんあります。

たくさんありますが、すべてを完璧に記憶する必要はまったくありません。
必要な時に参照できれば十分です。
繰り返しやっている間に頭に入ってくるはずです。
次の「プログラミング言語」「アルゴリズム」「アプリの構造」「ソフトウェア部品」には慣れておくと、より楽しく開発できます。

プログラミング言語

アプリ作りにプログラミング言語は必要です。
iOSアプリなら Swiftスイフト言語を使います。

Swift は macOS・tvOS・watchOS 開発でも使えます。

かつては Objective-Cオブジェクティブ - シー 言語が使われていましたが、新機能は Swift だけで利用可能なものもあります。

これまでの膨大な資産は Objective-C 言語で書かれているので、メンテナンスには Objective-C の知識が必要ですが新規に作る場合は Swift のみで大丈夫です。

アルゴリズム

重要だけど最近はあまり情報を見かけないことのひとつに「アルゴリズム」があります。
コンピューターの性能が不十分な場合は、使い物になるアプリを作るには「アルゴリズム」かなり重要でした。
最近のデバイスは高性能なので重要性は少し低下しました。
現在でもバッテリー消費などにつながるので適切なアルゴリズムを選ぶことは現在もやはり重要です。

アルゴリズムの良い資料です:
50分で学ぶアルゴリズム / Algorithms in 50 minutes


アプリの構造

アプリの構造は OS ごとに変わります。
iOS では基本的な構造は macOS と同じです。

ホームでは一つのアプリに見えますが、内部はフォルダー構造になっています。
アプリの画面に表示するための情報類(文字情報や画像あるいは動画や音情報)はアプリの中に持つことができます。
各国の言語に対応するには文字情報などを言語別のフォルダーにわけて持っています。

ソフトウェア部品

フレームワークと呼ばれる利用可能な部品は多数あります。
膨大な種類がありますが、ひとつのアプリで利用するのは一部なので少しずつ守備範囲を広げていくことができます。
資料はオンラインで参照できます。




最初は誰もが初学者です。
心配するより、飛び込んで始めてみてください。
簡単ではないですが個人開発なら、どんなアプリに仕上げるか自分でコントロールすることができます。
まず、むずかしい機能は後回しにして完成を優先してください。


🟩5.2 投資は無駄にならないか?

開発機材、動作確認用機材ともに普段使いできるものなので無駄になる心配は少ないと思います。
iPad・iPhone ともに OSアップデートが長期間あり、安心して使い続けることができます。
情報収集やアプリの研究にも長く使えます。
中古市場もあり、デバイスの入手も・処分も可能な点もおすすめです。




次のステップ

プログラミングを集中して学ぶ前にできる準備をまとめました:


ここから先は

0字
有料記事6本をまとめて、リーズナブルに読めます。

iPadで自分専用のアプリを作ったり、配布したりする方法を説明する記事です。 Playgroundsアプリを使ってアプリを作りましょう! …

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