アプリ開発の第一歩
2015年12月18日
こんにちは。最近好きなOSがMarshmallowなマツナガです。
今回は、アプリ開発についてのお話です。
プログラマが作る成果物は多岐に渡っています。社会のインフラ・基盤システム、会社の業務効率化のためのシステム、ネットワークやインフラの基盤システム、オペレーションシステム、プログラミングを支援する様々なライブラリーや開発環境、Webサイト、Webサービスなどなど、プログラマが書いたコードは私たちの生活の様々な場面で動いています。
そんなプログラマが開発するモノの一つに「アプリ」があります。僕の業務経歴はというと、社会インフラのシステム開発、業務システム開発、Webサービスの開発という道を辿ってきて、5年ほど前から「アプリ開発」も行うようになりました。
そもそも「アプリ開発」というプログラマの職種が一般化してきたのはいつからでしょうか。
アプリケーションという言葉は昔からありましたが、今のように「アプリ」という呼称はあまり使われていませんでした。Windowsの世界では90年代後半頃から「窓の杜」というサイトが開設され、アプリケーションが公開されるようになりましたが、当時は、アプリケーションは、フリーウェアとかシェアウェアという名称で呼ばれていました(久しぶりの窓の杜を見てみたら、サイトの説明は「Windowsアプリ・フリーソフトのおすすめ情報」となっていました)。
アプリという言葉が一般的になったのは、やはりiPhoneが普及するようになってからだと思います。Apple が iOS (当時はiPhone OS)向けにアプリケーションを開発する環境を提供して、開発されたアプリケーションを公開するApp Storeを開設したのが2008年7月です。この頃からiPhoneで動くアプリケーションは「アプリ」と呼ばれるようになり、アプリを開発するアプリ開発者と呼ばれるプログラマが増えてきました。
現在のアプリの状況については、先日、弊社の高山がブログエントリーに書いたとおり、
2015年11月24日時点、それぞれ下記のようになっています。
AppStore(iOS):1,734,110(開発者 386,443)
GooglePlay(Android):2,055,365(開発者 569,909)
参考:https://www.appannie.com/apps/ios/top/?_ref=header&device=iphone
プログラマがプログラムを作るきっかけは、プログラミングの習得という目的もありますが、一般的にはクライアントからの開発の委託です。職業プログラマであれば大抵はこのパターンです。
しかし、一方で、日曜プログラマと言われるプログラマが開発したアプリケーションをフリーウェアとして窓の杜などで公開するようになったり、Googleなどからが公開されたAPIを使ってWebアプリケーションを作ったりと、「自分が実現したいことを自分で作るプログラマ」が徐々に増えてきました。
これは開発ツールが手に入れやすくなったり、クラウドの普及により開発環境が簡単に使えるようになったりといった要因はもちろんありますが、自分が作ったアプリを全世界の人々に配信できるApp StoreやGoogle Playといったアプリストアの存在はとても大きいと思います。
こういった環境が整っていくことで、全世界で素晴らしいアプリが次々と世に出てくることになりました。アプリ普及の黎明期にこのムーブメントを牽引したのは、誰かに開発を委託されてプログラムを開発するプログラマではなく、「自分が実現したいことを自分で作るプログラマ」にほかなりません。
そして、アプリ開発というスタイルが浸透した今、まわりのみんながアプリ開発をしているので、自分もアプリ開発をしたいのだけど、何を作ったらいいのかわからない、といった声が聞こえるようになってきました。
アプリを開発するのであれば、JavaやSwiftといったプログラミング言語を学ぶことで開発はできます。しかし、当たり前ですが、何を作るかが決まらなければアプリは完成しません。アプリは、業務システムのように大規模で多くの開発者で作るようなものではなく、むしろ1人〜数人で開発されるコンパクトなものが多いので、プログラマがアイデア出しから完成まですべてを担う傾向にあります。
そうなると、やはりアプリを勉強したいけど何を作ったらいいかわからない、作るものが思い浮かばないのでアプリ開発に取り組みたくても、取り組めないとった状況が発生しがちです。
昔話になりますが、今から10年前、Web2.0と呼ばれた時代がありました。GoogleがGoogleマップをリリースし、様々な企業がAPIを公開し、様々なWebサービスが次々と開発されました。当時、Googleマップは凄く新鮮で、地図と何かを組み合わせることによって、新たな価値を生み出す環境をもたらしてくれました。
そのような体験の中でわかったことは、どのようなサービスやアプリを作ろうかと考える時に、何か素材があるとアイデアが出やすいということでした。10年前はGoogleマップが地図という素材を提供し、それを使った様々なアイデアが生まれ、実現されました。
そして現在は、オープンデータがその役目を担っているのかもしれません。政府や全国の自治体がオープンガバメントの流れの中で様々なデータの公開を始めています。
静岡県は2013年に全国に先駆けて「ふじのくにオープンデータカタログ」を開設、静岡市も今年10月、「静岡市オープンデータカタログサイト」を公開しました。
アプリを作りたいけど、どんなアプリを作ったらよいかわからないと迷ったときは、オープンデータカタログサイトに公開されている様々なデータを眺めてみるとよいかもしれません。そのとき注意することは、ひとつのデータを使って何かアプリを作ろうと考えるのではなく、いろいろなデータを掛け合わせてみることをお奨めします。静岡市の場合は、道路保全課、廃棄物処理課、生活安全保全課、観光交流課といった部署が作成したデータが公開されています。
おそらく、この中には、各部署では活用されていたものの、組織をまたいで活用されることはなかったデータがかなりの数含まれているはずです。
こういったデータがオープンデータとして公開されると、これまで決して重ねて使われることがなかったデータを重ねることが可能になります。例えばゴミ収集のデータと観光地のデータを重ねて眺めてみると、何かが見えてくるかもしれません。
このようにいろいろなデータを掛け合わせて見ていくと、今まで見えてこなかった課題が浮き彫りになってきます。そして、それが地域がかかえる課題の解決のきっかけになる可能性が充分にあると思います。僕はそれを見つけるのがプログラマとしてのオープンデータの活用の面白さなのかなと思います。
今回は、アプリ開発についてのお話です。
そもそも「アプリ」って何だ?
プログラマが作る成果物は多岐に渡っています。社会のインフラ・基盤システム、会社の業務効率化のためのシステム、ネットワークやインフラの基盤システム、オペレーションシステム、プログラミングを支援する様々なライブラリーや開発環境、Webサイト、Webサービスなどなど、プログラマが書いたコードは私たちの生活の様々な場面で動いています。
そんなプログラマが開発するモノの一つに「アプリ」があります。僕の業務経歴はというと、社会インフラのシステム開発、業務システム開発、Webサービスの開発という道を辿ってきて、5年ほど前から「アプリ開発」も行うようになりました。
そもそも「アプリ開発」というプログラマの職種が一般化してきたのはいつからでしょうか。
アプリケーションという言葉は昔からありましたが、今のように「アプリ」という呼称はあまり使われていませんでした。Windowsの世界では90年代後半頃から「窓の杜」というサイトが開設され、アプリケーションが公開されるようになりましたが、当時は、アプリケーションは、フリーウェアとかシェアウェアという名称で呼ばれていました(久しぶりの窓の杜を見てみたら、サイトの説明は「Windowsアプリ・フリーソフトのおすすめ情報」となっていました)。
アプリという言葉が一般的になったのは、やはりiPhoneが普及するようになってからだと思います。Apple が iOS (当時はiPhone OS)向けにアプリケーションを開発する環境を提供して、開発されたアプリケーションを公開するApp Storeを開設したのが2008年7月です。この頃からiPhoneで動くアプリケーションは「アプリ」と呼ばれるようになり、アプリを開発するアプリ開発者と呼ばれるプログラマが増えてきました。
現在のアプリの状況については、先日、弊社の高山がブログエントリーに書いたとおり、
2015年11月24日時点、それぞれ下記のようになっています。
AppStore(iOS):1,734,110(開発者 386,443)
GooglePlay(Android):2,055,365(開発者 569,909)
参考:https://www.appannie.com/apps/ios/top/?_ref=header&device=iphone
プログラマがプログラムを書くきっかけが変わった
プログラマがプログラムを作るきっかけは、プログラミングの習得という目的もありますが、一般的にはクライアントからの開発の委託です。職業プログラマであれば大抵はこのパターンです。
しかし、一方で、日曜プログラマと言われるプログラマが開発したアプリケーションをフリーウェアとして窓の杜などで公開するようになったり、Googleなどからが公開されたAPIを使ってWebアプリケーションを作ったりと、「自分が実現したいことを自分で作るプログラマ」が徐々に増えてきました。
これは開発ツールが手に入れやすくなったり、クラウドの普及により開発環境が簡単に使えるようになったりといった要因はもちろんありますが、自分が作ったアプリを全世界の人々に配信できるApp StoreやGoogle Playといったアプリストアの存在はとても大きいと思います。
こういった環境が整っていくことで、全世界で素晴らしいアプリが次々と世に出てくることになりました。アプリ普及の黎明期にこのムーブメントを牽引したのは、誰かに開発を委託されてプログラムを開発するプログラマではなく、「自分が実現したいことを自分で作るプログラマ」にほかなりません。
そして、アプリ開発というスタイルが浸透した今、まわりのみんながアプリ開発をしているので、自分もアプリ開発をしたいのだけど、何を作ったらいいのかわからない、といった声が聞こえるようになってきました。
アプリを開発するのであれば、JavaやSwiftといったプログラミング言語を学ぶことで開発はできます。しかし、当たり前ですが、何を作るかが決まらなければアプリは完成しません。アプリは、業務システムのように大規模で多くの開発者で作るようなものではなく、むしろ1人〜数人で開発されるコンパクトなものが多いので、プログラマがアイデア出しから完成まですべてを担う傾向にあります。
そうなると、やはりアプリを勉強したいけど何を作ったらいいかわからない、作るものが思い浮かばないのでアプリ開発に取り組みたくても、取り組めないとった状況が発生しがちです。
昔話になりますが、今から10年前、Web2.0と呼ばれた時代がありました。GoogleがGoogleマップをリリースし、様々な企業がAPIを公開し、様々なWebサービスが次々と開発されました。当時、Googleマップは凄く新鮮で、地図と何かを組み合わせることによって、新たな価値を生み出す環境をもたらしてくれました。
そのような体験の中でわかったことは、どのようなサービスやアプリを作ろうかと考える時に、何か素材があるとアイデアが出やすいということでした。10年前はGoogleマップが地図という素材を提供し、それを使った様々なアイデアが生まれ、実現されました。
そして現在は、オープンデータがその役目を担っているのかもしれません。政府や全国の自治体がオープンガバメントの流れの中で様々なデータの公開を始めています。
静岡県は2013年に全国に先駆けて「ふじのくにオープンデータカタログ」を開設、静岡市も今年10月、「静岡市オープンデータカタログサイト」を公開しました。
アプリを作りたいけど、どんなアプリを作ったらよいかわからないと迷ったときは、オープンデータカタログサイトに公開されている様々なデータを眺めてみるとよいかもしれません。そのとき注意することは、ひとつのデータを使って何かアプリを作ろうと考えるのではなく、いろいろなデータを掛け合わせてみることをお奨めします。静岡市の場合は、道路保全課、廃棄物処理課、生活安全保全課、観光交流課といった部署が作成したデータが公開されています。
おそらく、この中には、各部署では活用されていたものの、組織をまたいで活用されることはなかったデータがかなりの数含まれているはずです。
こういったデータがオープンデータとして公開されると、これまで決して重ねて使われることがなかったデータを重ねることが可能になります。例えばゴミ収集のデータと観光地のデータを重ねて眺めてみると、何かが見えてくるかもしれません。
このようにいろいろなデータを掛け合わせて見ていくと、今まで見えてこなかった課題が浮き彫りになってきます。そして、それが地域がかかえる課題の解決のきっかけになる可能性が充分にあると思います。僕はそれを見つけるのがプログラマとしてのオープンデータの活用の面白さなのかなと思います。