まりんちゃんが初めてスマホアプリを作ろうとしている話 第1章の3

まりんちゃん
- 広告 -


前前回前回の続き。
ハードウェア・OS・アプリ(ソフトウェア)の説明。今回はアプリについて。

– 登場人物 –

万座まりん
万座 まりん(まんざ まりん)
小学6年生
好奇心旺盛で、何でも兄の真似をしたがるお年頃。

万座備一
万座 備一(まんざ びいち)
大学1年生。
子供の時からプログラミングを勉強して、自分でいろいろと作ったりしている。
将来プログラマーになるかどうかは、まだ考えていない。

- 広告 -

(2-3)アプリ(アプリケーション)

これは説明の必要ないかな?今から作ろうとしてるものだね

うん!アプリ作りたい〜!
でも、アプリってなんなの?って言われたら分かんない。

そうだな〜。アプリはソフトウェアなのはさっきも言ったよね。アプリっていうのは、ある目的のために使われるソフトウェアの塊のことなんだ。

塊?ってどう言うこと??

例えば、メールアプリを考えてみよう。
メールアプリはメールを作る、送る、受け取るっていう目的があるので、そういった機能を持っている。webページを見る機能は持っていないので、メールの中のリンク開くとブラウザ(iOSならサファリ、Androidならchrome)が立ち上がる。そのブラウザも一つのアプリだね。


 

必要な機能を一つにまとめたものって事?

すごいな、まりん!その通りだよ。

へへん!

この、機能というのが、ソフトウェアで作られているんだ。
いろんな機能を一つにまとめてパッケージ化したものをアプリって言うんだよ。

 

 

まとめ

ここまでが本当にざっくりとした、アプリが動くための仕組みだよ。

なんとなくわかったような?わからないような??

じゃあ、もう少し詳しく説明するよ。
スマホは「ハードウェア」「OS」「アプリ」で構成されてるって話をしたよね。
ハードウェアは機械で、OS、アプリはソフトウェア、つまりプログラミングされたものなんだ。
ハードウェアをもう少し細かく見てみるとCPU、メモリ、ストレージといったソフトウェアを動かすのに必要な装置と、ディスプレイ、スピーカー、マイクみたいに、使う人が操作する装置の2つに分かれるんだ。
本当はもっと他にもあるけど、今回はこの2つに注目して話を進めて行くよ。


CPUはOSやアプリなどのソフトウェアが動く場所。ストレージはソフトウェアを置いておく場所。メモリは一時的にソフトウェアを広げておく場所なんだ。
OSはハードウェアとアプリをつなぐ役目があるといったけど、このCPUがハードウェアからの電気信号を受け取って、ソフトウェアで処理できるデジタルデータに変換してるんだ。
そのデジタル信号をOSが受け取って、なんらかの処理をするんだ。
逆にアプリからの通知をハードウェアに伝えるために、ソフトウェアからのデジタルデータを電気信号に変換したりもしている。
CPUとOSってとても親密に関係しているんだ。

だんだん難しくなってきたよ〜。
うーんと、CPUって言うところでOSが動いていて、スピーカーとかマイクとかのハードウェアと繋がってるのね?で、その間は電気信号でやり取りしてる。
CPUの中はソフトウェアが動いてて、デジタルデータで動いてる。
…デジタルデータって何?

デジタルデータって言うのは、コンピュータが扱える2進数、つまり0か1の数値に置き換えた情報のことだよ。例えば、スイッチを押さない状態を0、押した状態を1と設定されていた場合、誰かがスイッチを押すとCPUがスイッチが押された電気信号を受け取ったら、スイッチのデータが1になる。と言った動きをするんだ。これは、入ってくる信号の種類によって変換の仕方が変わってくるよ。

 

CPUに入ってきた情報を使いやすい形に変えてるってこと?

そんな感じかな。
そして、ハードウェアからの信号をOSがアプリに知らせる。アプリからOSに指示を出したらOSがハードウェアに信号を送る。


例えば、画面のボタンをタップしたら音楽を鳴らすって言うアプリがあったとする。
アプリは画面(タッチディスプレイ)にボタンを表示してある。そこをタップされるとディスプレイからOSにタップされたという信号が送られる。
OSはアプリにボタンがタップされたと通知する。
アプリはボタンが押されたので、OSに音楽を鳴らしてとお願いしする。
OSはスピーカーに音楽の信号を送って、スピーカーは受け取った信号を音にして音楽を鳴らす。
って言う動きをするんだ。。。分かったかな?

分かんない!
アプリがハードウェアを動かしたりするときは、OSにお願いしなくちゃいけないって事だけ分かった気がする。

まあ、そこが分かれば十分だよ。
要するに、アプリはOSの事を理解しておけばハードウェアの細かい中身を知らなくてもアプリを作れるって事でもあるよ。

OSにお願いしたら後はOSがハードウェアを動かしてくれるって事だね!


つづくよ!

- 広告 -

コメント