프론트엔드의 개념
사용자는 웹 사이트 또는 웹 어플리케이션의 URL을 입력하거나 모바일 어플리케이션을 다운로드할 때 사용자들은 매우 깔끔한 레이웃을 가진 인터페이스를 보게 됩니다.
이렇게 사용자에게 보여지는 인터페이스를
프론트엔드라고 말하며 사용하기 쉽고
완전한 기능을 갖춘 인터페이스를 갖추었을 때에 사용자들의 수요를 만족시킬 수 있기
때문에 매우 중요한 요소가 됩니다.또한 기업의 입장에서 타 업체와의 경쟁력을 유지하기 위해서는
매끄럽게 동작하는 강력한프론트엔드를 구축하는 것이 매우 중요합니다.
프론트엔드 개발
프론트엔드 개발은 주로
웹및모바일 솔루션의 사용자 인터페이스(UI)와
사용자 경험(UX)를 만드는 데에 초점을 두고 있습니다.시선을 사로잡는 프론트엔드를 만드는 데에는
HTML,CSS,JS(JavaScript)가
중요한 역할을 하고 최종적인 사용자 인터페이스를 디자인하기 전에는목업(모형),
와이어 프레임(시각적 설계 도면)그리고 클릭을 할 수 있는프로토타입을
만들어야 하며 이런 도구들은 어플리케이션의 UX 내부의 이슈들을 확일할 수 있도록
도와줍니다. 즉 영향력 있는 프론트엔드 개발이 수월해지게 됩니다.
1. HTML(Hyper Text Markup Language) :
하이퍼 텍스느는 웹 페이지들 사이의 연결(하이퍼링크)를 나타내고
반면에마크업언어는 데이터를 기술하는 언어입니다.
- 한 마디로 문서가 화면에 표시되는 형식을 나타내거나 데이터의 논리적인 구조를
명시하기 위한 규칙들을 정의한 언어의 일종이라고 할 수 있는데 웹 페이지의문단,
동영상,제목,표등을 정의 및 구조와 의미를 정의하는 데에 사용됩니다.2. CSS(Cascading Style Sheets) :
- 종속 스타일 시트의 약어로 단어의 뜻에서 유추할 수 있듯이 CSS는
마크업 언어로 작성된 것이 실제로 화면에 어떻게 보이는지 그스타일(표현)을
정해 주는 언어이며 HTML 콘텐츠를크기,색상,위치등을 변경함으로써
시각적으로 보기 좋게 꾸미는 디자인을 담당합니다.
CSS는 개발자가 웹 페이지에 다양한 스타일을 적용할 수 있게 도움으로써
어플리케이션 페이지를 표시하는 프로세스를 보다 단순하게 만들어줍니다.
- 한 번에 여러 웹 페이지의 레이아웃을 제어할 수 있어 일일이
디자인을 적용해야 할 수고스러움을 덜어줍니다.3. JS(JavaScript)
HTML과CSS가 결합되어 웹페이지 상에 업로드 된다고 끝나는 것이 아닌
그것이 실행이 되어야 의미가 있는데 스크립트 언어인JS는HTML과CSS를
통해 만들어진 웹 페이지가 동작하도록 만들어줍니다.
객체 기반 언어이며 객체 지향형 프로그래밍과 함수형 프로그래밍 모두 표현이
가능한 것 뿐만 아니라 동적이며 소스 코드를 직접 해석하여 바로 실행할 수 있는
인터프리터 언어이기 때문에타입(변수의 자료형)을 명시할 필요가 없습니다.
- 결과적으로
웹 사이트의 기능성을 향상하는 데에 사용되고
웹 기반의 S/W 또는 게임을 실행할 수 있게 해주는 역할을 합니다.
백엔드의 개념
백엔드는웹 사이트나웹 어플리케이션또는모바일 솔루션의 프로세스와
관련된서버 측(Server-Side)과 DB를 관리해주는 기술입니다.프론트엔드가 사용자의 눈에 보이느 UI를 다루는 영역이었다면
백엔드는 눈에 보이지 않는서버에서 작동하는 기술을 다룹니다.
백엔드 개발
백엔드는 S/W 개발 프로세스서서버 측 개발 분야이고 데이터를 저장/관리하며
웹 사이트의 클라이언트 측(Client-Side)에서 모든 것이 매끄럽게 작동할 수 있게
해줍니다.
- 사용자들이 직접 보거나 상호작용을 할 수는 없지만 S/W 개발의 부분 중 하나이고
백엔드에서는 프론트엔드 상에서 사용자들이 취하는 행동들을 처리하는데 이말은 즉
사용자들은 백엔드에 간접적으로 액세스한다는 뜻 입니다.
- 백엔드 개발에서는 사용자 인터페이스가 없는 시스템 컴포넌트 작업, API 작성,
라이브러리 생성, DB 통합 등 다양한 활동들이 포함되어 있습니다.
잡코리아 취업뉴스 참고글백엔드 주사용 언어
백엔드는 프론트엔드에 비해 프로그래밍 언어 선택의 폭이 넓으며 어떠한 언어라도
개발이 가능한 편이라 언어 종류에 대한 제약사항이 크지 않은 편입니다. 따라서
백엔드에서는 각 언어가 가진 특성과 작업물 및 작업 방향과의 일치성 등을
고려하여 필요한 언어를 선택하는 것이 좋은 방법입니다.1. JS(JavaScript) :
앞서 프론트엔드 때 언급했던JS는 백/프론트 모두 사용이 가능하며 웹은 물론
모바일 하이브리드 앱, 서버 사이드(Node.js), 데스크톱, 머신러닝(TensorFlow)
등 다양하게 활용되고크로스 플랫폼에서 중요한 역할을 하는 인기 언어입니다.
(크로스 플랫폼 : 둘 이상의 다양한 플랫폼에서 실행 가능한 S/W )2. JAVA :
객체지향 프로그래밍 언어인 자바의 가장 큰 특징은플랫폼 종속성이 낮다는 것
인데 OS에JVM(Java Virtual Machine)을 설치하면 Java 기반의 프로그램은
어떠한 환경에서도 완벽히 정상적으로 작동하고 특정 플랫폼에 의존하지 않는
독립성을 갖추고 있습니다.(생산성, 안정성, 기기 호환성, 소스코드 가독성 우수)3. Python :
개발자들이 시스템을 효율적으로 통합하고 빠르게 작업할 수 있게 해주는 최고의
프로그래밍 언어인 파이썬은딥러닝,데이터 사이언스,인공지능분야에서
많이 사용되고 위와 같이 여러 기능을 수행할 수 있는 이유는 파이썬의 문법이
비전공자들도 배우기 쉬울 뿐만 아니라 응용력이 좋기 때문입니다.4. PHP(Hypertext Preprocessor) :
개발을 위해 고안된서버 측 스크립트 언어이자 수많은 웹 시스템의 기반이 되는
언어이며 브라우저가 서버에 웹 페이지를 요청하면 서버는 그 웹 페이지를 보내는데
이 때 필요한 것이PHP입니다.웹 페이지를 동적으로 생성하고 서버와 클라이언트 간에 데이터 상호작용을
처리하며PHP는HTML코드 내에서 사용되어 웹 서버가 이를 해석하고
동적 HTML 문서를 생성하며 DB와 상호작용하여 데이터를 저장하고 표현하는
역할을 담당합니다.