검수요청.png검수요청.png

"프런트엔드"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
33번째 줄: 33번째 줄:
  
 
== 참고자료 ==
 
== 참고자료 ==
 +
* 프런트엔드 지식백과 -  https://terms.naver.com/entry.nhn?docId=3476764&cid=58439&categoryId=58439
 +
* 〈[http://blog.wishket.com/%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C-%EA%B0%9C%EB%B0%9C%EC%9E%90-vs-%EC%9B%B9-%ED%8D%BC%EB%B8%94%EB%A6%AC%EC%85%94-%EB%AC%B4%EC%97%87%EC%9D%B4-%EB%8B%A4%EB%A5%BC%EA%B9%8C/ 프론트엔드 개발자 VS 웹 퍼블리셔, 무엇이 다를까?]〉, 《위시캣》 , 2020-02-14
 +
* 프리모아,〈[https://blog.naver.com/freemoa1/221725999702 웹 퍼블리셔 & 프런트엔드 개발자 & 백엔드 개발자의 차이점!]〉, 《네이버블로그》 , 2019-12-03
 +
* 백엔드 지식백과 -  https://terms.naver.com/entry.nhn?docId=3473496&cid=58439&categoryId=58439
 +
* 오세용 기자, 〈[http://it.chosun.com/site/data/html_dir/2018/07/24/2018072402340.html (마소 393호) 웹 프론트엔드란?]〉, 《아이티조선》, 2018-07-25
 +
* 〈[http://blog.wishket.com/%ec%83%9d%ec%82%b0%ec%84%b1%ec%9d%84-%eb%b9%a0%eb%a5%b4%ea%b2%8c-%eb%86%92%ec%97%ac%ec%a3%bc%eb%8a%94-%ed%94%84%eb%9f%b0%ed%8a%b8%ec%97%94%eb%93%9c-%ea%b0%9c%eb%b0%9c-%ed%88%b4-10%ea%b0%80%ec%a7%80/ 생산성을 빠르게 높여주는, 프런트엔드 개발 툴 10가지]〉, 《위시캣》 , 2020-04-08
 +
* HTML 해시넷 - http://wiki.hash.kr/index.php/HTML
 +
* CSS 해시넷 - http://wiki.hash.kr/index.php/CSS
 +
* 자바스크립트 해시넷 - http://wiki.hash.kr/index.php/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8#.ED.99.9C.EC.9A.A9
  
 
== 같이 보기 ==
 
== 같이 보기 ==

2020년 7월 29일 (수) 15:31 판

프런트엔드(front end)란 컴퓨터와 사용자 사이의 인터페이스(I/F) 부분을 말한다. '앞단', '뷰단'(view端) 또는 '사용자단'이라고 부른다. 웹사이트의 디자인, 메뉴, 폰트, HTML, CSS, 자바스크립트 등이 있다. 반대말은 백엔드(back end)이다.

개요

프론트엔드는 사용자 인터페이스를 가지고 동작하며 프로그램 인터페이스와 서비스의 최초 사용자와 관련된 특성을 나타내는데 사용되는 용어이다. 여기서 “사용자”란 사람 또는 프로그램이 될 수 있다. 프론트엔드 응용프로그램은 사용자들과 직접 상호작용을 하는 프로그램이다. 프론트엔드 응용프로그램은 사용자와 직접 인터페이스할 수 있으며, 요구된 데이터를 얻거나 요구된 서비스를 수행하기 위하여 원격지의 다른 컴퓨터에 위치한 백엔드 프로그램으로 요구를 전달한다. 클라이언트/서버 컴퓨팅 모델과 비교한다면, 프론트엔드는 클라이언트로, 백엔드는 서버로 이해할 수 있다.[1]

비교

  • 웹퍼블리셔
간단하게 퍼블리싱을 주로 하는 사람을 뜻한다. 퍼블리싱은 웹 사이트를 제작할 때, 웹 디자이너가 디자인한 것을 웹 표준성과 접근성에 부합하도록 재정리하는 것이다. 퍼블리셔는 퍼블리싱을 목표로 웹 디자인 작업과 코딩으로 웹 사이트를 제작하고 편집하는 일을 한다. 사실 퍼블리셔는 우리나라에서만 사용하는 단어로, 프런트엔드 개발자와 구분 짓기 위해 사용된다. 퍼블리셔가 되면 주로 HTML과 CSS 중심의 업무를 담당하게 된다.[2]
'웹 표준' 및 '웹 접근성'의 전문가이며, 추가적으로 클라이언트의 요구에 맞춘 웹 사이트를 만들기 위해 기획자와 개발자 간의 커뮤니케이션을 도와줄 수 있는 사람이라고도 말할 수 있다. 웹퍼블리셔에게 필요한 기술적인 스킬은 포토샵, 일러스트 디자인 툴 사용, 웹상에 구현하는 드림위버, HTML5, CSS3와 동적인 구동을 하는 자바 스크립트 프레임워크(React, Angular 등)나 jQuery 사용이 있다. 더 나아가 사용자 중심의 디자인 구현을 위해 사용자 경험(UX, User Experience)과 사용자 인터페이스 디자인에 대한 지속적인 관심과 학습이 필요하다.[3]
  • 백엔드
클라이언트와는 직접 대면하지 않으나, 프런트엔드 프로그램과 연동하여 기술적인 기능을 하는 프로그램을 말한다. 프런트엔드와는 반대되게 사용자 인터페이스 없이 프로세스 형태로만 존재한다. 백엔드 응용프로그램은 보통 요구되는 자원들에 가깝게 있거나 또는 요구되는 자원들과 교신할 수 있는 능력을 가지는 등을 통해 프런트엔드 서비스를 간접적으로 지원한다. 프런트엔드와 직접 상호 작용할 수 있지만, 보다 일반적인 것은 중간에 또 다른 프로그램이 개입되어 프론트엔드와 백엔드의 활동을 조정한다.[4]

역사

초창기 웹 프론트엔드 개발은 사용자 인터페이스를 개발하는 영역이었다. 그런데 지금의 프론트엔드는 상황이 많이 달라졌다. 초창기 프론트엔드는 이미지나 와이어 프레임 등을 이용해 웹 페이지를 그리거나 만들거나, 콘텐츠를 정의하기 위해 HTML과 CSS를 작성하는 것이었다. 하지만 최근 프론트엔드는 사용자 경험(UX, User Experience)을 고려해 디자인과 엔지니어링의 정의부터 웹 표준, 웹 콘텐츠 접근성, 다양한 디바이스 고려, 보안 측면 대응까지 다양한 요구를 만족해야 하는 수준까지 왔다.[5]

초창기엔 대부분의 웹 개발자들이 웹사이트는 물론이고, 백엔드 웹 애플리케이션까지 개발해야했었다. 프런트엔드에 앵귤러(Angular), 리액트(React), 뷰(Vue)와 같은 최신 프레임워크가 도입되었고, 브라우저에서는 불가능하다고 생각되었던 수많은 기능을 지원하는 최신 브라우저가 등장했으며, 웹지엘(WebGl)과 같은 그래픽 엔진까지 나타나면서 개발자들은 이제 프런트엔드 개발에 좀 더 집중할 수 있게 되었다.[6]

특징

웹 프론트엔드를 개발하기 위해서는 다양한 기술이 필요하다. 그 영역을 외관, 아키텍쳐, 적합성, 생태계, 언어, 프로토콜, 브라우저, 유아이 컴포넌트, 워크플로우 등으로 구분할 수 있다. 외관은 웹사이트에서 밖으로 보이는 부분으로 애니메이션, 타이포그래피, 시각화로 구분된다. 아키텍처는 프론트엔드 구조 및 설계 규칙 등으로 알고리즘, 디자인 패턴, 함수적 프로그래밍 등을 고려한다.[5]

이중 언어 기술인 이 중 언어 기술인 HTML, CSS, 자바스크립트 세 가지가 가장 기본이 된다. HTML은 웹 페이지의 구조를, CSS는 웹의 스타일을 구성하며, 웹의 동적 기능은 자바스크립트가 담당한다.[5]

  • HTML
Hyper Text와 Markup Language의 약자로서, 인터넷 웹사이트 등 하이퍼텍스트를 편집하기 위한 코딩 언어이다. 최초 제안자는 1980년 유럽 인자 물리학 연구소에서 연구중이던 물리학자 팀 버너스-리(Tim Berners-Lee)이다. HTML은 문서의 글자색, 글자모양, 글자크기, 이미지 배치, 문서 이동 등등 이렇게 문서 작성에 관여되는 부분들을 정의하는 명령어로서 홈페이지를 작성하는데 쓰인다. HTML은 정보를 불러오는 과정과 자신이 입력한 명령어에 대한 명령 입력과정에서 오류가 발생하는 경우가 종종 있어서 이를 보완하기 위해 JavaScript, AJAX 같은 여러가지 스크립트들과 같이 쓰일 수도 있다. 사람들이 편리하고 쉬운 이유로 많이 쓰기 때문에 '웹'으로 시작하는 직업들의 기초 상식이라고 볼 수 있다.[7]
  • CSS
Cascading Style Sheets의 약자로서, 웹 문서의 색상, 폰트, 레이아웃 등을 표현하기 위해 사용하는 스타일 시트 언어이다. CSS는 1994년 하콤 비움 리(Håkon Wium Lie)가 발명했으며 W3C(World Wide Web Consortium)에서 관리하였다. CSS는 웹 페이지의 모양과 느낌을 처리하고 텍스트 색상, 글꼴 스타일, 문단간격, 열크기 및 배치 방법 등 여러가지를 제어할 수 있다. CSS는 배우기 쉽고 이해하기 쉬우면서도 HTML 문서를 강력하게 제어할 수 있다. 보통 일반적으로 HTML과 XHTML에서 주로 쓰인다. HTML 만으로 웹 페이지를 제작할 경우에는 HTML 요소의 세부적인 스타일들을 따로 일일이 지정해 주어야 하는데 이 작업은 매우 많은 시간이 걸려 완성한 후에도 스타일의 변경 및 유지 보수가 매우 힘든데 CSS를 사용하면 웹 페이지의 스타일을 편리하게 개발할 수 있다.[8]
  • 자바스크립트
1995년 미국 넷스케이프(Netscape)의 브렌든 아이크(Brendan Eich)가 개발한 스크립트 프로그래밍 언어이다. 자바스크립트는 표준 HTML 문서 내에 삽입되어 사용되며, 인터랙티브한 웹 페이지를 만들 수 있게 한다. 자바스크립트의 장점은 다른 언어와 달리 컴파일 과정이 존재하지 않기 때문에 빠르게 스크립트 코드 작성과 실행이 가능하며 웹브라우저에서 동작하는 스크립트 언어이기 때문에 운영체제(OS)를 가리지 않고 프로그램의 실행이 가능하는 것이다. 또 웹브라우저에서 동작하는 스크립트 언어이기 때문에 운영체재(OS)를 가리지 않고 프로그래매 실행이 가능하다. 자바스크립트의 단점은 객체와 객체 함수가 제한적이어서 기능 또한 제한적이라는 점과 개발할 수 있는 도구가 적고 HTML 소스 코드 안에 포함되어 작성되기 때문에 소스 코드가 외부로 공개되서 보안상 취약점이 발생할 수 있다는 점이다.[9]

각주

참고자료

같이 보기


  검수요청.png검수요청.png 이 프런트엔드 문서는 인터넷에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.