iOSを主軸にAndroidの実装できるようになり、モバイルアプリを全て担当できるようになりたい。
より自分の強みを強化、拡張したいため。
① どのようなプロジェクトだったのか
公式の音楽動画をストリーミングで視聴し、動画の一部を切り取り、サービス内外でシェアすることができるネイティブアプリです。新規サービスとして、企画がある程度固まった後にiOSの開発リーダーとして参加し、設計、開発、チームのマネジメント、テストを行いました。iOSを開発するメンバーは、新卒2年目の自分と、iOS開発未経験の新卒1年目と3年目の業務委託の方2名でした。
自分が参加してから、メンバー全員で企画をより固め、その後開発を始めました。開発からリリースの期間は約半年です。その後半年間機能追加のエンハンスを行い、再度企画を考え直しリニューアルとして再び1から開発を行っています。
2019年度に、先輩からのサポートが少ない中、少ないメンバーでかつ教育を行いつつも予定通りリリース・エンハンスを行った実績を認められ、下記の賞を社内史上初の同時受賞することができました。
②どのような機能を開発されたのか
サービスとしてiOSアプリで行うことは全て設計、開発を行いました。
③どのような技術を使い、どのように実装をされたのか
開発リーダーとして、iOSで使う技術に関してはかなりの裁量を与えていただいていたため、まずはアーキテクチャの選定、設計を行いました。
その後、未経験だったメンバーへ実装する上で必要な知識として、アーキテクチャでの責務の分けるポイントとしてビジネスロジックやプレゼンテーションロジックの判断、AutoLayout、Delegateパターン、Optionalやプロトコル思考といったSwiftyな書き方をコードレビューを通して共有していきました。その後、小さなミスを自動でなくせるようにSwiftLintを導入しました。
また、より経験が浅い1年目のメンバーには、サービスへとコードの理解を深めるためにログイン画面等のテストコードをXCTestフレームワークを使って実装してもらいました。この事により、アーキテクチャやソースコードの理解がスムーズにでき業務にもすぐに入ることができました。
④どのような技術的な課題があったのか
動画の一部を切り取りシェアすることができる機能も全てストリーミングで行う使用だったため、シェアされた動画を連続視聴する際に読み込みする時間がかかってしまう問題がありました。
⑤どのようにその課題(難しかったことなど)を解決されたのか
これを解決するために、UICollectionViewでCellを生成する前にAVPlayerを生成し、動画をセットアップするように実装することである程度解決しました。
このプロジェクト詳細は公開されていません
このプロジェクト詳細は公開されていません