アプリケーションの開発の仕方を勉強しましょう。


クロスプラットフォーム開発の環境

システム開発を行っていた会社のほとんどが、社内向けのシステムや、パソコン向けのシステムだったのに対し、スマートフォンの登場からその急激な普及によって、スマートフォンに搭載されているアプリ開発の需要も増えています。

しかし、アプリ開発を行うに当たって、スマートフォンアプリは大きく2種類が存在し、その一つがApple社が開発したiphone に搭載されているiosアプリと、Google社が提供しているandroidを搭載したandroidアプリに分かれています。

いずれも全く異なる言語と、開発環境でプログラミングされているので互換性もなく、アプリ開発を行っている会社がアプリを作るとなった場合、iosアプリとandroidアプリの両方を作るか、それぞれ片方だけに特化するかの2択を迫られてしまいます。

その理由としては、iosアプリを開発する場合iosアプリを開発する開発環境を整える必要があり、また同時にiosアプリのプログラム開発に必要なObjective-CやSwiftという言語をマスターしたシステムエンジニアを揃える必要があります。

インターネットの全世界通信によって人類が繋がるイメージ

一方、androidアプリを開発する場合も同様で、androidアプリを開発する開発環境を整え、androidアプリの開発に必要なandroid Javaのプログラマーを集めなければいけません。

しかし両方の環境で開発するとiosアプリとandroidアプリ両方の開発コストがかさむので、近年ではクロスプラットフォームと呼ばれる異なるプラットフォームを活用する方法で、同じ仕様のものを動かすことが出来るプログラムが利用されています。

iosアプリを開発する場合、OSはMacOSでの開発になり、androidアプリを開発する場合にはWindowsパソコンで行われます。

ところがこのクロスプラットフォームを利用する事で、1つのアプリケーション、コードを、MacOS、Windows両方のOS上で動かせるようになるというのです。

アプリケーション開発に携わるエンジニアがアイデアを思い付くイメージ


今まではiosアプリとandroidアプリ両方で開発するには、それぞれOS毎にソースコードを分ける必要がありましたが、このクロスプラットフォームの登場によって、ソースコードの統一化が可能となりました。

メリットは当然、複数のデバイスで動くアプリが1つのコードから作れるという事で、デメリットとしては、ネイティブで実装した場合と比較して実行速度が遅い場合がある点です。

それ以外のデメリットとしては、ライブラリ特有のバグが存在する可能性があるので、各OSの全機能を引き出せないという部分にありますが、ネイティブ実装よりリバースエンジニアリングやチートがしやすい場合があります。

クロスプラットフォームといえば、ゲーム開発で広く使われているUnityやCocos2d-xや、Monaca、C#系のXamarinなどが有名です。

 

 

 

 

Posted in アプリ開発