iOSガイドアプリ
こんにちは! メディアチームの牟田裕太郎です。
PyCon JP 2016からスタッフ参加で、今年はメインでiOSアプリ開発を担当しました。みなさま使っていただけましたでしょうか?
私のパートでは、モバイルガイドアプリ作成の経緯と実際の開発についてや、iOSアプリエンジニアがPyCon JPスタッフをやってみた経験についてご紹介します。すでに2日目のLTや私個人のブログエントリーで一部ご紹介していますが、ここではさらに詳しくお伝えしたいと思います。
モバイルアプリ作成の経緯
モバイルアプリ作成のきっかけは、私のなにげないツイートに座長の鈴木たかのりさんが反応したことでした。
オープンソースでDroidKaigiのカンファレンスアプリ作ってる - Konifar's WIP https://t.co/b8Vq4C3l5H
— Yutaro (@yutailang0119) 2016年2月12日
PyConでもiOSアプリ作るか!PyConで需要があるのか、わからんけども
昨年までのPyCon JPでは、Guidebookという外部サービスを使っていましたが、せっかくなので初のネイティブアプリ内製をしてみようということになりました。
正直な所、今年はトライアルという気持ちで始まりましたが、想定よりも多くの方に使っていただけたようです。きちんとリリースして多くの方のもとに届いたことを嬉しく思うと共に、別領域の(Pythonがメインの開発言語じゃない)人にもチャレンジできる空気感があることは非常にありがたいことでした。
iOSアプリ作成の進め方
iOSアプリ本体の開発はGitHubのpyconjp/pyconjp-iosで行っており、APIはpyconjp/pyconjp-websiteに内包されています。今年は私1人の開発でしたが、基本的にPull Request形式としました。
PyCon JPのJIRAだとスタッフ外から見ることができなくなってしまうため、タスク管理はGitHubのIssueを使用しましたが、来年はGitHub Projectsを採用しようかと思っています。
ライブラリは通信とMobileDBのみ使用し、できる限り自分で作成しました。どんな機能を提供するべきかの要件定義に時間がかかってしまったため、トークにフォーカスを絞った作りになりましたが、特にブックマーク機能は好評いただけていたようです。
また、デザイン担当のスタッフはロゴやTシャツ、パンフレット、Webとタスクを多く抱えていたので、大枠はAndroidのエンジニアと私とで決め、色の調整や画像の作成のみお願いすることとしました。
できるだけiOS Human Interface Guidelinesに則った作りを意識しましたが、デザイン力は今後の課題です……。
その他の反省として、
- トーク以外のKeynoteなどがタイムテーブルで見れなかったこと
- WebViewに頼る部分が多かったこと
- Androidアプリと連携が取れなかったこと
などがあります。
他にもアンケートや直接お話した方からも多くのフィードバックや要望をいただき、自分自身もやりたかったことの30%程度しか達成できていないので、継続的に開発を続けていこうと思っています(v1.0.0リリース当時はSwift 2.2でしたが、現在のdevelopブランチはSwift 3.0にバージョンアップ済みです)。
iOSアプリエンジニアの私とPyCon JP
私の本業はiOS/Swiftのエンジニアですが、初めてApple Developer ProgramのOrganization登録を経験できたり、このアプリの開発が始まった当初はまだSwiftに触り始めたばかりだったため、本業にも還元することができたりと、カンファレンスの運営以外にもプラスの経験となりました。
私自身、普段はほとんどPythonを触れる機会がなく、Pythonコミュニティはアウェイでした。しかし、PyCon JP 2015に参加した際、Pythonコミュニティに関わっている方々の温かみを感じ、2016のスタッフに飛び込んでみました。Python初心者ながらも、iOSエンジニアとしてPythonコミュニティに貢献できたなら、非常に嬉しいです!
Pythonistaのみなさんも、自分の本領域以外のコミュニティにも、Pythonistaとして力になれることがあると思います。ぜひ参加してみてはいかがでしょうか? 来年はもう少しPythonを触りつつも、iOSアプリ開発は続けようと思っているので、ご期待ください!