[CCTVWithAI] (2021.06.14) 개발 일지 | 새 팀원과 앱 개발 계획

Hotaek Han·2021년 6월 14일
2

CCTVWithAI

목록 보기
3/25

앱 개발 확정과 새로운 팀원

카메라로 전송하는 영상을 앱으로 확인할 수 있는 것이 역시 편할 것이라고 생각하여 앱 개발이 확정되었다.

이러한 결정에 따라 같은 전공을 공부중인, Frank님이 앱 개발을 맡으며 함께 프로젝트를 진행하게 되었다.


어떻게 개발할 것인가

이 부분에 대해선 아직 논의 중이다.

우선 앱 개발에 있어 고를 수 있는 선택지를 간단히 정리해봤다.

Native App

각각의 플랫폼에서 요구하는 언어로 앱을 제작한다. Andriod의 경우 Java나 Kotlin, iOS의 경우 Swift와 Objective-C이다.

장점:

  • 디바이스 고유의 기능을 모두 사용할 수 있다. 고성능의 어플리케이션 개발도 가능하다.
  • API의 사용성이 높다.
  • 버그를 방지하는 것이 쉽다.

단점:

  • Android와 iOS 두 플랫폼 모두 필요한 경우에 작업량이 매우 많아진다.

Hybrid App

native app처럼 설치하지만 내부는 web app이다. 기기 내부의 브라우저에서 웹뷰에서 HTML, CSS, JavaScript 등으로 만들어져 작동된다.

장점:

  • native 언어에 대한 지식 없이 HTML, CSS, JavaScript 등의 잘 알려진 언어를 사용한다.
  • 한 번의 작성으로 다양한 플랫폼에서 사용할 수 있다.

단점:

  • 구현할 수 있는 성능에 있어서 제약이 있다.
    (카메라, 위치 확인 등의 기본적인 기능 위주)
  • 버튼, 타이틀, 내비게이션 등의 기능을 하나 하나 직접 구현해야 한다.
    (웹 사이트를 만드는 것과 같다)

Cross Platform App

native가 아닌 언어로 작성하면 컴파일 후에 iOS와 Andriod가 이해할 수 있는 코드로 변환된다.

장점:

  • native와 달리 코드를 한 번만 작성하면 iOS와 Andriod 두 플랫폼 모두에서 사용할 수 있다.

단점:

  • 여전히 native가 아니기 때문에 퍼포먼스 이슈가 생길 수 있다.


최종 선택과 남은 논의 사항

Cross Platform, 그들 중 어떤 것을 고를 지

우리의 상황과 위 세 가지 선택지의 장단점을 고려했을 때 Cross Platform이 가장 부합해 보인다.

그 이유는 아래와 같다.

  • 사용할 사람들(아마 주로 우리 가족..?)을 고려해 봤을 때 Android와 iOS 두 플랫폼에서 동작해야 한다.

  • 개발 기간을 고려했을 때 Native의 경우엔 시간이 많이 소모될 것을 고려하면 아마 힘들 것 같다.

  • Hybird 역시 다양한 플랫폼(Android, iOS, Web 등)에서 사용할 수 있는 장점이 있지만, 퍼포먼스에 제약이 있다는 점과 UI를 구현하는데 걸리는 시간을 고려하면 어려울 것 같다.


이제 남은 논의 사항은 Cross Platform에서 어떤 tool을 사용할지에 대한 문제이다.

사용할 수 있는 대표적인 tool들로 React Native, Xamarin, Flutter 등이 있다.

시간이 늦어서 이에 대한 정보는 내일 더 알아봐야겠다.

참고 자료

Native Apps, Web Apps or Hybrid Apps? What’s the Difference?
Native vs Hybrid vs Cross-Platform – What To Choose and when?
1인개발, 크로스플랫폼과 네이티브앱의 갈등이 되는 상황입니다
[Youtube] 네이티브 앱 vs 크로스 플랫폼 앱 vs 하이브리드 앱 | 5분 장단점 분석!
[Velog] App: native vs. cross platform vs. hybrid

3개의 댓글

comment-user-thumbnail
2021년 6월 18일

RN이 한창 많이 쓰이다가 요즘 Flutter가 구글신에 기대어 굉장히 핫해졌다고 하더라고요?!!

답글 달기
comment-user-thumbnail
2021년 7월 14일

DL 이미지 처리쪽에서 같이 참여할 수 있나요?

1개의 답글