favyメンバーが好きを仕事にする日々を発信するfavicon

favy公式ブログ favicon(ファビコン)

最新のWeb/アプリ開発のトレンドを、わかりやすく解説&実際に遊んでみる

2019/03/28 開発ブログ

はじめまして!favyエンジニアインターンの大橋です。
現在favyは絶賛エンジニアを募集中のため、オウンドメディア『favicon』を通して、エンジニアチームの雰囲気や業務内容などを定期的に発信していくこととなりました。この記事は、その第4回目となります。

大橋 啓介(Ohashi Keisuke)
山梨県出身。サッカーと筋トレと海外ドラマとプログラミングに精を出すエンジニア兼大学生。早稲田大学情報理工学部に在学する傍ら、2018年8月より、エンジニアインターンとしてfavyにジョイン。バックエンドとフロントエンドを幅広く開発を行っている。GitHub

先日、社内でトレンド技術の勉強会が開かれ、普段触れない分野への知見を深めることができる有意義な時間となりました。
個人的には、まだまだエンジニアとして先を行く先輩方との超えられない知識の壁を痛感したので、これから精進したいです!

では本題にうつります。

勉強会のテーマは、Web/iOS/Androidアプリ開発についてでした。
ちょうどその内容が、エンジニアもエンジニアではない方にも楽しみながら理解してもらえる内容だと感じ、わかりやすく解説&実践したいなと思い、今回オウンドメディアfaviconの開発ブログとして残そうと思った次第です。

というわけで今回は、Webアプリ、iOSアプリ、Androidアプリの架け橋となる技術について解説していきます!

今回解説する項目は、下記です。

  • ネイティブアプリ/PWA/ハイブリッドアプリとは
  • PWA/ハイブリッドアプリが革命を起こした!?
  • 各アプリ開発方式のPros&Cons
  • 実際に遊んでみよう!

ネイティブアプリ/PWA/ハイブリッドアプリとは

本記事の最重要キーワードの登場です。ネイティブアプリ、PWA、ハイブリッドアプリ、この3つについてまず解説します。

ネイティブアプリiOSやAndroidで動く、ストアからのダウンロードが必要なアプリ
PWAWebアプリをそのままスマホアプリとして使えるようにしたもの
ハイブリッドアプリダウンロードは不要で、Web View上で動くアプリ。PWAとは微妙に違う

ハイブリッドアプリは、Webアプリをそのままネイティブアプリとして扱えるようにしたものです。つまり、PWAとハイブリッドアプリは、同じWebでの技術を使っているのですが、あくまでPWAはWebアプリであり、ハイブリッドアプリはネイティブアプリであるということです。

ややこしくてわからないという場合は、アプリにはスマホアプリとWebアプリがあって、ネイティブアプリとはスマホなどで使えるものPWA、ハイブリッドアプリはあくまでWebアプリなんだけど、見た目や動きはスマホアプリと似ている、という理解でOKです。

今ネイティブアプリ/PWA/ハイブリッドアプリの違いをくどく説明しているのは、各々の違いが分からないとPWA/ハイブリッドアプリの強み・弱みが理解しにくいからです。

従来のアプリ開発(ネイティブアプリ開発)では、Web, iOS, Androidと、それぞれに対応した3パターンのコードを書いていました。(今もスタンダードではありますが)

アプリが同じでも、Web、iOS、Androidに対応させるために、別々のコードを書かなければいけないのは、エンジニアが十分にいない会社にとってはツライものがあります。

エンジニア不足の会社は、3パターンもコードを書くのはツラい…!

PWA/ハイブリッドアプリが革命を起こした!?

ところが、ここ数年の間で広まったPWA/ハイブリッドアプリという概念はこの既存のアプリ開発を変えました。

PWAとハイブリッドアプリでは、Web用に作ったアプリをそのままiOS, Androidアプリとして配信することができます。

単純に考えて、今までの3分の1のコード量で仕事を終えることができるんです!

エンジニアは、同じ作業の繰り返しを減らしたいと考える生き物
Web、iOS、Androidと、書くコードは違っていても、根底のロジックは変わりません。それなら、わざわざ3回分コードを書くんじゃなくて、1回で済ませればいいじゃん!

アプリ開発に革命を!

各アプリ開発方式のPros&Cons

PWA、ハイブリッドアプリは、そんなエンジニアの心の声を代弁してくれるかのような存在でした。

PWA/ハイブリッドアプリを使うと、従来のコードの3分の1のコード量で仕事が完結する、と書きました。ここで、

PWA最高!
ハイブリッドアプリ最強!

と、喜びたくなるんですが、どんな技術にもデメリットがあります。

一旦、今まで出てきた用語を整理します。

現在(2019-03-26)では、アプリ開発に3つの選択肢があります

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

各アプリ開発のPros&Cons(長所と短所)をまとめました。

長所短所
PWAWebで開発したものをそのままアプリ化できる(コード量が激減)iOSでは、まだPUSH通知が対応していない
ハイブリッドアプリWeb、スマホの両方で機能するアプリが作れるまだ年齢が浅い技術なので、情報が散見しており、これが正解!のようなものが見受けられない
ネイティブアプリ各プラットフォームごとに挙動を変えることができるので、徹底的に調整が可能(UXを突き詰められる)
Web, iOS, Androidごとに丸ごとコードを書かないといけない

