안드로이드/ios 개발자는 프론트엔드인가 백엔드인가?



안드로이드 개발자는 프론트엔드인가 백엔드인가?

안녕하세요. 궁금함이 많은 개발자입니다. 
웹 개발자의 경우에는 프론트엔드와 백엔드로 크게 나누어서 구분하는 경우가 많습니다. 

여러 곳을 찾아보면 바라보는 관점은 다소 다른 것 같지만 아래와 같이 웹 개발자를 큰 축으로 나누는 것 같습니다. 


프론트엔드(front end): 웹 사이트에서 '눈에 보이는 부분' 을 제작. Javascript, HTML, CSS 를 이용하여 웹의 구동을 제작하는 개발자. 
백엔드(back end) : '눈에 보이지 않는 쪽을 개발'. Spring, Node.js, ASP, JSP, PHP 등 개발자가 여기에 속함. 대형 회사의 경우에는 DB 관리, DB 설계, 서버 구현 등등의 다양한 역할을 나눠서 개발하지만, 스타트업 같은 경우에는 한 사람이 전부 다 하는 경우가 많습니다. 

스타트업 같은 경우에는 프론트엔드와 백엔드를 전부 다 하는 풀스택 개발자를 많이 선호한다고 합니다. 


그러다가 위와 같은 구분이 이런 구분이 안드로이드 개발자에서도 동일하게 적용되는지 궁금하여 정리하게 되었습니다. 
안드로이드도 java 를 활용하여 백엔드 같기도 하고, 안드로이드의 xml 같은 부분이나 디자인 같은 부분은 프론트엔드의 영역 같기도 합니다.
php 가 하는 역할을 보면 db 에서 데이터를 받아와서 화면에 뿌려주는 역할을 하기도 하는데, 해당 부분은 java 가 사용되서 백엔드 같기도 하구요.



여러 곳을 찾아다니면서, 제가 내리게 된 결론은 [Android/ios 개발자는 '프론트엔드', '백엔드' 로 구분하지 않는다] 라는 것입니다. 

저는 프론트엔드와 백엔드를 '앞', '뒤'라는 의미적인 요소로 생각해서 안드로이드 안에서
xml을 만지고 안드로이드의 버튼의 동작 같은 부분을 구현하는 것은 '프론트엔드' 개발자에 속하고, 
서버와 연동하거나 DB와 연동하는 작업 같은 경우에는 '백엔드' 개발자에 속한다는 느낌을 많이 받았습니다. 

하지만, 아얘 별개의 영역으로 두고 안드로이드 개발자 같은 경우에는 사용자가 보는 영역을 만들고,
사용자가 보는 버튼 같은 것의 동작을 처리하면서, DB나 서버와 통신을 하는 부분까지도 개발을 한다고 생각하면 될 것 같습니다. 

이러한 개발 파트를 안드로이드에서는 따로 구분하지 않는다고 보는 것이 좋을 것 같습니다.




혹시 다른 의견 있으시거나 틀린 정의라고 생각하시면 댓글주세요! 
제가 구글링을 해서 나름 정리한 자료라 업계의 정확한 정보는 아닐 수 있습니다. 
실제 현업에 계신 분들의 견해도 궁금하네요. 
건전한 댓글로 피드백 주시는 것은 환영입니다~!