ウェブサービスを作って公開するところまでこぎつけました。一つのサービスをインターネットで公開できるところまで行くのには、結構な時間と努力がかかります。平日は出勤前の1日1-2時間、土日は合計で7時間くらいやるとして、1週間で15時間、1ヶ月で60時間、最初の頃はそのプログラミング言語の知識レベルもそれほどでもないので時間がかかります。私の場合は、サーバー側とスマートフォン側でそれぞれ3ヶ月はかかったので全部で6ヶ月はかかりました。このウェブサービスだけで合計で360時間はかかっています。それ以前の別の色々な技術の学習にも相当時間を使っていますが、ここにはカウントされていません。
使った言語は、サーバー側では流行りのライトウェイト言語であるPythonを使いました。フレームワークはPythonのでは一番(?)メジャーと思われるDjangoを使いました。Pythonは比較的習得しやすい言語で、モジュールも多く揃っています。最近流行りの人工知能に使う有名なモジュールがPythonで書かれていると言うこともあり、Pythonの本も多く出ています。Djangoはとてもよくできたフレームワークでとてもわかりやすいです。MVCがきちんと別れているので、将来の仕様変更があってもメンテはしやすいのではないかと思います。
プログラムを覚えてウェブサービスを公開するまでには、とても多くのマスターすべきことがあります。この他に、実際にウェブサービスをスマートフォンで使えるようにするには、サーバー側のプログラムを書くだけではなく、スマホ側のプログラミングも必要です。通常これはSwiftと言うiPhone専用の言語や、Androidという専用の言語を使います。私は今回はAndroidの方は諦めて、iPhone用の方だけ書いています。SwiftはDjangoなどのライトウェイト言語に比べて、変数には型指定をしなくてはいけないし文法が厳密です。最初は走らせる前からエラーが出まくるので大変なのですが、実際にコンパイルして動くようになった段階では正体不明のエラーがでる割合が減るので、トータルでは時間効率は良いように感じます。
その他に、サーバーを動かすのにはLinuxと言うOSを使うことが一般的です。私は最初はマシンが手元にある方がメンテナンスが簡単だと思ったので、事務所のMacMiniをサーバーに使う方針でした。でもHerokuとAWSというクラウドのサーバーを試して、その快適さと便利さにびっくりして、AWSを使うことにしました。サーバーも普通にハードを買ったら一つで10万円、2つ揃えたら20万円はかかりますが、AWSならLightsailと言うサービスが月500円から使えます。スピードも十分に速いのでとても快適です。MacMiniは買ってしまったのにほとんど使っていないので、勿体無かったなと思っていますが、事務所のファイルサーバーのバックアップか何かに使おうと思います。
(尾瀬 至仏山 後ろは福島県の飯豊山?)
よく、20時間使えば大抵のことは概略くらいはマスターできると言いますが、これはある程度は本当だと思います。20時間使えば、Pythonをインストールして簡単なプログラムが動くところまではできるようになると思います。そして、次に20時間を使えばDjangoのチュートリアルをやって、簡単なウェブサイトが動くようになるところまでは行けると思います。Swiftは20時間では本当に簡単なことしか出来ないともいますが、それでもplaygroundという簡易の実行環境で、雰囲気を掴めるとこくらいまでは行けると思います。
でも、ウェブサービスはこれらを全部使うので、それら全部に20時間が必要です。その他にもデータベースとかデザインとか、実は細かいそれらの技術の多くの技術が全部必要になるので、それらが組み合わされないと動くものにはなりません。それなりに数百時間は必要だと思います。
ただそれでも、技術はやっていれば誰でもそれなりにできるようになると思うのですが、一番難しいのは何を作るかですよ。誰かに使ってもらえなければ、結局何を作っても意味がないです。何を作るかは商品設計そのものなので、世の中で誰がどのようなことに困っていて、それを今の技術を使ってどう解決するかを見極めなければなりません。つい、自分のアイディアが良いと思って固執してしまいがちです。そこが難しいんですよね。そこが。