프로그래밍 언어로 서버를 처음부터 끝까지 다 만드는 것은 아주 어려운 일이다.
그래서 미리 만들어놓은 '프레임워크'를 이용한다. (블록 세트같은 개념)
ex) Java로 만든 프레임워크 'Spring', Node.js로 만든 프레임워크 'Express', Python으로 만든 프레임워크 ' Django' 등
프레임워크의 종류는 엄청 많고, 대체적으로는 정보가 많이 나와있는 유명한 프레임워크를 사용한다.
프레임워크에 있는 기능을 갖다 써서 서버를 만든다.
자바로 서버를 만든다면 자바 자체를 잘 아는 것도 중요하지만,
Spring 프레임워크에 대한 이해도도 중요하다.
좋고 나쁜 게 아니라 특성이 다른 것!
HTML (뼈대), CSS (꾸미기), Javascript (움직이게)
이걸로만 만들면 프레임워크 없이 만드는 것 (별로 안 어려움)
요새는 HTML, CSS, Javascript를 더 잘 쓸 수 있게 하는 프레임워크를 사용하기도
[JS 프레임워크] (자바스크립트 기반의 프레임워크)
앵귤러(Angular), Vue(Vue.js), 리액트(React.js)
체감상 리액트가 대세. 셋 중 하나 할 줄 알면 나머지도 금방 배운다는 이야기가 있음
용량을 더 적게 보낼 수 있다든지, 페이지의 깜빡거림이 줄어든다든지 등
대부분의 언어는 서버 사이드 언어. HTML, CSS, JS를 제외하고 대부분의 언어로
서버를 만들 수 있다고 봐도 무방하다.
프레임워크 Spring 이 유명
Python : 쉽게 입문 가능. 자유로움. 데이터 분석에도 사용
프레임워크 Django, Flask 가 유명
Node.js : Javascript를 서버 버전으로 만든 것. 그래서 문법이 거의 유사. 스타트업에서 많이 씀
프레임워크 Express 가 유명
ex) Node.js와 리액트를 취하면 문법이 똑같음. 백/프론트엔드가 같으면 편하다
※ Java와 Javascript는 전혀 상관 없다! 인도와 인도네시아와 같은 관계
C : 임베디드 칩. IOT에서 주로 사용. C로 서버 만드는 곳은 거의 없음 (간혹 게임회사에서 서버를 만들 때 사용하기도)
다른 언어에 비해 컴퓨터에 더 가까운 언어, 더 정교하게 명령을 내릴 수 있음. 조금 더 헤비함
GO : 최근 인기 시작. 쉬운데 적당히 형식이 있음
Typescript (TS) : Javascrip에 형식을 좀 얹은 것 (프론트엔드/백엔드)
+) Javascript는 매우 자유로워 어디서 에러 났는지 찾기 어렵다
그 외 PHP, ASP, ...
안드로이드 앱 : Kotlin || 아이폰 앱 : Swift
안드로이드/아이폰 앱 한 번에 개발 : Flutter(Dart 언어 사용),
React Native(Javascript 언어 사용) 라는 프레임워크를 이용한다
데이터분석 프로그래밍 언어 : Python, SQL