
34歳でSEになった高卒•コネなし元建設作業員⑦:プログラミング学習とAndroidアプリ開発
オリジナルキャラクターを使ったスマホアプリを作りたい。でもアプリ開発会社の協力を得られない、お金もない。
そんな状況を打開するべく私はプログラミングを学習してアプリをリリースする決意をしました。かなり遠回りですが…
プログラミング学習
期待と不安
2011年のことだったと記憶しています。
アプリを作りたいという気持ちから一歩踏み出しましたが、本当にアプリを作れるのか?という不安な気持ちを抱いていました。
しかし、その不安は、明るい未来をイメージしたことで解消されました。
アプリ開発で成功して、数年後には別会社として独立するかもしれない。などと、考えていました。
PCの購入
イメージした明るい未来には、そこそこのスペックの新しいPCが必要でした。
まずは家電量販店にPCを買いに行きました。
購入するPCはiMacと決めていました。
なんとなくカッコいいから。ということと、MacにしたらiPhoneアプリでもandroidアプリでも作れるからでした。
15万ほどのiMacを購入して、インターネットを同時契約しました。インターネットの契約特典で5万円キャッシュバックされたため10万円でiMacを購入できました。
プログラミング言語の選択
プログラミングを勉強するにあたりどのプログラミング言語にするかを選定しました。
候補は以下の2言語でした。
objective-c
Appleの標準開発言語。iPhoneアプリを作るならこの言語。Java
androidアプリを作るならJava。Javaは汎用性が高くandroidアプリにとどまらずあらゆる開発で使用される言語。SIerで使用されている言語もJavaが多い。
上記の他、phpやRubyも調べてみましたが、スマホアプリを作るなら上記の2言語以外の選択肢はありませんでした。
汎用性の高さからJavaを学ぶことにしました。
Javaなので、アプリはAndroidアプリを作ることにしました。
Androidはアプリをリリースするまでのコストが安いことも理由のひとつでした。iPhoneアプリはデベロッパーのアカウントを維持するのに費用が必要でした。
使用した書籍
実際にスマホアプリを作るための事前学習としてこちらの書籍でプログラミングについて学びました。
Macでターミナル(Windowsでいうコマンドプロンプト)というマウスを使わずキーボードだけで入力する画面に入力して想定通りの結果が表示されることで「おれ、プログラミングしてるなぁ」と思いながら学習しました。
この本を最後までやりきればプログラミングとは何たるかが、見えるはずです。私はなんとなくわかったような気がしました。
なんとなく
上記の書籍とは関係のない話です。
私にとってはこの「なんとなく」が重要だったと思います。
「なんとなく」だと「身についてない」とか、「説明できないなら分からないと同じだ」とか思われる方がいるかもしれませんが、よく分からなくても動くものを作って、動くソースコードで学ぶのがいいのかなと思います。
なんとなくやっていれば身についてくる。身についていけば、説明できるようになる。プログラミングはゆっくり楽しみながらやればいい。楽しめないと続かない。
アプリ開発
Androidアプリ開発開始
この本を終えて次は実際にスマホアプリ(Android)を作ることにしました。
androidアプリを作るための開発環境(IDE)であるeclipse(エクリプス)は無料で提供されていました。
このeclipseにAndroid SDK(Software Development Kit)という開発キットをインストールすることでAndroidアプリが作れるようになりました。
ここまでの開発環境を作るだけでも素人の私にとってかなり長い道のりだったと記憶しています。
PC上で起動する仮想のAndroid端末が表示された時はついにスマホアプリの開発が始められると興奮を覚えました。
まずは電子写真集の開発から着手しました。
環境構築の心得
環境構築でつまづき、プログラミングを諦めてしまう人は多いようです。ですが、それはもったいない。
環境構築はプログラミングではありません。
ここで辞めるということは、サッカーで例えるなら、ユニフォームやスパイクを揃えて練習に行ったけど、脛当てが上手くつけれなかったから辞めてしまった。というのに近いように思います。
開発現場では環境構築するためのマニュアルがありますが、それでも開発環境がうまく作れない。ということがあります。プロでもつまづくことがある、いわゆる「あるある」なのです。
なので、マニュアルが無い中で環境構築がうまくいかなくても、「おれはプログラミングのセンスがない」などと落ち込むことはありません。
開発環境構築は、本やネットの情報を参考にして下さい。古い情報だと上手くいかないことが多いので、発売されて間もない本や、投稿日されて間もないネットの情報を参考にするのがいいと思います。
アプリの開発方法
ネットを検索すると色々なアプリのソースコードや機能の実装方法が掲載されています。
書籍でもソースコードが紹介されています。
ソースコードにも著作権が存在するのでそのままコピペで使うのは著作権法違反となってしまいますが、大いに参考にさせて頂きながらアプリの開発を進めました。
本来、開発現場では御法度であるソースコードの意味を分からないまま実装することがほとんどでした。
設計書もテスト仕様書もないシステム開発をしました。当時は設計書もテスト仕様書もなんのことかわかっていませんでした。
そんな状態で初のオリジナルアプリ(電子写真集)を広告収入モデルの無料アプリとしてリリースしました。PCを購入してから半年くらいかかったように思います。
半年で素人がアプリを作れるようになるの?
という気もしますが、ソースコードは参考になるものがあったし、DBアクセスがなかったので半年ほどでリリースできました。