LoginSignup
9
10

More than 5 years have passed since last update.

[*その他*] アプリの開発方法を調べる

Last updated at Posted at 2015-11-30

はじめに

業務アプリケーションを作っている会社に務めているのですが、
時代の流れもあり、業務アプリの一部の機能をスマートフォンアプリ化しようという話になりました。
そしてアプリ開発用のチームが編成されたのですが、
アプリ作るの楽しそうだなぁくらいのどうやって作るんだろうね状態です。
Advent Calendarの時期なので、これを機会に毎日ちょっとずつ勉強していこうと思います。
まずはアプリはどうやって作れるのかという開発手段について調べました。

アプリ開発のタイプ

  • ネイティブアプリ
  • ハイブリッドアプリ
  • Webアプリ

ネイティブアプリ・ハイブリッドアプリ比較

ネイティブアプリ ハイブリッドアプリ Webアプリ
概要 アプリとしてダウンロードする形式で、iOSやAndroidなど特定プラットフォーム用に作られている アプリとしてダウンロードする形式だけどHTML5等で作られる ウェブブラウザからURLでアクセスするタイプ
言語 Swift, Objective-C, Java etc... HTML, CSS, JavaScript etc... HTML, CSS, JavaScript, Javaなど色々
メリット ・ デバイスの機能を最大限に利用できる(最新機能の利用など)
・動作が速い
・HTMLやJavaScriptなど、比較的手を出しやすい言語の使用
・クロスプラットフォーム対応しやすい
・アプリをダウンロードする必要がない
デメリット ・プラットフォームごとに開発言語が異なる
・ネイティブに比べると動作が遅い
・ゲームのような処理が重いものには不向き
・デバイス機能が使えない

ハイブリッドアプリ開発フレームワーク等

とりあえず目についたものまとめ。

名前 説明
Apache Cordova Adobe社がNitobi社のPhoneGapを買収しApacheへ寄贈、オープンソースとして開発されている。
PhoneGap Adobe社が公開しているフレームワーク。Cordova+Adobeが提供する機能。
Monaca Cordova + HTML + JavaScript + CSS + AngularJS + OnsenUIあたりで開発できる。クラウドIDEで開発できて、デバッグとかもやりやすい。
Titanium Appcelerator社が提供している。JavaScriptでAndroid/iOSアプリが開発できる。
React Facebookが開発しているJavaScriptライブラリ。React Nativeというのがオープンソースとして公開された。
WinJS AndroidやiOS向けにもWindowsアプリが開発できる。
Sencha Touch HTML5、CSS3、JavaScriptを用いたモバイルアプリケーション開発用フレームワーク。
アプリカン 開発支援ツールがそろっていて、HTML5やJavaScriptなどでアプリを開発できる。
Xamarin C#などを使ってiOSやAndroid、MacOSアプリケーションを作成できる。
RubyMotion Rubyを使ってiOSやAndroidのアプリを作れる。

まとめ

それぞれの方法にはそれぞれメリットやデメリットがあるので、
どういう機能がいるアプリなのかによってもどういう開発手段を選択すべきかを考えなければならないと思いました。
現状、作ることになりそうなアプリはデバイスの最新機能をふんだんに使わなければならないようなものではない…と思うし、3Dなどの映像等がメインではないのでネイティブでがりがりやらなくてもいけるのではないかなという印象です。
が、現状ネイティブでないとできないことっていうのがどの程度あるのかがよくわかってないのでその辺によっても変わるかなといった感じです。

参考

9
10
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
10