クラウドファンディングのトップサイトKickstarterが、そのアプリケーション開発過程を開示しようとしている。今朝(米国時間12/14)同社は、その技術系のブログ上で、AndroidとiOSのネイティブアプリのコードをオープンソースにし、同社の目標であるスタートアップ支援の一環とする、と発表した。
同社によると、この考えがひらめいたのは、昨年の9月に同社が公益法人になったことが契機で、広い意味でのデベロッパーコミュニティに何かを還元していくという、企業としての大きな社会的視野を持つべき、と考えた。
コードは今日から、同社のGitHubレポジトリで提供され、アプリのエンジニアリングとデザイン両面の、内部的仕組みや構造に、それらに関心のある人たちがアクセスできるようにする。
今日のローンチに先駆けてKickstarterのエンジニアBrandon Williamsは本誌にこう語った: “チームとしてのわれわれは、かなりユニークな仕事をしている、とかねてから感じていた。でも、エンジニアが自分の仕事を互いに共有できる機会は、そうめったにあるものではないからね”。
オープンソース化してとくに有益と考えられるのは、Kicstarterのアプリが、関数型プログラミングの手法で書かれていることだ。その開発過程やプロトタイピングの過程が目で見て分かることは、かなり参考になるだろう。
とくに同社は、次のような点を強調している:
- Screenshotsディレクトリには500近いスクリーンショットがあって、すべての言語やデバイス、つねに真であってほしいエッジケース状態などのさまざまな画面を収めている。たとえば、Kickstarter上で支援者がフランス語のプロジェクトを見ていたり、クリエイターがドイツ語のダッシュボードやiPadのページを見たりしている。
- われわれはSwift Playgrounds〔参考記事〕を使って反復型(iterative)開発とスタイリングを行っている。アプリケーションの主な画面の多くに、それに対応するプレイグラウンドがあって、そこで多様なデバイスや言語やリアルタイムのデータを見られる。われわれのプレイグラウンドのコレクションを、ここで閲覧できる。われわれはビューモデルを、副作用を隔離し、 アプリの中核的部分に取り組んでいくための、軽便な方法として使っている。
- われわれはこれらを、入力信号を出力信号に純粋にマッピングするためのものとして書いている。テストは、ローカライゼーションのテスト、アクセシビリティのテスト、イベント追跡のテストなど、いずれもしっかりと行っている。