クロスプラットフォーム開発環境でモバイルアプリを作りたい(調査)
皆さんこんにちは。光永です。
クロスプラットフォームアプリ開発ってそこんとこ(?)どうなん?
という調査をしましたので、例のごとく技術ブログに見せかけた社内共有記事です。
さっくりご参照ください。
TL;DR
ざっくり調べただけで環境が11こ。
纏めんのはちょっと無理です。
クロスプラットフォーム開発ってなんなんなん?
クロスプラットフォーム??
挙動の異なる環境(ハード・OSなど)上で同じ仕様のものを動かすことができるソフトウェア。
実装方法等
技術ベースは 開発環境によってさまざまだが、HTML(+CSS) & JS で実装しようぜ!!というのがここ数年の流行。
特別なスキルセットが無くてもWebアプリの開発ができる知識(特にフロント側)があればすぐモバイルアプリに参入できる(語弊有)というのが魅力のようです。
課題
何せ流行しているので、めっちゃくちゃ選択肢があります。
しかし開発環境の選定は、大事。
クロスプラットフォーム開発環境
環境 | 言語 | Mac | Win | WinApp | iOS | Android |
---|---|---|---|---|---|---|
Unity | C# | ○ | ○ | ○ | ○ | ○ |
Xamarin | C# | ○ | ○ | ○ | ○ | ○ |
Titanium | HTML,JS,CSS | × | × | × | ○ | ○ |
Cordova | HTML,JS,CSS | × | × | ○ | ○ | ○ |
Monaca | 〃 | 〃 | 〃 | 〃 | 〃 | 〃 |
PhoneGap | 〃 | 〃 | 〃 | 〃 | 〃 | 〃 |
Telerik Platform | HTML,CSS, JS/C#(.NET) | ○ | ○ | ○ | ○ | ○ |
Electron | HTML,CSS, JS/C#(.NET) | ○ | ○ | × | × | × |
React Native | HTML,CSS, JS(React) | ※ | ※ | ○ | ○ | ○ |
NativeScript | HTML,CSS, JS | ※ | ※ | ○ | ○ | ○ |
Weex | HTML,CSS, JS(Vue.js/Rax) | ※ | ※ | ○ | ○ | ○ |
個別メモ
- Unity
あくまでゲーム向けなので、業務向けでの使いやすさは微妙。 - Xamarin
MicroSoft謹製。開発環境の準備が結構大変&重たい。
また、クロスプラットフォームで共通にできるのは「コア」部分だけ。 - Titanium
名前のせいかググラビリティがたいへん低い。 - Cordova
Apache製。HTMLとJSでやるクロスプラットフォームの「はしり」です。 - Monaca
環境構築が楽。webアプリ上で開発~ビルドまでできる。※ベースはCordova - PhoneGap
Adobe製。※ベースはCordova - Telerik Platform
日本語情報が少ない。紹介記事:リンク - Electron
どっちかというとPCアプリの印象の方が強いかも。GitHub製。
Atom(IDE)の開発のために作られたフレームワークで、VSCodeなど、IDEをこれで開発するのがちょっとした流行です。
しかし日本語情報が少ない。 - React Native
ReactをつかいつつNativeなJSでアプリ開発ができる。
UIがネイティブなものを使用するという仕様になっているのが一大特徴。よって早いし安定している。
App向けに開発したものをWebアプリに逆輸入するというなかなか強引なこともできちゃう。(React Native Browser) - NativeScript
ReactなしのReact Native(みたいなもの)。NativeなJSでアプリ開発ができる。 - Weex
React NativeのVue版のようなもの。もとはアリババ製。
ご参照ください。
光永でした!!!