スマートフォンで日々使えるアプリたち。
これらは一体どうやって作られているのか、まとめました。
アプリとは?
アプリとは、「application software(アプリケーションソフトウェア)」の略で、目的にあった作業をする応用ソフトウェアのことです。
具体的には、スマホであれば、ゲームやメッセージアプリ、動画再生など
パソコンであれば。表計算やワープロなど
このアプリたちは、『OS(オペレーションシステム)』上にインストールして使用できるようになります。
OSとは?
OSとは私たちが使うすべてのコンピュータ(パソコン、スマホなど)を制御するのに必要な基本ソフトウェアのことです。簡単にいうと、パソコンやスマホを動かすためのソフトです。OSがないと電源を入れても何も表示されず、キーボードから文字も入力できなくなります。
一般的なOSとしては、下記があります。
パソコン | スマホ |
---|---|
Windows , MacOS , Linux , ChromeOS | iOS(iPhoneで使用)、Android |
iOSとAndroid
では、スマホで使われるiOSとAndroidについて見ていたいと思います。
iOS | Android | |
---|---|---|
OS | Appleが提供するOS | Googleが提供するOS |
端末 | iPhone,iPadなど | NEXUS,HwaweiなどiOS以外のほとんど |
メーカー | Appleのみ | Google以外にもある |
インストール | App Store | Google Play |
主な開発言語 | Swift・Objective-Cなど | Java・Kotlinなど |
iOSのアプリができるまで
そもそもiOSアプリは、Appleが提供するOS上でしか作ることができません。
そのため、アプリの開発には「Mac」のパソコンが必要になります。
■MacPCでiOSアプリを開発する場合の推奨スペック
Macのスペックとしては下記が推奨されています。
・バージョン:最新
・コア数:Core i5(1.5GHz/2コア 以上) |
・メモリ: 16GB以上
・ストレージ:512GB
(ちなみにWindowsで生きてきた私は、MacBookProのメモリ8GBを買いました。)
iOSアプリは、『Swift』というプログラミングで使う言語を使って作ります。
そのSwiftを使用するためのツールとして、『Xcode』という開発ツールを用います。
■iOSアプリに必要な開発環境
開発ツールは、「開発環境」とも呼ばれ、iOSでは適した開発環境として以下が挙げられます。
【Xcode】
XcodeはMac専用の統合開発環境で、Apple社が開発したもの。Swiftを用いた、iOSアプリの開発に使われる環境。少ないコードでアプリ開発ができるので、初心者にオススメ。
【Xamarin】
Xamarinは、C#を使ったiOSアプリ開発環境でオープンソースである分、誰でも利用できる。本来はiOSとAndroidのアプリで必要な環境や言語が異なるが、XamarinはiOSとAndroidのどちらのアプリも開発できので、両方のアプリを同時にリリースしたい方にオススメ。
【Flutter】
Flutterは、Google社が開発したアプリ開発環境で、Dartというプログラミング言語を使ったクロスプラットホーム開発(iOS、Android、Windows、macOSなど異なるプラットフォーム上で、同じ仕様のアプリケーションを動かせるプログラムの開発)ができる。ほかのアプリ開発環境と比べて、デザイン性に富んだアプリの開発がしやすく、高く評価されやすいUIの構築が可能です。しかし、Dartの普及率が低いため情報が少なく、初心者には難しめ。
■iOSアプリの開発手順
iOSアプリの開発の大まかな開発手順は、以下の通りです。
1.制作するアプリを企画する(コンセプト)
2.アプリの要件を洗い出す
∟どんなことができるアプリなのか箇条書きにする
3.機能を洗い出す
∟要件をもとに具体的な機能を挙げる
4.データ設計
∟アプリ内に必要なデータ構造を設計する
5.ワイヤーフレームづくり
∟アプリの骨組み。紙とペンやフォトショでもいい
6.プログラミング開始
■アプリ実行までの流れ
Swift → Xcode → 中間言語 → iOS → iPhone
①開発ツールを用いてSwiftでプログラミングする
②プログラミングしたものをコンピュータが理解できるよう中間言語にコンパイル(変換)する
③iOSに読み込む
④端末上で実行する
■アプリのストア公開
完成したアプリをApp Storeにリリースするまでの流れです。
アプリ完成
↓ 申請
App Store Connect
↓ 審査
Apple審査員による審査
↓ 承認
アプリ公開
終わりに
日々の生活に欠かせないスマートフォン。そのスマートフォン上で使える便利なアプリたちはどうやってできているのか? そんなプログラミング初心者の私が最初に持った疑問を記事にしてみました。