출시 프로젝트를 진행하면서 생각하는 고민들 ..
디자인 패턴
MVC .. MVVM .. MVVM-C ..
욕심이 없지는 않지만 기간 내에 구현해야 하니까 .. MVC로 간다..
무조건 다 나누자. 다 나눠.
BaseViewController / BaseView .. 잘 사용하자 !!!!
라이브러리
이건 아직까지 고민중인데 ..
최대한 오픈소스를 덜어내고 싶은 마음 + .. 그럼에도 기간 내에 구현해야하니까 쓸 건 쓰자 .. 라는 마음?
이건 쓰자!!
✔️ SnapKit, Then : 코드베이스 UI 만들 때 사용
✔️ SwiftGen : 리소스 관리
✔️ SwiftLint : 컨벤션 관리
이거 두개의 경우, 이번에 좀 제대로 사용해보고 싶어서? SwiftGen의 경우는 29기 비포겟에서 사용했었는데 좋았음 .. 그래서 사용할 것임 .. 린트는 29기 합셈 때 홍이 알려줬는데 사실 그 때는 홍이 다 해줘서 이번엔 한번 혼자 해보겠음다 ..
이건 애매 ..
애매한 것들은 이제 .. 쓰면 좋은데 .. 오픈소스를 덜어내고자 하는 마음과 상충하는 것들이랄까?
✔️ Alarmofire : 서버통신 (-> URLSession 사용)
ㅋㅋ 광기일까? ㅋㅋ 이번에 서버 통신이 GET만 있고 .. 그렇게 복잡한 것들이 없길래 이럴때 URLSession 다뤄봐야 내 것으로 만들 수 있지 않을까? 하는 생각 ~ ..
✔️ PanModal : 커스텀 바텀 시트
지도에서 핀 선택하고 해당 위치에서 예약이 가능한 나눔카 리스트를 바텀 시트 UI로 만들고 싶음 ..
전에 카카오택시 클론코딩 할 때는 뷰컨 만들고 뷰 얹고 그런 식으로 했었는데 .. + 커스텀 화면 전환으로 .. 근데 이 방식이 제법 ... 코드가 더러워서(?) 오픈소스를 사용할까 .. 고민중 ..
> 아니면? UISheetPresentationController를 사용해서 (WWDC21에서 새로 나온 것 같은데 .. ) 만들까? 고민 중 🤔
_
그리고 .. 또 고민하고 있는 것들 ..
지도
지도를 어떤 것을 쓸까 고민을 했었는데 Umm .. 앱마다 사용하는 지도가 다르긴 하지만 네이버 지도가 좀 많은 것 같았음
그치만 ... 그건 또 네이버 SDK 어쩌고 넣어야 하고 .. (절대 귀찮아서 그런 것이 아님) .. 뭐 또 설정해야 하고 ..
그리고 무엇보다 궁금했던 것은 ... MKMapView가 있는데 왜 이걸 안사용하는걸까? 하는 생각들 ..
고로 !! (고로케)
난 애플에서 제공하는 기본 지도를 쓰겠다.
우하하.
프레임워크
왈킷처럼 SPM을 하나 만들어볼까 생각했는데 .. 그럴 시간이 있을까? + 프레임워크를 다루면서 접근제한자 공부하자는 의미로 .. 프레임워크 넣을 것 같기도 한데 이것도 안넣을수도 있음 ㅋㅋ
URLSession
위에서 알라모파이어 안쓴다고 해서 이제 .. 오 그럼 모야쓰심? 이라고 생각할 수 있는데 ..
나 김소깡 28기부터 모야만 쓴 인간이기 때문에 이제 의존성을 벗어날 필요가 있음 .. 그래서 URLSession을 사용하기로 다짐했음요 ..
(아무래도 커스텀의 끝은 순정이라서 .. 마치 뉴진스처럼 .. ㅎ..ㅎ)
> 결국 Alarmofire도 기반은 URLSession 이고
> 나중에 Async/Await도 적용하려면 URLSession을 사용하는 것이 좋을 것이라 판단
음 .. 그리고 또 뭐를 고민하고 있었더라 ..
자잘하게는 폴더링 방식? 파일 이름?
그동안 너무 이렇게 하니까 나도 이렇게 해야지 이런식으로 프로젝트를 만들었는데 이제는 나만의 기준이 필요한 시점이라고 생각이 되어서 사소한거라도 생각을 많이 해보고 만들어야겠다고 생각했다 ..
일단 배고파서 여기까지 쓰고 밥 먹겠음 ..
'iOS > 니카내카' 카테고리의 다른 글
[니카내카] 디자인시스템 (Font 편) (1) | 2022.09.10 |
---|---|
[니카내카] 디자인시스템 (UIComponent 편) (0) | 2022.09.09 |
[니카내카] 모듈(프레임워크)로 쪼개보자. (Resource/Util Framework) (2) | 2022.09.09 |
[니카내카] 브랜딩 수정 (0) | 2022.09.07 |
[앱 이름이 들어갈 자리] 기획을 해볼까? (2) | 2022.08.31 |