취업톡톡 세부메뉴

질문 상세 보기

Q 앱 개발자(android) 경우 어떤 분야를 공부해야 할까요?

조회수 12,109 2020-11-10 작성
막연하게 앱 개발자가 되고 싶은 생각에 안드로이드만 공부했는데요. 여러 프로그램을 보거나 참여하면서 안드로이드, java만으로 할 수가 없는게 많더라고요. 백엔드라던가 하는걸로요.

그래서 모르면 배우면된다는 생각에 무엇을 공부해볼까 고민해봤지만. 아직 이렇다. 라는 결론이 나오질 않고있어서 질문을 올려봅니다.

어떤 분야를 공부해야 좀 더 능숙한 개발자가 될 수 있을까요?

내 프로필 > 북마크 에 추가되었습니다

현재 브라우저의 보안 설정에 따라 복사가 허용되지 않습니다.
아래 URL 주소를 드래그 후 Ctrl+C를 눌러 복사하시기 바랍니다.
닫기
후배에게 답변하기 입력
솔직하고 따뜻한 답변을 남겨주세요.
0 / 1,000
답변 5
  • 프로필 이미지 mentor0226291 게임개발자 / 22년차 Lv 2

    실전에서 부딪혀 공부하는것이 제일 빠르지만
    여건이 안된다면 개인적인 플젝을 하나
    선정해서 목표일을 만들어 개발해보세요.

    대략 앱, 서버 api 연동등

    2020-11-11 작성
  • 프로필 이미지 mentor7992750 앱개발자 / 12년차 Lv 1

    좀 주관적이지만 사실 겉으로 드러나는 백엔드는 서버, 네트워크, 데이터베이스 정도인듯 하네요
    (이렇게 본다면야 뭐 안드로이드 앱의 경우 서버에 대한 클라이언트 프로그램이 되겠죠)

    안드로이드 앱만으로 한정해서 개발하신다면야 백엔드라는것들도 딱히 별거는 없어 보이고
    서버하고 통신하는 류의 프로그래밍이라면야 서버 데몬에서 DB핸들링등을 할테니 그것도 뭐... 딱히 관계는 없어 보이는데

    아무래도 안드로이드만으로 할수 없는게 많다고 느끼신다는게...
    서버쪽에서 일어나는 일들에 대한것들이시라면
    linux 관련 이나 네트워크 프로그래밍, DB같은 것들을 같이 공부해보시는것도 나쁘지 않다라는 생각이 드네요

    즉 안드로이드앱만으로 한정한다면야 뭐가 됐든 개발해서 마켓에 올리면 되는데 간단한 단독 앱이 아니라면
    안드로이드 앱도 서버에 대한 클라이언트로 작동할테고 그런류의 시스템을 구상하신다면 페어로 서버가 필요하다는
    말이 되겠죠...
    즉 완전한 한 세트의 시스템을 구성하게 되는 요소가 서버, 네트워크, DB, 클라이언트-앱 처럼 구성이 될텐데
    (단순한 추측이지만) 이런 구성 자체에 대한것들을 배우고 싶으시다면
    자바로도 서버프로그래밍은 얼마든 할수 있으니 그 부분이야 네트워크 프로그래밍이나 웹서버 프로그래밍 등으로 자바의 연장선상에서 공부하시면 될듯하고
    나머지 리눅스, 네트워크, 데이터베이스 같은것들은
    불편하지 않을정도(?)만 공부하시면 될듯 한데요...
    불편하지 않을정도에 대한 간단한 가이드를 제시한다면 (물론 주관적인 가이드입니다 ㅎㅎㅎ)
    리눅스 서버는 리눅스 운영체제에 원하는 프로그램을 설치하고 프로세스를 띄우고 죽이는 정도면 일단 될듯하고
    네트워크는 사실 써놓긴 했지만 개발할때는 일단 네트워크가 된다는 가정하에 개발하고 안되는것에 대해서는 결국 예외처리이므로 어느 아이피의 어느 포트에 서비스가 떠 있느냐 정도 체크 가능
    데이터 베이스는 원하는 os에 설치해서 프로그램과 연동하고 필요한 테이블등을 설계해서 만들고 쿼링할수 있는 정도면
    무난할듯 싶네요....

    2020-11-11 작성
  • 프로필 이미지 mentor2388755 앱개발자 / 2년차 Lv 2

    1. 백엔드는 대체가 가능합니다.
    - Firebase로 대체
    - Okky같은 개발자 사이트에서 (프로젝트 or스터디 )원을 구해 함께하는 방법

    2. Java를 배우셨으면 객체지향을 이해할때까지는 심층적으로 공부하시는 걸 추천드립니다.
    - Kotlin은 Java처럼 JVM을 기반으로 구동되는 언어여서 Java의 깊은 이해가 Kotlin이해에도 큰 도움이 됩니다.

    3. 기초를 탄탄히 다지시는걸 추천드립니다.
    - 운영체제, 자료구조, 알고리즘, 시간or공간 복잡도 계산 등등
    이들에 대한 깊은 이해가 있어야 앱의 퍼포먼스도 개선되며
    코드가 한결 간결해지는등 여러 이점이 있습니다.

    2020-11-11 작성
  • 프로필 이미지 mentor0330263 앱개발자 / 17년차 Lv 2

    안드로이드를 어떻게 공부해왔는지 모르지만 구글의 공식 개발자 사이트의 내용들 위주로 기초를 다지시면 좋을거 같습니다.
    결국 대부분의 필요한 내용들은 공식 사이트에서 거의 제공하고 있습니다.
    그리고 간단하게 본인이 원하는 앱을 하나 만들어 보시기 바랍니다.
    화면과 기능을 설계하고 구현해 나가는 연습이 도움이 될거라 생각합니다.

    2020-11-10 작성
  • 프로필 이미지 mentor5260893 16년차 Lv 1

    안드로이드는 이제 Kotlin이 대세입니다.
    Java에서 Kotlin으로 전환하면 상당한 오류를 줄일 수 있습니다.

    일단 Kotlin을 마스터 하시고 그 다음 하실일은 MVVM, Reactive Programming등을 공부해보세요.

    앱 개발과 백엔드를 동시에 잘 할 수 있다면 좋겠지만 그런것 보다는 앱의 입장에서는 앱을 얼마나 안정성 있게 만드느냐 그리고 얼마나 백엔드의 API를 잘 사용하느냐, 그리고 Third party(예: Glide, FAN, Admob 등) 라이브러리를 잘 사용하느냐가 관건입니다.

    행운을 빕니다.

    2020-11-10 작성