본문 바로가기
공부하기/IT용어

[지식백과] Front-End(프론트엔드)와 Back-End(백엔드)

by 민트빵의 지구탐험 2021. 8. 6.

 

디자인 시안만 진행하다가 어느 순간 웹 프로젝트를 개발자 분들과 함께 진행 하면서 프론트엔드와 백엔드 개발 일정에 대한 얘기를 하게 되었어요. 그런데 정확히 프론트엔드와 백엔드의 구분이 무엇인지 궁금하더라구요. 

간단히 정리해 보면
프론트엔드(Front-End)는 사용자(user)와 직접 상호작용하면서 진행되는 개발분야이고,
백엔드(Back-End)는 사용자가 보이지 않는 곳에서 Front-End와 연동하여 기술적인 부분을 처리 개발분야입니다.



★ Front-End |

웹사이트에서 사용자들이 시각적으로 확인하고 상호작용하는 모든 것들이 프론트엔트 개발분야에요.
주로 웹 및 모바일 솔루션의 UIUX (사용자 인터페이스와 사용자 경험)을 만드는 것이 중점적입니다.
프론트엔드 파트 :  UX designer, Web designer, Front-End developer로 구성



- 프론트엔드 개발 사용 언어

① HTML : HTML은 하이퍼텍스트와 마크업 언어로 구성되어 있는데 하이퍼텍스트는 페이지들 사이의 링크를 정의해 주는 반면에 마크업 언어는 웹페이지의 구조를 정의하는데 사용됩니다.

② CSS : CSS는 종속 스타일 시트(Cascading Style Sheets)의 약자로 개발자가 웹페이지에 다양한 스타일을 적용할 수 있게 해줌으로써 애플리케이션 페이지를 표시하는 프로세스를 단순하게 만들어주는 디자인 언어입니다. CSS는 HTML보다 독립적으로 작동해서 각 웹페이지들을 보완해 줍니다.

③ Javascript : 자바스크립트는 인기가 많은 언어로, 사용자들을 위해 상호작용하는 애플리케이션을 만들 수 있도록 도와줍니다. 또한, 웹사이트의 기능성을 향상시키는데 사용되며, 웹 기반의 소프트웨어 또는 게임들을 실행할 수 있게 해 줍니다. 

 



- 프론트엔드 개발 테크놀로지

① AngularJS : 앵귤러JS는 오픈소스 자바스크립트 프레임워크로, 주로 싱글 페이지 웹 애플리케이션(SPA)을 만드는 데 사용됩니다. 앵귤러JS는 계속해서 발전하고 있으며, 개발자가 웹 애플리케이션을 더욱 잘 만들 수 있게 해주는 프론트엔드 개발 테크놀로지들 중 하나입니다. 앵귤러 JS는 정적(static) HTML을 동적(dynamic) HTML로 변환해주는 기능이 있습니다. 또한 오픈소스 테크놀로지이기 때문에, 누구나 자유롭게 사용할 수 있고, 변경할 수도 있습니다.

② ReactJS : 리액트는 프론트엔드 개발에서 사용할 수 있는 유연하고 효과적인 선언형(declarative)의 자바스크립트 라이브러리입니다. 뛰어난 사용자 인터페이스를 만드는 데 도움이 되죠. 리액트는 컴포넌트 기반의 오픈소스 라이브러리이며, 애플리케이션의 반응형 뷰 레이어(view layer)입니다. 이 기술은 페이스북이 개발해서 유지관리를 해오고 있습니다.

③ ​Bootstrap : 부트스트랩은 반응형 웹 애플리케이션 및 웹사이트를 개발하기 위해 사용되는 오픈소스 무료 도구입니다. 부트스트랩은 가장 인기 있는 자바스크립트, CSS, HTML 프레임워크이며, 모바일 우선의 반응형 웹사이트를 구축할 수 있게 해줍니다.


 ================================================================


★ Back-End 

백엔드는 소프트웨어 개발에서 서버 측 개발 분야로 데이터를 저장하고 관리하며, 웹사이트의 클라이언트 측(client-side)에서 모든 것이 매끄럽게 작동할 수 있게 해줍니다.

백엔드는 사용자들이 직접 보거나 상호작용할 수는 없지만 프론트엔드에 있는 사용자들이 취하는 행동들을 처리합니다. 백엔드 개발에는 사용자 인터페이스가 없는 시스템 컴포넌트 작업, API작성, 라이브러리 생성, 데이터베이스 통합 등 다양한 활동들이 포함되어 있습니다.

백엔트 파트 : 다양한 개발업무가 있는데 몇 가지 예를 들면 서버관리자, DB관리자, Back-End developer로 구성​됩니다.


