【スマホアプリ開発】クロスプラットフォームを分かりやすく説明してみた

【スマホアプリ開発】クロスプラットフォームを分かりやすく説明してみた

クロスプラットフォームってなんかイメージしづらくないですか?初めて聞いた時、「クロス」って何?と思いました。
goo国語辞書によると「交差すること」と書かれていて、いくつか意味がある中でこれが一番近そうです。
次にプラットフォームをWeblioで調べてみると「ソフトウェアを動かすための土台、基盤」と書かれていて、いくつも意味がある中で これが一番近そうです。
この辺りまで調べて理解不能に陥った当時の私ですが、同じような方もいるのではないでしょうか。主にエンジニアではない方に理解してもらえるように説明します。

一言で言うと一度で二度美味しい

「美味しい」と言うくらいなので、料理の話ですねw。例えるならカレーです。カレーを作りさえすれば、ご飯にかけて「カレーライス」、うどんにかければ「カレーうどん」になるのと概念的には全く同じです。

つまり、下記のように「ご飯」を持ってカレーライスを食べたい人と、「うどん」を持ってカレーうどんを食べたい人に「カレー」を提供すればそれぞれの願いを叶えることができてしまうわけです。作るのはカレーだけで良いってことですね。

スマホアプリ開発に話を戻すと

クロスプラットフォームを使わない場合、この「カレー」だけを作れば良いってわけにはいかないんです。ではどうするかというと、カレーライスを食べたい人に「カレーライス」を作ってあげる、カレーうどんを食べたい人に「カレーうどん」を作ってあげる必要があります。

スマホの場合、iPhoneとAndroidがありますが、クロスプラットフォームがないと、同じ仕様のアプリでも別々に作らないといけないのです。

クロスプラットフォームを使うと、「共通アプリ」のようなものが作れて、1つ作ればiPhoneとAndroidの両方で動かせるようになるのです。

何が嬉しいのか

同じものを二回作らなくて良いので手間が減ります。作るだけの手間だけじゃなくて、もし仕様が変わった時に1つ直せば両方に反映される、と言ったことも可能になります。
残念ながらテストはiPhoneとAndroidの両方でやる必要があります。カレーライスとカレーうどんの味見をするのに近いですね。カレーライスの味見をすればカレーうどんは味見しなくて良い、とまで言い切れないのと同じです。

最後に

書き始めてみるとだいぶ抽象化されましたが、概念として理解するにはそれほど間違っていないと思います。この説明だけでは不十分で、もっと詳しく説明して欲しい!と言う方は、お近くのエンジニアさんにお問い合わせくださいw

SHARE:
この記事が気に入ったら
フォローしよう
最新情報をお届けします
あなたへのおすすめ

Fatal error: Uncaught Error: Class 'voku\helper\HtmlMin' not found in /home/c9872363/public_html/worldis.fun/wp-content/themes/rediver/inc/Cache.php:142 Stack trace: #0 [internal function]: QB\Diver\Cache->ob_callback('<!DOCTYPE html>...', 9) #1 /home/c9872363/public_html/worldis.fun/wp-includes/functions.php(5471): ob_end_flush() #2 /home/c9872363/public_html/worldis.fun/wp-includes/class-wp-hook.php(324): wp_ob_end_flush_all('') #3 /home/c9872363/public_html/worldis.fun/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters('', Array) #4 /home/c9872363/public_html/worldis.fun/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #5 /home/c9872363/public_html/worldis.fun/wp-includes/load.php(1304): do_action('shutdown') #6 [internal function]: shutdown_action_hook() #7 {main} thrown in /home/c9872363/public_html/worldis.fun/wp-content/themes/rediver/inc/Cache.php on line 142