개발자

앱 개발을 시작하려는 병아리,, 입니다,, 도움이 필요해요

2023년 12월 20일조회 568

웹 개발 쪽만 하다가 코틀린을 기반으로 앱 개발 프로젝트를 하나 진행하려고 시도 중입니다. 정말 아무것도 노베이스인 상태에서 개발도구나 언어를 좀 추릴려고 하는데 모르는 부분이 많아 올려봅니다... (바보 같은 질문일거 같네요... ㅠ 1도 지식이 없어서) 앱에서는 프론트, 백엔드 부분이 나뉘어 지나요? 리액트 네이티브와 코틀린을 같이 사용할 수 있나요? (흔히 프론트와 백엔드로 나눌 수 있는건가요?) 아니면 아예 다른 언어로써 상호 공존이 되지 않나요? 만약 앱개발을 시도한다면 어떤 언어가 좋을까요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

인기 답변

장성호님의 프로필 사진

1. 프론트 / 백엔드의 구분은 요구사항, 그리고 인력에 따라 다릅니다. 클라이언트 단에서 오프라인으로 전부 처리해도 괜찮으면 앱개발만 해도 됩니다. 만약 온라인 통신이 필요하면 서버가 필요하실 겁니다. 이와 별개로 클라이언트, 서버 개발을 혼자 한다면 풀스택 개발을 하시면 됩니다. 만약 각 파트 개발을 나눌 인력이 된다면, 프론트엔드가 클라이언트 개발을 맡고 백엔드가 서버 개발을 맡습니다. 이외에도 Firebase 같은 Serverless 제품도 고려해볼 수 있습니다. 2. React native와 Kotlin은 React native 환경에서는 같이 사용 가능합니다. 대신 익숙하신 프론트-백엔드 개념과는 다릅니다. 기본적으로 React Native로 앱을 만들다가, Android에 국한된 기능이 필요할 때 Kotlin으로 기능을 만드는 시나리오를 고려해볼 수 있습니다. 앱 개발 생태계는 다음처럼 나뉩니다. (Native) Android - Java or Kotlin (Native) iOS - Objective-C or Swift Cross platform - React Native / Flutter / Kotlin Multiplatform Webview - 웹페이지 앱은 Native 환경을 기본으로 합니다. 대신 OS에 따라 개발도 따로따로 하셔야 합니다. 코드베이스가 2개로 나뉘는 불편함을 해소하기 위해 Cross platform을 사용합니다. 구현 방식에 따라 다르지만 기본적으로 Native 환경에서 별도 엔진을 실행하는 방식입니다. 따라서 Cross platform은 Native 환경을 필요로 합니다. Cross platform을 사용하면 js, dart, kotlin 등으로 구성된 1개의 코드베이스만을 사용할 수 있습니다. 하지만 각 Native 기능이 필요할 때는 Native 코드를 직접 짜신 뒤, Cross platform 엔진과 통신하는 방식을 사용합니다. (ex: 카메라 모듈, 보통은 남이 만든 이미 라이브러리가 있음) 이때는 Cross platform이 클라이언트고, Native가 서버 느낌입니다. 3. 웹개발을 하셨다고 하니 React Native를 추천드립니다. 다만 코틀린으로 꼭 하셔야겠다고 한다면 Android 개발만 하거나, Kotlin Multiplatform(KMM)을 고려해볼 수 있습니다. 하지만 KMM은 문서나 레퍼런스가 정말 적은 신생아 생태계이므로 추천드리진 않습니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!