- 다양한 주제에 대해 자유롭게 글을 작성하는 게시판입니다.
Date 15/11/17 13:49:26
Name   Toby
Subject   웹 프론트엔드(front-end)란?
저는 웹 프론트엔드 개발자입니다.
영어로는 Web front-end Developer.
HTML, CSS, Javascript 작성을 주 업무로 한다는 뜻입니다.

저는 그 중에서도 HTML, CSS를 좀 더 집중적으로 다루는 마크업 개발자인데요.
(웹퍼블리셔라는 명칭으로 알고 계시는 분들도 있을겁니다. 네. 제가 그거 하는 사람이에요.)

디자이너가 포토샵으로 만든 웹사이트 디자인을 코드로 변환하는 작업을 하는 사람이라고 생각하시면 쉽습니다.
아래 주소의 영상을 보면 제가 하는 일이 어떤 일인지 대충 살펴보실 수 있을 것 같네요.
(제가 찍은 영상은 아닙니다.)

https://www.facebook.com/remainweb/videos/726851234087867/


HTML, CSS, Javascript가 하는 역할을 각각 나누면 다음과 같습니다.

HTML : 문서의 내용을 담는다
CSS : 그 내용에 디자인을 입힌다
Javascript : 그 내용에 동작을 추가한다


예를들면 이렇습니다.

<h1>예제 코드</h1>
<p>Front-end 역할 설명을 위한 예제입니다.</p>
<button id="xxx">누를 수 있는 버튼</button>

이게 HTML입니다.
예제코드라는 제목과, 짧은 설명글과, 버튼 하나. 라는 [내용]을 담고 있는 [문서]를 만들었습니다.

여기에 CSS를 통해 스타일을 입힙니다.
CSS 코드는 다음과 같이 작성합니다.

h1 {font-size: 20px; font-weight: bold;}
p {color: green;}
button {background: #bc132b; color: #FFF;}

제목은 20px크기로 두껍게, 본문은 초록색 글씨로, 버튼은 붉은색 배경에 흰색 글씨로 보이게 하라는 뜻입니다.
위에 작성한 예제 HTML에 이 CSS를 적용하면 다음과 같은 화면이 됩니다.

예제 코드

Front-end 역할 설명을 위한 예제입니다.




Javascript는 다음과 같이 작성합니다.

document.getElementById("xxx").addEventListener("click", abc);
function abc() {alert('눌렀냐!');}

xxx라는 버튼을 클릭했을 때 '눌렀냐!'라는 메시지를 보여주는 [동작]을 하는 것이지요.
우리가 흔히 생각하는 '프로그래밍'을 하는 작업은 Javascript에서 이뤄집니다.


위의 예제는 서버와 통신하는 작업은 전혀 없습니다.
클릭하면 메시지를 띄우게끔 되어있기는 합니다만, 그건 사용자의 브라우저 상에서 이뤄지는 작업일 뿐 서버와 통신해야 할 이유가 없으니까요.
눌렀을 때 서버상에 누른 횟수를 집계 하고자 한다면 그 때 서버와의 통신이 필요하겠지요.

이렇게 서버를 통하지 않고 사용자의 브라우저에서만 동작하는 특성을 가진 언어인 HTML, CSS, Javascript를 Front-end라고 부릅니다.
Front는 앞, end는 단. 합쳐서 '앞단'이라는 뜻입니다.

앞단이 있으면 뒷단도 있겠지요.
그래서 웹개발에서는 서버 개발자를 Back-end Developer라고 부릅니다. 뒷단 개발자라는 뜻입니다.



사용자들이 보는 것은 앞단이지만 보이지 않는 뒷단에서도 많은 준비작업들이 있습니다.


원래 해보려고 했던 것은 CSS Drawing에 대한 이야기인데, 너무 길어지는 것 같아 다음에 하도록 할께요.



8


    목록
    번호 제목 이름 날짜 조회 추천
    공지 티타임 게시판 이용 규정 2 토비 15/06/19 36109 1
    16103 게임역대급 오픈월드 붉은 사막 개발기간은 사실 짧은 편이었습니다. 1 + 닭장군 26/03/27 177 1
    16102 IT/컴퓨터저만의 지식/업무/일정관리 시스템 정착기 3 (개인화) 6 스톤위키 26/03/27 351 1
    16101 IT/컴퓨터저만의 지식/업무/일정관리 시스템 정착기 2 (AI, AI, AI) 스톤위키 26/03/27 216 0
    16100 IT/컴퓨터저만의 지식/업무/일정관리 시스템 정착기 1 (GTD와 옵시디언) 3 스톤위키 26/03/27 390 0
    16099 일상/생각철원 GOP, 푸켓 쓰나미.... 제가 살아남은 선택들 게임으로 만들어봤습니다 1 큐리스 26/03/26 262 3
    16098 오프모임[등벙]용마산~아차산 코스를 돌까 합니다(3/28 토욜 아침즈음) 21 26/03/26 397 7
    16097 정치50조 원의 청사진과 2년간 멈춰있던 특별법 12 큐리오 26/03/26 560 0
    16096 일상/생각제3화: 2002년 겨울, 아무도 먼저 가려 하지 않았다 3 큐리스 26/03/26 227 4
    16095 일상/생각제2화: 1998년 가을, 그냥 편할 것 같아서 4 큐리스 26/03/24 308 4
    16093 일상/생각나의 윤슬을 찾아서 16 골든햄스 26/03/24 678 11
    16092 일상/생각제1화: 금요일 오후 5시의 공습경보 11 큐리스 26/03/24 562 9
    16091 음악[팝송] 미카 새 앨범 "Hyperlove" 김치찌개 26/03/24 215 2
    16090 방송/연예방탄소년단 광화문 콘서트, 어떻게 찍어야 할 것인가? (복기) 8 Cascade 26/03/23 793 22
    16089 일상/생각자전적 소설을 써보려고 해요~~ 5 큐리스 26/03/23 515 2
    16088 육아/가정말주머니 봉인 해제, 둘째 7 CO11313 26/03/22 584 20
    16087 게임[LOL] 3월 22일 일요일 오늘의 일정 발그레 아이네꼬 26/03/22 236 0
    16086 게임붉은사막 짧은 소감. 갓겜 가능성은 있으나, 덜만들었다. 6 닭장군 26/03/21 763 0
    16085 게임[LOL] 3월 21일 토요일 오늘의 일정 발그레 아이네꼬 26/03/21 242 0
    16084 영화[스포O] <기차의 꿈> - 넷플릭스에 숨어있는 반짝거림 당근매니아 26/03/20 388 1
    16083 게임[LOL] 3월 20일 금요일 오늘의 일정 1 발그레 아이네꼬 26/03/20 281 0
    16082 게임[LOL] 3월 19일 목요일 오늘의 일정 1 발그레 아이네꼬 26/03/18 306 0
    16081 일상/생각ev4 구입기 32 Beemo 26/03/18 1197 15
    16080 게임[LOL] 3월 18일 수요일 오늘의 일정 5 발그레 아이네꼬 26/03/17 332 0
    16079 일상/생각가르치는 일의 신비함 1 골든햄스 26/03/17 745 7
    목록

    + : 최근 2시간내에 달린 댓글
    + : 최근 4시간내에 달린 댓글

    댓글