Front end
사용자가 웹 사이트 또는 웹 애플리케이션의 URL을 입력하거나 모바일 애플리케이션을 다운로드할 때, 레이아웃, 인터페이스를 보게되는데 이렇게 사용자가 마주보는 인터페이스를 'Front end'라고 부릅니다.
사용자에게 편리함을 제공하기 위한 사이트의 구성 및 기능 담당인 UX Design이 있으면 UXDesign을 토대로 디자인을 입히는 역할인 Web Design, 그리고 이러한 디자인을 어플리케이션으로 구현하는 Front-End develope가 있습니다.
HTML, CSS, JAVASCRIPT 등을 이용해서 개발하며 AngularJS, ReactJS, Bootstrap 등의 개발 도구들이 있습니다.
Back end
사용자의 눈에 직접 보이지는 않지만 소프트웨어 개발의 일부분입니다. 소프트웨어 개발 프로세스에서 서버 측 개발 분야입니다. 데이터를 저장하고 관리하며, 사용자 측에서 웹사이트를 매끄럽게 사용할 수 있도록 해줍니다.
Back end에서는 Front end에 있는 사용자들이 취하는 행동들을 처리합니다. 따라서 사용자들은 Front-end를 이용함으로써 Back-end에 간접적으로 액세스 하는 것 입니다. 서버 환경설정, 구성 관리를 담당하는 서버 관리, Data Base를 설계하고, DATA를 관리하는 DB관리,그러한 것들을 최적화하고 개발할 수 있는 환경을 제공하는 Back-End develope가 있습니다.
PHP, Node.js, Javascript, C++, Java, Python 등을 이용해서 개발하며, Express, Laravel, C# 등의 개발 도구들이 있습니다.
Full stack
초기 웹과 현재의 웹은 정말 많이 달라졌다고 합니다. 정보 공유와 단방향 커뮤니케이션이 대부분이었던 웹언어, 네트워크, 데이터베이스 등 관련된 모든 것들이 발전하면서 웹상에 다른 기능들이 추가되고 서비스를 제공하면서 다른 모든 부분들이 연결되어 있고, 연관되어 있기 때문에 상호 이해와 지식을 점점 더 필요하게 되었습니다.
Front end에서 개발하는 UI, UX 구현과 Back에서 개발하는 API와 같은 기능들의 구현 등을 전체적으로 다룰 수 있어야 합니다.