현재 자바 공부를 하고 있는 대학생입니다.
제가 원하는 서비스의 웹을 만든다고 하면 어떠한 언어들을 사용하고, 이 언어들이 뜻하는게 잘 몰라서 여쭤보고자 합니다.
html,css,java,jsp,spring,mysql.. 등등 자바로 개발할 경우 어떤 언어들을 사용되며 python,php 와 같은 웹 개발 언어와 어떠한 차이점이 있을까요..? 그냥 자신이 편한걸로 하면 되는건가요?
만약 자바로 웹애플리케이션을 구현한다고 하였을때 프론트부터 백엔드까지 어떠한 언어들을 공부해야되는지 전체적으로 한번 알고 싶습니다. 뒤죽박죽 어떤게 어떤것이고 어떠한 부분에서 어떤걸 사용해야되는지 정리가 되지도 않고 잘 모르겠습니다.
또한 이렇게 웹앱으로 구현을 한 후 이것을 안드로이드앱이나 ios앱으로도 구현하여 사용할 수 있을꺼 같은데, db쪽만 잘 구현해두면 문제가 없을까요??
개발에 대한 전체적인 언어와 개념에 대해서 부탁드리겠습니다! 선배님들 자세한 답변 부탁드리도록 하겠습니다..ㅠ
그런거 신경 쓰지 마시고 지금 배우시는 언어를 기준으로 (자바만) 열심히 배우시길 바랍니다. 당분간은.
그리고 다른 언어를 배우기에 가장 적당한 시기는 이런 질문을 하지 않아도 될 때 입니다.
만약 지금이 자바를 배우는 극초반이고, 다른 언어로 바꾸는 것이 가능하다면 자바스크립트를 배우세요.
웹앱에 절대적으로 필요한 프론트엔드에 자바스크립트가 가장 필요하고, 백엔드도 nodejs로 커버가 가능합니다.
하지만 이는 질문하신 분이 원하는 목표에 대한 조언일 뿐이지.
사실 당장 취업이 필요하시면 그냥 자바를 하시는게 맞습니다.
문득, 그래도 하나의 프로젝트가 개발이 될려면 어떤것들이 사용되고 어떤 상호작용이 필요한지에 대한 큰 틀이 궁금해서 질문하게되었습니다~^^
우선 자바의 역할은 서버(백엔드)입니다. 만약 안드로이드로 포팅한다면 안드로이드에서도 쓰이겠죠.
백엔드는 DB (오라클, myslq, mongodb 등) 와도 연결해주는 수단입니다.
프로트엔드 (사용자가 직접 화면에서 보는 상호작용)는 기본적으로 웹이기 때문에
HTML5, CSS, Javascript 입니다. 현업에서 Javascript는 jQeury지식이 99% 기본으로 필요로 하고 AngularJS 도 젊은 기업일 수록 많이 사용합니다.
그리고 웹앱은 기본적으로 서버와의 통신이기 때문에 서버 자체에 대해서도 많은 지식이 필요로 합니다. 자바를 쓰더라도 결정해야 할 것이 많습니다.
하드웨어적으로 실물서버를 쓸것인지 클라우드 서버를 쓸것인지 부터, 어떤 OS를 쓸것인지 (CentOS, Ubuntu 등) 그리고 웹엔진은 무엇으로 할지 (아파치, nginx)
그리고 더 깊이 들어가면 http 프로토콜 및 기타 인터넷 프로토콜 자체에 대해서도 알아야 합니다.
너무 많다구요? 사실 이 전부를 모두 100% 알 필요는 없어요. 하지만 흐름과 개념을 이해하는건 매우 중요합니다.
실무에서 이걸 다 접해볼 기회도 없구요. (흔한 스타트업에서 풀스택으로 일하시지 않는한)
스스로 프로젝트를 하나 정하시고 전부 다 직접 구현해보시는 것이 흐름 이해에는 가장 좋습니다.
더 자세한건 제가 찾아보면서 알아가야할듯 싶어요~
성의있는 자세한 답변 감사드립니다~^^