LoginSignup
0
0

More than 5 years have passed since last update.

Webフロントエンジニアのためにアプリ開発の導入部分を説明する

Posted at

アプリとか作ってみたいね、ってことで友人たちといろいろ計画したときに、アプリ開発に明るくないメンバ向けに情報をまとめた時のメモ。
皆さん、HTMLとCSSでウェブサイト作ったことはあったり、Webアプリの考え方は何となくわかるようだったので、若干Webアプリ開発との対比のような内容になってます。

背景

有識者は多くないけど折角ならWebアプリで終わりたくない、ということでハイブリッド(後述)を採用。

実際に手を動かそう!の前に、スマホアプリ開発のイメージを持ってもらうことを重視したので、「説明が雑すぎる」とか「厳密に言ったらそれ違うでしょ」とかあるかもしれませんが、ご容赦ください。

筆者は正しく理解してますよ。理解してますってば。

ハイブリッドアプリ

Webアプリネイティブアプリの良いとこ取りをした開発方式として、ハイブリッドアプリがあります。

  • Webアプリ

    • メリット
      • 基本的にブラウザでアクセスするので、難しい実装しなくても最悪HTMLとかCSSとか書ければOK。
      • PCのブラウザからもアクセス可能。(⇒ウェブサイトとかのことですね。)
    • デメリット
      • スマホへのプッシュ通知や、アルバムやアドレス帳との連携など、スマホの機能を取り入れたものは作れない。
  • ネイティブアプリ

    • メリット
      • スマホの機能を存分に使ったアプリが作れる。(⇒スマホアプリ、と言うと、この方式のことを指すのが普通なのではないでしょうか。)
    • デメリット
      • AndroidとiOSなど、OS別に専用のプログラミング言語で作る必要があり、開発のハードルが高い。
      • その言語の知識がないと作れない。
      • OSの知識も求められる。

ハイブリッドアプリの仕組み・特徴

  • 実装には主に、HTML、CSS、JavaScriptを使用。
  • HTMLとCSSでレイアウトを作成できる。
  • Cordovaというアーキテクチャが、スマホ本体をjavascriptで操作できるように橋渡しをしてくれるため、OS毎にいろいろな言語をかき分けなくてよい。

※ここではCordovaと言い切ったけど、多分それ以外のものを使ったハイブリッドアプリもあります。けど今回はCordova使います。

開発方法のイメージ

この辺から著しく雑になってきます。今後の知識習得の邪魔になったらごめんなさい・・・。
なんとなくイメージができるようになることを重視します。

上記の通り、お手軽感のあるハイブリッドアプリ。とは言えそれを開発する環境は必要です。

HTML、CSS、JavaScriptだけだったら、極端なこと言えばエディタだけでも書けるし、ブラウザ起動すれば動作確認も出来ないことはないですね。

でも今回はスマホアプリ。

  • Cordovaが上手いこと橋渡ししてくれるって言うけど、Cordovaどこにいるの?開発PCに入れたりするの?
  • そもそもパソコンでデザイン書いてるのに、そこからスマホの機能を使う、っていうのが意味わからない。
  • 動作確認したいけど、パソコンで書いたデザイン達はどんな風にアプリの形にして、スマホに入れればいいの?

というような事、思いませんか?

実際のところ、

  • CordovaがPCで動くようにいろいろダウンロードしてセットアップ
  • Cordovaとデザイン達を繋いで、スマホ機能を使えるように設定
  • エミュレータと呼ばれる、PC上で動く擬似スマホを開発 PCにインストール
  • Cordovaとデザインをまるっとパッケージングして、擬似スマホ内に配置

みたいな事をすれば、コストかけずに実現可能です。
実際、そうやって開発してる人たくさんいると思います。
でもこれだけ見ると、開発環境作るのがすでに面倒そうですね。

Monacaを使うことにした

Monaca
https://ja.monaca.io/

基本的にコストかけないで進めたいねー、とか話していたのですが、環境構築の方法についてもレクチャーが必要そうだな、と。
構築しても使い方を共有して、、、とか考えると、作り始めるの何か月後になるんだろう?と思いました。

なので今回は、多少コストがかかってもより早く簡単にできる方法として、Monaca採用しました。
ただ、今回私たちが作ろうとしているアプリは、コストかけないと実現できない、というだけです。
Monacaは無料で使うこともできるようなので、ちょっとやってみようかな、くらいだったら無料枠でOKだと思います。

monacaとは

  • ブラウザでMonacaにログインして、ブラウザ内でデザインとかJavaScriptとかを実装できます。(インストールして使うクライアントソフトもあるみたい。)
  • デザインとかが出来上がったら、Cordovaとデザインを結びつける部分を実装します。(この辺が若干特殊に感じるかも。AngularJSとかのフレームワーク知ってればなんてことはない。)
  • ブラウザ上でポチポチ操作していくと、デザイン&Cordovaをパッケージングしたものが、インターネット経由で自分のスマートフォンから開けるようになります。(出来立てホヤホヤアプリの動作確認が、スマホ実機でできます。)

自分のPCには何も準備せずに、ブラウザさえあれば動作確認まで完了です!

Monacaについて詳しく知りたい人は、入門系の記事書いてる人がたくさんいるので、検索してみてください。

おわりに

アプリ開発に限らない話ですが、何か新しいことに手を出そうとすると、コアとなる部分にたどり着く前に、設定やら環境構築で打ちのめされたりすることが多々あります。

まずは最短ルートでやりたいこと(今回でいえばアプリ作成)に触ってみて、わかってきてからほかの方法も試してみる、というほうがモチベーションも保ちやすい!

そういった意味で、Monacaはなかなかおすすめです。
もちろん、わかってきたら自分で環境作ってみたりすると、いろいろ幅が広がるとは思います!

※本記事はざっくりとイメージをつかむことを重視しているので、少しわかってきたら「正しく詳細な情報」を調べなおすことをオススメします。

0
0
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
0
0