こうなります。

説明はここまでです。これからは、冒頭で紹介したネイティブアプリ、PWA, ハイブリッドアプリのうち、ハイブリッドアプリについて実戦形式で触れてみることにより理解を深めていきます!

遊んでみよう!

00)必要な道具

  • スマホ(iOS, Androidどちらでも構いません)
  • Mac

01)以下をスマホでインストール

iOS

PreviewPlaygroundの両方をインストールしてください!

Android

PreviewPlaygroundの両方インストールしてください!

Mac

https://play.nativescript.orgにアクセスしましょう。
アクセス後に選択画面が表示された場合は、Vue.jsを選択しましょう。

※なぜNativeScriptを使うのか?
VueやAngularを使ってる会社だとNativeScriptを使うことでハイブリッドアプリを作ることができます。ハイブリッドアプリを作る上ではCordovaやReactNativeというフレームワークを用いるのが主流ではあるのですが、今回は言語の関係上NativeScriptを用いています。

02)パソコン側の設定

パソコンの画面の右上側に、Previewというボタンがあります。そのボタンをクリックするとQRコードが現れるので、先程スマホにダウンロードしたPlaygroundというアプリのQRリーダー機能を利用して読み取りましょう

右上の青いボタンです、もしくは、真ん中上辺りのQR codeでも大丈夫です。

03)スマホとパソコンをリンクさせる

QRコードを読み取ることができたら、先程ダウンロードしたPreviewというアプリの方に画面が遷移します。

こんな感じの画面になるはずです。

これで、パソコン上のコードとスマホの画面がリンクされました。
パソコン上でコードをいじり、画面中央上部のSAVEボタンを押すと、スマホに変更内容が反映されます。

04)テキストを変えてみる

テキストを変更してみましょう。


テキスト変更後のイメージ

05)少し高度なことをやってみる

さまざまな機能を追加できます。

画面左側のComponentsというところ、ここに、スライダーやボタン、カレンダーや加速度計など、遊べそうな道具がいくつもあります。

ドロップ&ドラッグだけで完結するのでコードを書く必要はありません。<StackLayout></StackLayout>の間に入れてあげましょう。

ちょっと遊んでみました。

時刻を取得
スライダー

06)様々な機能を組み合わせてみる

機能を組み合わせることで、ちょっとしたアプリを作ることもできます。試しに自分で勉強して何かを作ってみてもいいですし、以下のサンプルコードをそのまま貼り付けてみると、ハイブリッドアプリのすごさが体感できます。

以下はサンプルコードとデモ画面です。


コード入力時のサンプル画面

最後に

普段はWebアプリの開発の方に関わっているため、ネイティブアプリ/PWA/ハイブリッドアプリの勉強会は未知のものだらけで、知的好奇心が存分に満たされました。

最近ではReact Nativeというフレームワークがあり、これを使うとiOSとAndroidアプリを1つのコードで作れたりもします。アプリ開発の手法は日々進化しており、一エンジニアとしては最新技術に遅れることなくキャッチアップしていきたいです。

今回紹介したPlaygroundを使えば、コードを手で書かなくても、直感的に操作することで多種多様な機能を追加できるので、エンジニアも、そうではない方も、この機会にぜひ一度触れてみてほしいです!

そんなfavyでは、エンジニアを絶賛募集中です。favyエンジニアチームに興味を持ってくださった方、話を聞いてみたい方、一度会社に遊びに来てみませんか?

-開発ブログ
-,

favicon人気記事

100円生ビール・ハイボールは、飲食店の集客に効果的と判明。総席数250席が満席!売り上げは約1.7倍に『汐留横丁』

4月5日は横丁の日!生ビール・ハイボールが100円!favy社運営の汐留・仙台・大分・鹿児島・宮崎の横丁でイベントを開催

カテゴリ: プレスリリース

サブスクを導入した飲食店事例20選を一挙にご紹介!

カテゴリ: サブスクブログ

流通プロセスで発生する食品ロスの削減に向けて株式会社favyと株式会社ドールが協働!飲食店を活用した新たな仕組作りの実証実験スタート

カテゴリ: プレスリリース

favy、2024年9月大阪でオープンする「JAM BASE」にてシェア型フードホールの出店が決定。さらにフードホール専用モバイルオーダーサービスの一般販売を開始

カテゴリ: プレスリリース

【8/27】カレッタ汐留に次世代型の横丁『汐留横丁』がオープン〜ネオ居酒屋、イタリアン、鮪専門店、チーズケーキの店、経営者限定会員制バー、会員制レストラン、ワイン角打ちの店などのさまざまなジャンルが入ったフードホールが登場〜

カテゴリ: プレスリリース

『汐留横丁』で検証中。生ビールとハイボールを100円にしたら飲食店の売上はどうなるのか?

カテゴリ: 事例紹介, 導入実績, 広報

森ビル株式会社が運営する虎ノ門ヒルズステーションタワーのT-MARKETにfavyのフードホール専用モバイルオーダーシステムを導入〜事前決済型、事後決済型を使い分け〜

カテゴリ: プレスリリース

4月5日は横丁の日!favy社運営の横丁を一挙ご紹介

カテゴリ: 広報ブログ

株式会社favyと株式会社29ON、合併のお知らせ

カテゴリ: プレスリリース