自作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点という高評価をいただいています。
品質に関して一番注力してきましたので、まずまずの評価だと思います。
アプリのレビュー(ユーザーの声)
アプリのレビューは、日本語のみならず、英語、トルコ語、ベトナム語、中国語でもいただいています。
レビューを書いていただいた方の評価のほとんどが高評価であり、良いものづくりをすれば、言語に関係なく世界の人たちに伝わると思いました。
クリエイター冥利に尽きます。
[タイ語] 評価:星5つ
私はこれが好きです
使いやすい[トルコ語] 評価:星5つ
スーパーアプリケーション
私は非常に多くの電卓をダウンロードしましたが、私はこのような便利なものを見つけることができませんでした[ベトナム語] 評価:星5つ
クリスタルライセンス
数学のユーザーには非常に申し分ありません。素晴らしい[日本語] 評価:星5つ
安心感
デザインがシックで落ち着いていて入力間違いが無く快適。[中国語] 評価:星5つ
レコードの表示ボタンは英語です
レコードの表示ボタンは英語であり、翻訳されていません[英語] 評価:星4つ
ボタンのレイアウトのカスタマイズは素晴らしいです!
ボタンの位置の選択とは別に、この計算機には「00」および「000」ボタンのオプションがあります。 これは、必要な人にとって非常に役立つ機能です。[トルコ語] 評価:星5つ
スーパーアプリ
私は多くのアプリケーションを試しましたが、最も便利な電卓だと言えます
感謝[ベトナム語] 評価:星5つ
いいね
とてもかっこいい[英語] 評価:星4つ
今の私のニーズに適合
ボタンとさまざまな機能のレイアウトを構築する機能が本当に好きです。 あなたが何かをアレンジすることに参加しているとき、あなたはそれをより早く使い慣れているでしょう。 マイナスの点は、大きな数字を貼り付けたりコピーしたりできないことです。つまり、別のデバイスで他のソースを開いて数字を入力する必要があります。[日本語] 評価:星5つ
ベストな電卓!
iPad標準の電卓や、ほかの無料電卓などありますが、
これが一番使いやすく、選びました。
唯一、iPadを横で使った時に片側に電卓、左側に履歴表示など
できると更に使いやすいかとおもます。
ご検討お願いします。[日本語] 評価:星5つ
非常に使い勝手が良いです
仕事中の計算は、ポケットに入ってるiPhoneをいつも使います。
アプリの使い勝手が非常に良いのでいつも重宝しています[日本語] 評価:星5つ
メモリー値の保持機能
アプリを終了してもメモリー値(M,GT)が消えないようにしてほしい![日本語] 評価:星5つ
使いやすいです。
計算中の記録が残るので計算途中をチェックできる。[英語] 評価:星5つ
最高
とても最高[日本語] 評価:星5つ
カスタマイズ良いですね
ボタン配置やタップ音など自分の身近にあるレイアウトを移植したり、普段使いにくい点や不要な部分を改善したりできるのはとても良かったです![日本語] 評価:星5つ
こういう計算機アプリを待ってました
主に仕事で使ってます。
背景、ボタン配置の変更が有難いし、何より計算式や履歴が残るのが仕事上助かってます!
オススメです。
おわりに
以上、僕の自作アプリ「電卓アドバンス」の紹介でした。
僕の場合は「アプリを作る」「Webサイトを作る」ではなく、「プロダクトを作る」「サービスを作る」という考えでものづくりをしていますので、ITエンジニアの範囲だけにとどまらず、幅広くやっております。
同じようなモノづくりに共感できる仲間やビジネスパートナーとつながりたいと思います。
何かございましたら、本ブログのお問い合わせか、Twitterアカウントまでメッセージください。
岩谷のTwitterアカウント:@iwamode_go