10
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

OnsenUI+AngularJSを使ってWeb・ネイティブアプリを作ってみた

Posted at

#背景
とあるプロジェクトで、以下に挙げるような要件のサービスを立ち上げることになり、
OnsenUIを使ってみようということになりましたので、
今回は開発の概要や感想を書いていきたいと思います。

  • スマホ用WEBサービス
    • デザイン・UIはネイティブアプリライクなものにしたい
    • ナビゲーションバー、タブバーのようなコンポーネント、スライドアニメーション等
  • WEBで先行リリースするものの、後々はネイティブアプリとしてもリリースしたい
    • Android, iOS

#OnsenUIについて

  • HTML、JavaScript、CSSでネイティブアプリが作れる
    • JavaScriptは、AngularJS(1系,2系)、React等のフレームワークから選択できる
  • 当然WEBアプリとしても使える
    • UIコンポーネントが用意されているので、ネイティブライクを簡単に実現できる

※公式はこちら

#開発の流れ
今回はAngularJSの1系を使ったので、ここにある通りです。
https://ja.onsen.io/v2/docs/guide/angular1/

  1. monacaをインストール
    $ npm install -g monaca
    macでnpm使えないよーという方はこちらを

  2. プロジェクト作成
    $ monaca create helloworld
    種類を選択するよう指示が出るので、今回は
    「Onsen UI and Angular 1」と「Onsen UI V2 Angular 1 Tabbar」を選択

  3. プレビュー確認
    $cd helloworld; monaca preview
    ⇒ブラウザが立ち上がって確認できます。なんと便利な...!!

  4. HTML作っていく
    あとはとにかくコードを追加していく。
    ドキュメントが日本語でわりとしっかりあるので、割愛...w
    UIのサンプルとかはここで試したりできます。
    http://ja.onsen.io.s3-website-us-east-1.amazonaws.com/tutorial/?framework=vanilla&category=Reference&module=list

#アプリのビルド

  1. Monaca Localkitをインストール
    https://monaca.io/localkit.html
  2. Monaca Localkit上でアプリの設定を行い、ビルドする
    こんな感じです。
    スクリーンショット 2016-12-01 13.15.37.png
    スクリーンショット 2016-12-01 13.14.55.png
    スクリーンショット 2016-12-01 13.15.57.png

#一応サービスの紹介を

スクリーンショット 2016-12-01 15.14.09.png

#感想
###メリット・よかった点等

  • Webのスキルがあれば、ネイティブアプリのスキルがなくてもアプリが開発できる
  • アプリライクなUIを簡単に組み込める
  • 工数の短縮
    • 普通にWeb、iOS、Androidを作るよりはだいぶ早い(ものにもよりますが)
  • カメラ、GPS、決済等、ネイティブ専用の機能もプラグインが豊富に用意されている

###デメリット・苦戦した点等

  • 端末依存・ブラウザ依存
    OnsenUIに限ったことでもないですが、iPhoneで表示が崩れる、Androidでうまく動作しない、といったことがちょこちょこありました。結果、部分的にiOS用、Android用にカスタマイズが必要といったことが必要。
  • 学習コスト・引継ぎコスト
     多少特殊な作りにはなっているので、知らない人が見たら最初はよく分からない。ただAngularJS習得済みであれば基本的には大丈夫。自分はAngular初だったので苦戦しました。。。
10
8
0

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
10
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?