開発環境をえらぶ

ということで、スマホアプリを作ると決意表明したので次に開発環境について考えいきます。

Android? iPhone?

まず、最初に考えるのは Android iPhone(iPad) のどっち向けのアプリを作るか?

ちょっと調べた感じを表にしてみました。

Android iPhone
海外シェア 70.68% 28.79%
日本でのシェア※ 38.45% 61.35%
審査 なし あり
開発者登録費 25ドル 99ドル/年
必須OS Windows or Linux or Mac Mac
検索数(「アプリ開発 入門」) 1550万 719万

※シェアは  statcounter の2019年のデータより

なんとなく iPhone 向けの方がハードルが高そうだけれど、その分収益は高そう。

取り敢えず、始めてのアプリ開発なんで android がよさそう。(Mac 持ってないし

開発環境

ちゅーことで、今度は開発環境について考えていこう

ターゲットは android でいくことにしたけど、ゆくゆくは iPhone 向けにも公開したい。

というわがままな願いを解決する方法といえば

クロスプラットフォーム

ですね。

説明をウィキペディアより抜粋。

クロスプラットフォーム(英: cross-platform)とは、異なるプラットフォーム(例えばPC/AT互換機とMacintosh、あるいはWindows・macOS・FreeBSD・Linuxなどのように、仕様が全く異なる機械(ハードウェア)またはオペレーティングシステム)上で、同じ仕様のものを動かすことが出来るプログラム(ソフトウェア)のことを言う。

ザックリ言うと、android 用に開発したアプリをそのまま iPhone で動かせれたりするようなイメージです。

実際には、プラットフォームが変わるとうまく動作しなかったり、見た目が違ったり、速度が遅かったりで、思い通りにいかないというのが世の常なんだけど、初心者からすればそんな高度な悩みは後回しでいいのです。

ということで、android と iOS をサポートするクロスプラットフォーム開発用のツールを探したところ、Flutter XamarinReact Native ってのが主流っぽい。

Flutter , Xamarin , React Native 比較

簡単に比較してみました。

Flutter Xamarin React Native
提供元 Google Microsoft Facebook
開発言語 Dart C# JavaScript
開発環境 Android Studio / IntelliJ IDEA / VSCode Visual Studio Nuclide / VSCode / Expo
UI 独自UI 独自UI / ネイティブUI ネイティブUI
人気度の動向(2017~2019) 上昇 下降 横ばい

独自UI / ネイティブUI というのは、プラットフォーム固有のオブジェクトでUIを描画/イベントハンドリングするか、開発環境に用意されたものを使用するかみたいな感じかな?
ネイティブUIは柔軟性があってプラットフォームに特化した描画などできる(あとレスポンスも早い?)けど、反面プラットフォームによってアプリのカスタマイズが必要になりそう。
独自UIの場合は、異なるプラットフォームで同じUIを提供できるみたいなイメージ。

人気度の動向は Google Trends で判断してます。

結論

Flutter に決めた!!

C# は仕事で使ったことあるので最初は Xamarin にするつもりだったけど、↓の理由で Flutter に決定。

  • Android と開発元が同じ
  • 人気急上昇
  • 最近のプログラミング言語を使いたい

 

次回から Flutter の環境を構築するのです。

 

コメント

タイトルとURLをコピーしました