- 백엔드 개발 사용 언어  

① PHP : 특별히 웹 애플리케이션 개발을 위해서 고안된 서버 측 스크립트 언어입니다. PHP는 서버 측에서 실행되기 때문에, 특히 서버 측 언어로서 많은 인기를 얻고 있습니다.

② Node.js : 노드는 크로스 플랫폼의 오픈소스 런타임(run time) 환경으로, 브라우저의 외부에서 자바스크립트 코드를 실행할 수 있게 해줍니다. 노드는 프로그래밍 언어도 아니고, 프레임워크도 아닙니다. 노드는 모바일이나 웹 어플리케이션용 API와 같은 백엔드 서비스 개발을 위해서 사용됩니다. 이미 페이팔, 우버, 월마트, 넷플릭스 등 포춘지 선정 500대 기업에서 많이들 사용하고 있습니다.

​③ Javascript : 앞서 프론트엔드 때 소개해드렸던 자바스크립트는, 프론트엔드 백엔드 모두에서 사용할 수 있는 프로그래밍 언어입니다.​

④ C++ :  요즘에도 경쟁력을 갖추기 위해서 가장 널리 사용되는 프로그래밍 언어입니다. 또한, 백엔드 언어로도 많은 인기를 얻고 있습니다.

⑤ Java : 가장 인기 있는 프로그래밍 언어들 중 하나이며, 개발자 커뮤니티에서 널리 사용되고 있는데요. 자바의 컴포넌트는 쉽게 사용할 수 있기 때문에 확장성이 아주 뛰어난 플랫폼이라고 말할 수 있습니다.

⑥ Python : 파이썬은 개발자들이 시스템을 효율적으로 통합하고, 빠르게 작업할 수 있게 해주는 최고의 프로그래밍 언어입니다.



- 백엔드 사용 테크놀로지

① Express : 웹 애플리케이션 구축에 사용되는 노드(Node.js)용 무료 오픈소스 프레임워크입니다. 익스프레스는 MIT의 라이선스에 의해 공개되고 있으며, API를 만들고 웹 애플리케이션을 구축할 수 있게 해줍니다.

② ​Laravel : 라라벨은 무료이며, 오픈소스인 PHP 웹 프레임워크입니다. 캐싱(caching), 라우팅(routing), 인증(authentication), 세션(session)과 같은 대부분의 웹 개발에서 사용되는 공통 작업들을 심플하게 만들어줍니다. 또한, 어플의 기능에 영향을 주지 않으면서 프로그래머에게 개발 프로세스를 간단하게 해주죠.

③ C# : 유연하면서도 강력한 프로그래밍 언어입니다. 다양한 종류의 애플리케이션을 만드는 데 사용될 수 있는데요. 이 기술은 개발 도구, 웹사이트, 컴파일러와 같은 다양한 프로젝트에 사용되고 있습니다. C#은 객체지향(object-oriented) 프로그래밍 언어를 만드는 데 도움이 됩니다.

 


원문 : https://medium.com/quick-code/front-end-development-and-back-end-development-what-is-the-difference-d84809f427ce

 

Front-end Development and Back-end Development — What is the Difference?

Whether you want to build a web application or a mobile app, front-end and back-end development is an integral part of it.

medium.com

 

 ================================================================

 



★ 풀스택 개발자(Full Stack developer) 

풀스택 개발자는 전체 애플리케이션 스택 이면의 기술들, 즉 현대적인 애플리케이션을 구성하는 다양한 기술 계층을 다룰 수 있는 역량을 갖고 있는 사람이다. 즉, 프론트엔드와 백엔드 개발 분야를 모두 진행하는 개발자를 말합니다. 

‘이론적’으로 보면, 풀스택 개발자는 사용자의 브라우저에 실행되는 자바스크립트 코드, 사용자가 데이터베이스에서 원하는 정보를 가져오는 MySQL 쿼리 모두를 처리할 수 있는 역량을 갖추고 있어야 합니다. 

“풀스택 개발자는 시작부터 끝까지 제품 개발 과정을 이해하고, 최소한 이에 대한 기본 스킬을 갖고 있는 사람이다.” 


원문기사 : https://www.ciokorea.com/news/116667

 

수요 높은 박학다능··· 풀스택 개발자란? 되는 방법은?

풀스택 개발자란 GUI 프론트엔드부터 데이터베이스 백엔드에 이르는 모든 소프트웨어 스택을 이해하는 개발자를 말한다. 그러나 이 용어가 남발됨에 따라 일부 논란이 일고 있다. 다재다능한

www.ciokorea.com

 

반응형

댓글