Linuxサーバー アプリ プログラミング ポートフォリオ

自作iOS & Androidアプリの紹介(全作業内容・システム構成・評価など)

自作iOS & Androidアプリ「電卓アドバンス」

こんにちは。このブログを書いているフリーランスエンジニアの岩谷です。

僕はメインはITエンジニアをしていますが、個人でスマホアプリも作っています。
この記事では、自作アプリの紹介と、そのアプリの裏の仕組みについて書きます。

代表作は「電卓アドバンス」という電卓アプリです。
次のようなキービジュアルです。

自作アプリ「電卓アドバンス」のキービジュアル
写真:自作アプリ「電卓アドバンス」のキービジュアル

仮想通貨は今日本では下火ですけど(笑)

でも、仮想通貨の為替情報を発信しているサービスである CoinMarketCap のデータを見ると、2020年3月現在で CoinMarketCap が認定した仮想通貨は世界で2000種類以上もあります。

世界的には、現在でも多くの仮想通貨が扱われているようです。

電卓アドバンスの特長

「電卓アドバンス」の公式サイトは次のURLです。
https://calculator.14all.mobi/ja/

iOS(iPhone)とAndroidの両方に対応しています。

一番の特長は、市販の実務電卓の機能をほぼ網羅していることです。
簡単にいうと、大手メーカーが開発・販売するような機能を個人でプログラミングにより再現しました。

現在、会計士、税理士、営業マンなど多くのビジネスマンに仕事で使っていただき、好評をいただいています。

アプリの魅力は、パソコン1台で世界中の多くの人に自分の作品を配信することができることです。

世の中の電卓のボタン操作方法は、大きく分けてSHARP(シャープ)タイプとCASIO(カシオ)タイプの2種類があります。
電卓アドバンスでは両方の機能を搭載しており、設定画面で切り替えることができます。
だから、SHARP派の方もCASIO派の方も使うことができます。

また電卓でありながら、世界の法定通過(約170種類)と仮想通貨(約2,000種類)の通貨換算をすることができます。
海外旅行や海外出張に行く時に便利です。
僕の友人がニウエ(太平洋にある小さな島)に旅行に行った時に問題なく使えたという報告があったので、世界のどこに行っても使うことができると思いますw

バックグラウンドで僕が構築したサーバーで数分間隔で最新情報を更新しおり、アプリユーザーは好きな時に最新の為替情報をアプリにダウンロードして取得できる仕組みにしていますので、ネットが使えない場所でも、最後に取得した為替情報を使って通貨換算をすることができます。

15言語に対応しており、世界中にユーザーがいます。
対応している言語は次の通りです。
日本語、英語、簡体字中国語、繁体字中国語、韓国語、タイ語、ベトナム語、インドネシア語、ポルトガル語、スペイン語、フランス語、イタリア語、ドイツ語、ロシア語、トルコ語

制作期間

最初は、1ヶ月以内でシンプルに作ろうと思ったのですが、作っているうちに、メーカーが販売する機能をすべて実装してやろうという欲が出てしまい、高品質なアプリを作った結果、開発6ヶ月、ブラッシュアップ2ヶ月、Webサイト1ヶ月くらいとなってしまい、結局合計9ヶ月かかってしまいました(^ ^;)

プログラミングだけでなく、インフラ構築、デザイン、Webサイト制作、翻訳チェックまで、多くの作業を個人でしたことと、品質にこだわったこともあり時間がかかってます。

これは個人の趣味(チャレンジ)だったので時間をかけましたが、通常の仕事の場合は数人で制作したほうが良いと思いますw

制作担当の内訳

基本的に個人のチャレンジとして制作したアプリなので、ほとんど自分が作業をしています。
ただし、高品質なアプリを目指したかったので、重要なデザインや翻訳などに関してはその分野に専門の方に依頼しました。

<外注した作業>

  • アイコンのデザイン
  • デザインテーマのデザイン
  • Webサイトのキービジュアルのデザイン
  • 翻訳 (15言語)
    翻訳サービス「 gengo 」を使いました。

<自分でやった作業>

  • iOS、Androidアプリプログラミング
    フレームワークは cocos2d-x (多くのスマホゲームの開発で使われています)
    プログラミング言語は C++、Objective-C、Java
  • アプリUIデザイン
    使用ソフトはPhotoshop, Illustrator
  • Web API開発、バッチ開発
    プログラミング言語は PHP
  • データベース設計&構築
    データベースは MySQL
  • インフラ構築
    OSはCentOS 7
    Webサーバーは Nginx、Apache
    サーバー環境は さくらのVPS
  • アプリ紹介サイト(Webサイト)
    言語は HTML / CSS / JavaScript
  • アプリ紹介文作成
    App Store、Google Play、Webサイトで使用
  • Webサイト、紹介ページのデザインのパーツワーク
    使用ソフトはPhotoshop
    デザイナーさんが作ったデザインを使って画像サイズ、レイアウトを使用場所に合わせて加工
  • SEO対策、ASO対策
    ASOとはアプリ版のSEOのことです
  • 広告配信
    Facebook広告、Google Adsense を使用

