프로세스의 처음 단계와 마지막 단계를 Front-End / Back-End 라고 한다.
쉽게 말하면 클라이언트단 - 서버단을 말하는데, 클라이언트 단은 웹브라우저라 생각하면되고 서버 단은 아파치나 nginx와 같은 웹서버라고 생각하면 된다.
정리하자면
프론트엔드 : 이용자의 웹브라우저에서 직접적으로 보이는 부분을 다루는 것을 말함
백엔드 : 웹브라우저가 주고받는 데이터를 기록하고 가져오는등의 뒷일을 처리하는 것을 말함. 여기서도 두 가지로 갈린다. 정적인 페이지를 뿌리는 프로그램인 Apache, nginx, lighthttp 등이 있고 동적인 페이지를 처리해 뿌리는 프로그램 tomcat, 웹스피어 등이 있다.
일단 [프론트엔드]
[프론트 엔드의 대표적인 언어]는
- HTML
- CSS
- JavaScript
가 있다. 최근에는 오픈소스 프로젝트들이 활성화 되면서 여러 사람들이 자신들이 만든 프레임워크를 공유하기 시작했다.
프레임워크가 있으면 뼈대가 이미 만들어진 것이여서 쇼핑몰, SNS, 게시판, 앱 등을 매우 빨리 개발 할 수있어진다.
[프론트 엔드의 프레임워크]
- 대표적인 HTML/CSS 프레임워크
→ Skeleton
→ Foundation
→ Semantic UI
→ Pure CSS
→ Bootstrap
- 대표적인 JavaScript 프레임워크
→ AngularJS (Google)
→ Emberjs
→ ReactJS (facebook)
→ jQuery
→ Ext.js
→ Backbon.js
→ Vue.js
참조 : https://github.com/collections/front-end-javascript-frameworks
아마 이외에도 엄청 많을 것이다. 오픈소스 프로젝트들이 굉장히 많이 만들어지고 사라지고 진행되고 하고 있으니깐...
이번엔 [백엔드]
보통 웹서버는 두가지로 나뉜다. 정적인페이지 처리와 동적인페이지 처리를 하는 웹서버이다. 이 웹서버는 프로그램이며, 아래에서 말하는 언어들은 프로그램이 아니다. 단지 언어이다. 오픈소스가 활성화 되면서 스크립트로 만들어서 사용하는 웹서버가 생긴 것일 뿐 ..헷갈리지 말자
[백 엔드의 대표적인 언어]는
- php (최초의 웹언어)
- Python
- Ruby
- Node js (JavaScript)
- Perl
- Java
- C
- .NET (C#, VB)
등 엄청 많다. 여기도 마찬가지로 프레임워크들이 존재한다. 이 프레임워크들을 사용하면 직접 웹서버를 만드는 노가다 작업이 사라지게된다. 물론 최적화 작업도 노가다 겠지만.... 만드는 것보단 나을 것이다.
[프론트 엔드의 프레임워크]
- 대표적인 python 프레임워크
→ Django
→ Flask (Django 보다 가볍다고 한다)
- 대표적인 Node js 프레임워크
→ Express.js (최근 가장 많이 쓰는 것 같다. 처리속도가 엄청나다고 한다.)
→ Koa
- 대표적인 Ruby 프레임워크
→ Rails
→ sinatra
- 대표적인 Java 프레임워크
→ Play
→ Spark
→ Spring
- 대표적인 PHP 프레임워크
→ Laravel
→ Code igniter
- 대표적인 .NET 프레임워크
→ asp.net
참조 : http://elky.tistory.com/652 , https://tutorialzine.com/2016/12/the-languages-frameworks-tools-you-should-learn-in-2017
여기는 찾아보면 정말 어질어질 할 정도로 많다. 각각의 장단점이 있을 것이다.
위는 Front-End 와 Back-End를 정리 해보았다. 그럼 이 두가지를 합쳐서 부르는 말은 무엇일까?
바로 Full-Stack 이라고 한다고 한다.
여기에서는 DB에 대한 내용을 포함하고 있지 않다. 다른 영역으로 빼 놓았기 때문이다.
하지만 Back-End에서는 빠질수 없는 영역이다. 양이 많아서 나중에 포스팅 할 예정이다.
오픈소스프로젝트가 너무 많아져서 머리가 너무 복잡했는데 이제 좀 정리가 된 느낌이다.
그래도 몇일지나면 또 헷갈릴 것이다...