スマートフォンの普及により、今の時代に欠かせない存在となった「アプリ(アプリケーション)」。近年では、プログラミングの知識がなくてもアプリ開発できるツールが多数提供されており、企業はもちろん個人でも開発のハードルが下がってきています。そこで本記事では、アプリ開発におすすめのツールや、導入時のポイントについてご紹介します。
アプリ開発とは
アプリ開発は、広義では、プログラミングによるコーディング作業によってアプリ自体を開発する工程のみならず、アプリが提供するサービス内容の企画、要件定義、設計、デバッグ、リリース後の運用保守を含みます。アプリ開発会社がコーディング作業からデバッグ、運用保守を担当し、サービス企画とリリース作業はクライアント企業が行うというケースもあります。どの工程をどの企業が担当するのかはプロジェクト内容によって異なります。
システム開発とアプリ開発の違いとは
システム開発は、企業が経済活動を実行していく中で業務上必要となるシステムを開発することを指します。システムの例として、顧客対応システム、財務管理システム、勤怠管理システムなどが挙げられます。このように業務を効率的に遂行できるようにするのがシステム開発の特徴です。
これに対してアプリ開発は、システム上で動作するソフトウェアを開発することを意味します。システムそのものを開発するのではない点が、アプリ開発とシステム開発との大きな違いです。
アプリ開発が普及した背景
そもそも「アプリケーション」とは一般的に、特定の作業を行うために開発された「アプリケーションソフトウェア」のことを指します。
世の中にリリースされているアプリの多くは企業が開発したものですが、最近では個人でもアプリ開発を行い、ヒットするケースが増えてきました。以下では、企業や個人でアプリ開発が普及した理由について解説していきます。
iPhone・Androidなどデバイス端末の普及
まず、パソコンやスマートフォン、タブレットなどの端末が普及したことが挙げられます。アプリ開発を行うための道具として、基本的にはWindowsやMacのパソコン、動作確認用のスマートフォンが必要です。最近では、それらの端末が誰でも手に入りやすくなり、またユーザーも何かしらの端末を持つようになったため、必然的にアプリの開発人口が増えてきたといわれています。
インストール型アプリの増加
App StoreやGoogle Playから必要なアプリを選択し、スマートフォンにダウンロードして利用する「インストール型アプリ(ネイティブアプリ)」が増加したことも理由の一つです。アプリの仕様にもよりますが、一度自分の端末へインストールすればオフラインでもサクサク動いてくれるので、ストレスなく利用できることが魅力です。
例えば、飲食店の紹介や口コミが掲載された店探しに役立つ「食べログ」もインストール型アプリを提供しています。今いる場所から近いお店を探したいときに、地図を見ながらスイスイ検索できたり、電話することなくアプリで予約ができたりするなど、ブラウザ版では使えなかった機能が人気となっています。
マーケティング戦略として有効
アプリ開発は、マーケティング戦略の一環として有効性を発揮することも注目されています。初期の開発コストこそかかるものの有料アプリであれば利益が生まれ、無料であっても高評価を得られれば、自社商品・サービスの認知度向上や企業のイメージアップにもつながります。
また、ECサイトを手がけている会社が自社アプリをユーザーへ提供すれば、利便性の向上から購買意欲につながったり、常にアプリのアイコンを端末の画面上に表示してもらえることで継続的な広告効果が生まれたりするメリットもあります。
アプリの種類と特徴
私たちが日々スマートフォンで利用しているアプリは、大きくWebアプリ、ネイティブアプリ、ハイブリッドアプリの3つに分けることができます。それぞれに特長があり、得意な部分とそうでない部分があります。
Webアプリ
Webアプリとは、Webブラウザを通じてコンテンツを参照するアプリです。
一見ネイティブアプリのように見えるものも、実はSafariなどのブラウザを通じてWebサーバ上にあるデータを参照しコンテンツを表示しているものもあります。OSに依存することなくサーバ上のデータを更新するだけでコンテンツを頻繁に更新できるのがWebアプリの特長です。衣服などの多数の商品を販売するアプリではWebアプリの仕組みを活用して商品情報を都度更新しています。
代表的なものとしては、「Facebook」などのSNSや「Amazon」などのECサイト、そのほか「Slack」「クックパッド」などがあります。
ネイティブアプリ(スマホアプリ)
ネイティブアプリは、スマートフォンやパソコンにインストールして動作するアプリです。スマートフォンにインストールする場合はスマホアプリのことを指します。
App StoreやGoogle Play Storeで公開されているアプリはネイティブアプリです。ネイティブアプリは、OSや端末の機能を活用できる点がWebアプリと大きく異なる点です。プッシュ通知、GPS(全地球測位システム)を活用した位置情報の提供は、ネイティブアプリが提供できる機能です。ゲーム系アプリのように、ネイティブアプリによってはインターネットに接続していなくても利用できるものもあります。
「LINE」や「PayPay」などの決済アプリや、用途に応じて利用されるゲームアプリ、地図アプリなどが該当します。
ハイブリッドアプリ
ハイブリッドアプリは、Webアプリとネイティブアプリの両方を仕様として取り入れているアプリです。
Webアプリとネイティブアプリだけでは実現できないことを補完し合いながら1つのアプリとして動作します。頻繁に発生するコンテンツのアップデートはWebアプリ側に任せて、プッシュ通知や位置情報に関する機能はネイティブアプリの仕組みを活用します。スマートフォンにインストールしているアプリの多くは、このハイブリッドアプリの仕組みを活用したものです。
ハイブリッドアプリは現在、アプリ市場で主流となっており、中でも「YouTube」や「Instagram」などは多くのユーザーを獲得しています。
アプリ開発に必要な言語
アプリ開発で使用される言語は、Webアプリとネイティブアプリでは異なります。それぞれの詳細について解説します。
Webアプリ開発の場合
Webアプリは、HTMLやJavaScript、PHPなどのWeb向けのプログラミング言語を用いて開発します。古くからあるプログラミング言語で対応できるエンジニア数も多いです。利用できるフレームワークやライブラリが数多く存在するため、ネイティブアプリと比較すると低工数かつ短期間で開発できるのがメリットです。
ネイティブアプリ(スマホアプリ)の場合
使用する開発言語はOSごとに異なります。AndroidアプリはJava、Kotlin、C#、iOSはSwift、Objective-Cを用いて開発します。昨今ではAndroidはKotlin、iOSはSwiftを活用するのが主流です。企業がスマートフォンアプリを公開する際は、AndroidとiOSの両方に対応する必要があるケースが多いです。その際にはFlutterと呼ばれるGoogle提供のSDK(ソフトウェア開発キット)を使って両方のOSに対応する手法も導入されています。
ハイブリッドアプリの場合
ハイブリッドアプリでは、Webアプリ開発とネイティブアプリ開発で用いられる言語をそれぞれ使用します。そのため、Webアプリを担当するエンジニアとネイティブアプリを担当するエンジニアは別々であることがあります。
アプリ開発の2つの手法
アプリ開発の現場では効率的に開発工程を進め、クオリティーの高いアプリを開発できるようにするため、日々さまざまな開発手法が試行されています。アプリ開発の代表的な手法について解説します。
ウォーターフォール型
ウォーターフォール型のアプリ開発の場合、1つのステップが終了してから次のステップへ進行するという手法を取ります。事前に開発内容が明確に定義されており、どのような作業工程が発生するか明確であるプロジェクトに向いている開発手法です。
次のステップへ移行する段階で予期しないバグや挙動が発生した場合に、プロジェクトが遅延してしまうリスクをはらんでいます。そのため、実験型の開発プロジェクトよりもあらかじめ開発するプロダクトが明確になっているプロジェクトにウォーターフォール型が採用されます。
ウォーターフォール型では必要とする予算、工数が明確に定義されることから、プロジェクトの進行を管理しやすい点もメリットです。
アジャイル型
アジャイル型のアプリ開発は、最初から開発内容の全てを要件定義、設計するのではなく、一つのアプリを細かい機能に分割し、分割した機能単位で設計、開発、テストを繰り返す手法をとります。プロジェクトの途中で仕様変更や修正を適用しやすく、臨機応変に対応できるのがアジャイル型のメリットです。アジャイル型は、これまでにない新しいプロダクトや実験的なサービスを開発する際に向いている手法です。
その一方で、予定通りにプロジェクトが進行しないケースもあるため、想定とは異なる工数や予算が追加で発生したりスケジュール遅延が起こったりすることもあります。
ノーコード開発とローコード開発とは
昨今、プログラミングに関する知識がなくても簡単にアプリを開発できるようになっています。ノーコード開発やローコード開発と呼ばれるアプリ開発手法は、管理画面上で使いたい機能を選択し組み合わせるだけでアプリを気軽に開発できます。ノーコード開発、ローコード開発について、詳しくは以下の記事で解説していますので参考にしてください。
ノーコード・ローコードとは?メリット・デメリットやツールも解説
ソースコードの記述が必要ない「ノーコード開発」
ノーコード開発は、プログラミングによるコーディング作業を必要とすることなくアプリを開発できる手法です。管理画面上から必要な機能を選択するだけでアプリを開発できるため、プログラミングの知識がない非エンジニアでも開発できるという点が特長です。
ノーコード開発は、あらかじめ必要な機能が明確でかつ小規模なアプリを開発する際に採用されます。エンジニアがいない部署や企業はノーコード開発であればエンジニアに頼ることなく開発可能です。
必要最低限のソースコードを記述「ローコード開発」
ローコード開発は、ノーコード開発とは異なり多少のプログラミングが必要とされますが、管理画面上で必要な機能を選択するだけで開発のほとんどを進められる点が両者に共通している点です。最小限のプログラミングは必要で、ノーコード開発と比較すると拡張性が高いです。
その一方でプログラミングの知識が問われるため、ノーコード開発よりもハードルが高いのも事実です。
おすすめのアプリ開発ツール
アプリケーションの開発と聞くと、「高度なプログラミング知識が必要なのでは?」と不安に思われる方もいるかもしれません。しかし現在では、プログラミング知識がなくてもアプリを開発できるツールが豊富に提供されています。以下では、初めての方でもおすすめのツールをいくつかご紹介します。【無料あり】ノーコード開発|おすすめのアプリ開発ツール
ノーコードでアプリを開発できるツールは数多く提供されています。それぞれの特徴をつかみ、自社にふさわしいノーコード開発ツールを探してみましょう。
Glide
Glideは、米国企業が提供しているツールです。Googleスプレッドシートにデータを入力することでアプリを簡単に作成できます。アプリのUIは、Glideが提供するダッシュボード上から選択するだけでお気に入りのデザインへと変更可能です。
個人は無料で利用できますが、法人のように複数人で利用する場合は月額25ドルから利用できます。なお現在のところ、言語は英語のみの対応です。
Bubble
Bubbleは、米国企業が提供するWebアプリを開発できるツールです。Bubbleは幅広いデザインに対応しており、細かいUI/UXにこだわりを持つアプリ開発ユーザーに向いており、専用のダッシュボードを通じてアプリを制作します。
使い勝手を試すための無料プランも提供され、本番用として公開するLiveアプリは月額29ドルから利用できます。英語のみの対応です。
Adalo
Adaloは、ネイティブアプリとWebアプリの両方を開発できるツールです。Adaloと連携できる外部サービスが豊富にあるのが特長です。ネイティブアプリならではのPUSH通知やカメラ機能、位置情報を活用したアプリ開発ができます。
無料で利用可能ですが、ネイティブアプリを公開するにはApp StoreやGoogle Play Storeに登録する必要があり、別途月額36ドルの費用がかかります。ツールは英語のみの対応です。
AppPublisher
AppPublisherは、エンバーポイントホールディングス株式会社が提供するネイティブアプリ開発ツールです。日本に拠点を置いているため、ツールは日本語で利用できます。パッケージアプリとしてアプリを開発できますが、カスタマイズ性が高い点が特長です。自社で補完するCRMデータやPOSの売上データとAppPublisherと連携し、マーケティングオートメーションも実行できます。
利用料は、月額アクティブユーザー数に応じて変動します。
Thunkable
Thunkableは、ネイティブアプリとWebアプリを開発できるツールです。Figmaと呼ばれるデザインツール上で制作したUIをThunkableにインポートすることで、自分好みのアプリUIを実現できます。APIを通じて外部サービスとの連携が可能なため、拡張性が高く柔軟なアプリ開発ができます。
無料で利用できますが、本番環境でネイティブアプリとして利用するには月額38ドルの費用が発生します。ツールは英語のみの対応です。
Forguncy
Forguncyは、業務用のWebアプリを開発できるツールです。Forguncyで制作したWebアプリを通じて在庫管理や予実管理などの社内向けの管理業務を行います。Excelで関数を入力するような感覚で画面制作が可能です。基幹システムや外部のデータベースからデータを取り込み、Forguncy内部でデータを突合し整理する機能があります。
日本の企業が提供しているサービスであるため、ツールは日本語で利用できます。初期費用としてアプリを開発するためのライセンス料が189,200円、基本ライセンス料594,000円と最低同時接続数5の場合、追加料金として308,000円が別途発生します。
Yappli
株式会社ヤプリ提供の「Yappli」は、アプリ開発から運用、分析まで一貫して行えるプラットフォームです。動画やWebビューなどを盛り込んだリッチで多彩なデザインのiOS/Androidアプリを、ノーコードでスピーディーに提供してもらえるのが特徴です。更新作業は直感的な操作で行えるため、誰でも簡単に思いのまま運用できるでしょう。
料金体系は、アプリの企画提案から制作、リリースまでの初期制作費用と、リリース後の運用やOSアップデート対応までしてくれる月額費用の合計です。問い合わせれば、要望に応じて最適な料金プランを提案してもらえます。
【無料あり】ローコード開発|おすすめのアプリ開発ツール
ローコード開発ツールは、外国産だけではなく日本製も提供されています。無料トライアルが用意されているツールもあるので、気になった方は試してみましょう。
PowerApps
「Power Apps」は、2016年11月にMicrosoft社が「Dynamics 365」と一緒に提供した、ローコードアプリを構築できるツールです。用意されたテンプレートの中で、ドラッグ&ドロップなどの直感的なマウス操作でアプリを作成できるため、手軽に共同作業の効率化が実現できます。
以前は開発担当者のみに権限があったAIコンポーネント機能も、従業員全員が使えるようになったことで、利便性が大きく向上しています。プロの開発者向けのビルディングブロックを使えば、プラットフォームの拡張も可能です。
ライセンスは、大きく分けて「Microsoft365、Office 365、Dynamics 365」ライセンスとと「スタンドアローンライセンス」の2つが用意されています。前者はMicrosoft Dynamics 365やOffice 365、Dynamicsを利用していれば追加料金なしで利用可能です。しかし、利用できるPower Appsの機能はプランごとに異なります。
スタンドアローンライセンスは「サブスクリプションプラン」と「従量課金プラン」に分けられます。月額費用が固定されているサブスクリプションプランは、1ユーザーが1アプリを利用できる「Power Apps per appプラン」で月額630円、1ユーザーが複数のアプリを利用できる「Power Apps per userプラン」で月額2,500円です。「従量課金プラン」は利用した分だけ料金が発生し、アプリ毎に月額1,250円がかかります。
★詳しくはこちら:
「PowerApps」入門編!機能一覧や使い方を画像付きで徹底解説
Monaca
アシアル株式会社提供の「Monaca」は、Webからクラウドへサインアップし、JavaScriptとHTML5という親しみやすい言語をもって、iOS/Android/パソコン向けアプリを同時開発できる国産ツールです。
Monaca開発プラットフォームを利用することで、開発コストを抑えられる上、技術者不足などの課題も解決できます。技術的なトレーニングから実践的なコーチングまで、開発支援が充実しているのもポイントです。
料金プランについては非商用利用限定の「Free」プランのほか、個人向けの「Pro」、チームなど複数人向けの「Business」、全機能を無制限で使える「Enterprise」の3つが用意されています。
Pro:1ユーザー2,000円/月、20,000円/年
Business:基本料金2,000円/月+1ユーザー5,000円/月、基本料金20,000円/年+1ユーザ50,000円/年
Enterprise:基本料金5万円/月+1ユーザー1万円/月、基本料金500,000円/年+1ユーザ100,000円/年
また、全プランで14日間の無料トライアル期間(使える機能に一部制限あり)が提供されているため、使い勝手を確認してから導入できます。
有料となりますが、アプリのセキュリティ向上やストレージ上にあるデータを暗号化するためのオプションを提供しています。専門的な知識を持ったスタッフがテクニカルサポートを提供するチケット制の有償サポートも提供しています。
OutSystems
OutSystemsは米国とポルトガルに本社を置き、東京にオフィスを構える企業です。同社が提供するOutSytemsは、ネイティブアプリとWebアプリをローコードで開発できるツールを提供しています。業種ごとのテンプレートの選択やAIに基づくワークフローの自動制作によって10分ほどでアプリが制作可能です。
公式Webサイトは日本語ですが、ツール自体は英語で提供されています。無料でアプリ1つを開発できます。社内やクライアント向けにアプリを利用する場合は月額1,513ドルの費用がかかります。
salesforce lightning platform
Salesforceが提供するローコード開発ツールです。Lightning App Builderと呼ばれる専用のダッシュボードを利用し、必要な機能をマウス操作によって組み合わせるだけで業務アプリを開発できます。ブロックチェーンやAIなどの次世代の新機能を実装することも可能です。
無料トライアルを提供しており、1ユーザー当たり月額3,000円から利用できます。対応は英語のみです。
SPIRAL
SPIRALは、東京に会社を構える株式会社スパイラルが提供するローコード開発ツールです。会員登録サイトや問い合わせフォームなどの顧客対応Webアプリや、メルマガ配信などの業務Webアプリを開発できます。開発ツールは日本語で利用可能です。第三者機関による高いセキュリティの評価を受けており、電話によるサポートを得られる点も安心できます。
導入時に初期費用として10万円が発生します。月次費用として5万円から利用できます。データベースのデータ量に応じて費用が変わる従量課金制です。
kintone
kinetoneは、業務用アプリを提供するサービスです。顧客管理、営業進捗管理、ワークフロー、社内用チャットなど、仕事をする上で発生するありとあらゆる業務をテンプレートを選ぶ感覚でアプリ化します。業界を選ばすさまざまな部署の業務に対応したアプリを提供するという点がkinetoneの大きな特長です。日本に拠点を置くサイボウズ株式会社が提供するサービスです。全て日本語での利用が可能です。
料金プランは、スタンダードコースとライトコースの2つがあります。スタンダードコースは外部連携やプラグイン機能の利用に制限がありません。
スタンダードコース:1ユーザー当たり月額1,500円
ライトコース:1ユーザー当たり月額780円
Magic xpa Application Platform
Magic xpaは、業務用Webアプリとネイティブアプリをローコードで開発できるツールです。日本では4万5000社以上で導入されている実績があります。Magic xpa Studioと呼ばれるMicrosoft Visual Studioをベースとした管理画面を用いてワンソースでWebアプリとiOSアプリ、Androidアプリに対応できるのが特長です。
料金は、ライセンス型とサブスクリプション型の2つがあります。前者はライセンス料を支払えばそれ以上の費用はかかりません。クライアント実行版で1ユーザ当たり66,000円から利用できます。
アプリ開発の工程
アプリ開発には大きく分けて7つの工程があります。ノーコード開発では基本的な機能が既に出来上がっているテンプレートを選ぶだけでアプリを制作できるものもありますが、基本的にはどのようなアプリが必要なのか、まず初めに企画から始めるようにします。各工程の詳細について解説します。
1. 企画立案・要件定義
誰をターゲットに、どのような体験を通じてどのような価値を提供するのかを定義します。アプリ開発の工程において最上位に位置する最も重要な工程です。この過程の中でどのような機能を付けるのかを決めていきます。
あらかじめ予算や工数が定められているウォーターフォール型の開発手法を採用する場合、開発段階になって新たに機能を追加することは困難です。そのため、ウォーターフォール型においてこの工程は、特に慎重に議論を重ねる段階となります。
2. 基本設計
アプリを利用するユーザー視点でユーザーインターフェース、ワイヤフレーム、デザインを定義していきます。画面の見え方や画面上の操作フローを決めていくのもこの工程に含まれます。
クライアント企業がアプリ開発を外注している場合、この工程で公開後のアプリをイメージしながら納得がいくまで開発会社とすり合わせをしましょう。また、この段階で使用するプログラム言語やシステム基盤を決定し、公開後の運用保守体制を含めて定義していきます。
3. 詳細設計
基本設定で定義した内容を、コーディングやデータ設計においてどのように実現するのかを設定する工程です。エンジニアが参加し、技術レベルで仕様を細かく定義してください。アプリ内で共通して活用できる機能をモジュールとして設計するのもこの工程で行います。
アプリ開発を外注しているケースでは、クライアント企業がこの工程で細かい指示を出すことはありません。エンジニア間での議論は、詳細設計が一つの山場となるでしょう。
4. 開発・プログラミング
エンジニアがプログラミングによってコーディングを行う工程です。ノーコード開発やローコード開発では、管理画面上で必要な機能を組み合わせたりワークフローを設定する工程です。
エンジニアは全体的な機能の動作確認ではなく、機能ごとに期待通りに動作するかどうかを確認しながらコーディングを進めていきます。ノーコード開発であれば、管理画面上で動作確認します。
5. アプリのテスト
作成したアプリの動作を、包括的にデバッグを通じて確認するフェーズです。基本設計で定義した通りに各機能が動作するか、画面のUIやデザインが要件定義通りに実装されているかを確認します。
動作確認する段階でバグが発生することもあるため、テストを通じでバグの洗い出しを行いましょう。基本設計と詳細設計通りに実装されたけれど、使い勝手がいまいちよくないということもあります。そのような際は、該当箇所の基本設計を見直してください。
6. アプリのリリース
開発したアプリを公開する段階です。社内向けの業務アプリを公開する際は社内メンバーに利用マニュアルを共有し、オリエンテーションを通じて使用方法を説明することもあります。使い方に迷うことのないようFAQを用意し社内ポータルにアップしておくのもよいでしょう。
社外の一般ユーザが利用するアプリの場合、アプリの認知を広めるためにプレスリリースやデジタル広告を配信するのも有効です。
7. アプリの運用保守
アプリをリリースした後に安定的に運用するためのフェーズです。アプリ利用者からのフィードバックや問い合わせを通じてバグや不具合を収集し、開発者に解消を依頼します。アプリの使い勝手に関する意見を求めるため、定期的にアンケートを実施するのも今後のアプリ改修に向けて有用な方法といえます。アンケートを通じて定性的なデータを収集し、足りない機能や既存機能の改善に役に立てることもできます。
定量的な観点では、アプリのクラッシュが発生していないか、アプリ利用の継続率が維持できているかをチェックします。
アプリ開発ツール導入前に確認したいポイント
最後に、アプリケーション開発ツールの導入前に確認しておきたいポイントを3つ紹介します。
1.導入目的を明確に
まず、「どのようなアプリを作りたいのか」「アプリによって何を実現したいのか」という目的を明確化しておくことが大切です。いかに多機能のツールであっても、目的にそぐわないものを導入しては意味がありません。導入後に使いたい機能が使えなかったり、希望したアプリが作れなかったりといった問題が起きないよう、サービス・機能・料金体系などについて、目的と照らし合わせながらよく比較しておきましょう。
2.作成できるアプリの種類を確認
先述したように、アプリには大きく分けて「Webアプリ」「ネイティブアプリ」「ハイブリッドアプリ」の3種類があります。作りたいアプリによって、選ぶべきツールや開発言語も異なるので、事前に押さえておいてください。
3.開発手法についてもチェック
ツールを導入する前に、具体的な開発手法についても確認しておく必要があります。例えば、「プログラミングのスキルはどこまで必要か」「使う言語は何か」といったことが挙げられます。また、開発に行き詰まった場合を想定し、サポート体制も併せてチェックしておくことで、安心して導入できるでしょう。
まとめ
デバイスの普及やインストール型アプリの増加、さらにはマーケティング効果への期待も相まって、個人・法人を問わずアプリ開発への機運が高まっています。アプリ開発をサポートしてくれるツールにはさまざまなものがありますが、今回ご紹介したツールはいずれも使いやすく、人気の高いものばかりです。
特にPower Appsは、Dynamics 365やMicrosoft 365と統合して使えることから、ビジネスシーンでの活躍が期待できます。エンジニアがいない企業においても、一定のITリテラシーがあれば低予算で工数をかけることなくアプリを制作できる環境が整っています。自社に最適なツールを導入できるよう、アプリ開発の目的や用件を明確化した上で比較検討してみてください。