アプリ制作で費用が発生した項目

制作するために費用が発生した項目は次の通りです。

<このアプリ制作に費用が発生した項目>

  • アプリのアイコンのデザイン
    デザイナーに依頼
  • アプリのデザインテーマのデザイン
    デザイナーに依頼
  • Webサイトのキービジュアルのデザイン
    デザイナーに依頼
  • ボタンのプッシュ音
    DTMできる友人に昼メシをおごって制作依頼。
  • 翻訳
    15言語対応、gengoを使用
  • 広告宣伝費
  • 通貨の為替情報サービス使用料
  • 有料フォント
    Futuraなど有料版の書体は美しい

<アプリ運営のために必要な費用>

  • Webサーバー費 (Webサイトとアプリと連携するWeb API用)
    サーバ会社による。僕は さくらのVPS の料金
  • iOSのデベロッパーライセンス費
    個人なら年間99USドル、法人なら年間299USドル
  • Androidのデベロッパーライセンス
    デベロッパー申請時に25USドルを払えばあとは発生しない
  • Adobe CC ライセンス費
    月額6,000円強

なお、無料で使った素材は以下の通りです。

<無料で使ったもの>

  • アイコン素材
    Google Material Icons を使用
  • 無料フォント
    Adobe Noto Sansシリーズなどを使用。Google Fonts からダウンロード。
  • iOS & Androidのモックアップ (Photoshop素材)
  • 世界の国旗
    アプリの通貨換算機能で表示するため。Wikipediaから取得
  • 仮想通貨のアイコン
    GitHubでライセンスフリーで公開していたものを使用

システム構成図

電卓アドバンスのシステム構成図を以下に掲載します。

電卓アドバンスのシステム構成図
図:電卓アドバンスのシステム構成図

ユーザーから見えるのは、左側のiOSアプリ / Androidアプリのみですが、そのバックグラウンドでは図のように複数台のサーバーを使っています。
黄色い背景のエリアが、自分が所有しているサーバー群です。
図内の( )に書いているのは、使用しているプログラミング言語とミドルウェアです。

サーバーの主な用途としては、次の通りです。

  • アポリ紹介用Webサイト
  • 法定通過と仮想通貨の為替情報を数分事に外部のサービスから取得しデータベースに蓄積する
  • 法定通過と仮想通貨の為替情報をスマホアプリに配信する

データベースサーバーには、将来的に電卓アドバンスで為替チャートの表示機能を想定し、1時間ごとの法定通過と仮想通貨のデータが蓄積されています。
現在合計1,000万件以上のかなり膨大なデータが蓄積されています。
もちろん1つのテーブルに1,000万件以上も登録していたら、データが登録し損ねるリスクが高くなりますので、工夫しています。

APサーバーでは、多数のアプリからアクセスされた場合でもサーバーに負荷がかからないようなキャッシュ処理をPHPで実装しています。

結局、ここまで大袈裟なシステム構成にする必要はなかったのですが(笑)、サーバー構築の練習として作りました。

アプリの評価

アプリは、無料版の「電卓アドバンス」と有料版の「電卓アドバンスPro」の2種類があるのですが、App Storeでは、無料版が5点満点中4.5点、有料版が5点満点中4.6点という高評価をいただいています。
品質に関して一番注力してきましたので、まずまずの評価だと思います。

アプリのレビュー(ユーザーの声)

アプリのレビューは、日本語のみならず、英語、トルコ語、ベトナム語、中国語でもいただいています。
レビューを書いていただいた方の評価のほとんどが高評価であり、良いものづくりをすれば、言語に関係なく世界の人たちに伝わると思いました。
クリエイター冥利に尽きます。

おわりに

以上、僕の自作アプリ「電卓アドバンス」の紹介でした。
僕の場合は「アプリを作る」「Webサイトを作る」ではなく、「プロダクトを作る」「サービスを作る」という考えでものづくりをしていますので、ITエンジニアの範囲だけにとどまらず、幅広くやっております。

同じようなモノづくりに共感できる仲間やビジネスパートナーとつながりたいと思います。
何かございましたら、本ブログのお問い合わせか、Twitterアカウントまでメッセージください。
岩谷のTwitterアカウント:@iwamode_go

-Linuxサーバー, アプリ, プログラミング, ポートフォリオ
-, ,

Copyright© ハッピー・プログラミング・ライフ , 2020 All Rights Reserved.