https://github.com/draupnir45/SooBook_iOS
2017년 FastCampus Development School 팀 프로젝트 "SooBook"의 리모트 리파지터리입니다.
About Development...
수북에는 그동안 iOS 스쿨에서 3개월간 'Fast'하게, 하지만 단단하게 배운 내용들이 고스란히 들어가 있습니다.
유지보수와 협업
프로젝트 전체에서 접근할 가능성이 있는 헤더를 모아 Pre Compile Header를 구성하였으며, 전역상수 등을 이용해서 유지보수와 협업에 용이하게 하였습니다.
안정성
기본 프레임워크에서 그 의도를 해치지 않으면서 사용할 수 있는 것은 모두 적용하려고 노력했고, 그 외에 필요한 것은 최대한 CocoaPod이 지원되는 오픈 소스 라이브러리를 활용했습니다. 따라서 향후 OS의 변화에도 최대한 큰 수정 없이 적응시켜 나갈 수 있도록 배려하였습니다.
오토 레이아웃
스토리보드와 오토 레이아웃으로 가능한 것은 최대한 IB에서 구현하고, 그 이외의 특별한 행동이 필요한 경우만 코드를 통해 구현하였습니다. 이를 위해 오토 레이아웃 기능들 하나 하나를 깊게 공부하고, 안정적으로 레이아웃을 짜는 연습을 거쳤습니다.
디자이너와의 협업
디자이너 출신의 팀원이 있어, 스케치와 제플린의 활용법을 양쪽 시선에서 깊게 배울 수 있었습니다. 구체적으로는 UIColor 익스텐션과 에셋 익스포트 기능을 이용해 UI디자인의 의도를 정확히 반영하였을 뿐만 아니라, 향후 상황에 따라 디자인상 변경이 일어날 경우에도 반복 작업을 피할 수 있도록 하였습니다.
재활용 가능한 커스텀 뷰의 활용
책 표지를 선반에 세워 놓은 것처럼 보이는 BookCoverFlowCell나 별점을 표시하기 위해 활용되는 RateView, SBIndicatorController 등은 서로 다른 곳에서 재활용됩니다. 이와 같은 뷰는 비단 해당 프로젝트뿐만이 아니라 향후 다른 프로젝트에서도 적용할 수 있도록 독립적으로 작성되었습니다. 이러한 접근법을 통해 프로젝트가 단순히 그 프로젝트로 끝나는 것이 아니라 팀원들 개개인의 향후 발전을 위한 밑거름을 쌓아 나갈 수 있게 하였습니다.