SlideShare a Scribd company logo
1 of 78
시소컴퍼니 안석현 CTO
웹/앱 기술 동향
웹/앱 아키텍쳐
• 일반적인 웹 서비스 아키텍쳐 구
성
웹 아키텍쳐
웹
서
버
웹
애
플
리
케
이
션
서
버
DB
웹
클
라
이
언
트
앱
클
라
이
언
트
운영체제
운영체제
윈도우
리눅스
-레드햇
-CentOS
-우분투
기타 등등 다양한 배포판
서버 배포
서버 배포
서버의 구성
자체 구축
IDC
데이터센터를 통한 서버 운영
회선 임대 및 서버 설치 후 서비스 운영
서버 배포
서버의 구성
클라우드
가상화 기술 기반
필요할때 서버를 빠르게 추가/제거 가능
서버 사이즈 유연성
사용한만큼 비용 지불
컨테이너
웹 서버
웹 서버의 역할
웹 서버 시장 점유율
• nginx의 성장세
• Apache의 꾸준한 수요
웹 서버
Nginx
• 비동기 이벤트 기반 구조
• apache는 요청당 프로세스/스레드 생성 및 처리
• 성능 & 경량화 등 이유로 Nginx 이용이 많아지는 추세
웹 애플리케이션 서버(WAS)
웹 애플리케이션 서버(WAS)
언어별 독자적 생태계
너무나 많은 프레임워크, 언어 등이 있어 모두를 이야기할수는 없습니다
.
주요 분야 및 그 환경에 따라 유행하는 프레임워크/언어를 소개합니다.
웹 애플리케이션 서버(WAS)
SE&SI
• 정부 중심의 외주 기반 서비스들
• ’전자정부 프레임워크’가 존재하는 Java / Spring 프레임워크가 주류
• 이전에 비해서는 위상 약화
• Netflix 등 지속적으로 사용 서비스가 있음
스타트업
• 신기술에 빠른 대응하는 편
• 빠른 구현이 중요
• python/django , node.js/express 등
• 마이크로서비스를 목적으로 프레임워
크의 도움 없이 이용하기도 함
• python의 경우, data science&ML에서
주요 도구로 사용됨.
• 최근에는 구글에서 개발한 Go 언어가
주목받고 있습니다.
웹 애플리케이션 서버
(WAS)
모노리틱 VS 마이크로서비스
• 모노리틱
• 모든 기능을 단일 프로젝트에서 처리
• 하나가 문제가 되면 전체 서비스에 지장 가능
• 마이크로서비스
• 각각의 기능을 작은 단위로 분할 및 배포
• 특정한 부분에서 에러가 발생해도 서비스 전체가 중단되지 않음
DB
DB
SQL기반
• MySQL & MariaDB
• MSSQL
• PostgreSQL
DB
NOSQL
• 비SQL 기반 데이터베이스들을 통칭
• 큰 단위의 데이터를 다루는것에 적합
• SNS들, 게임 등에서 많이 사용함.
웹 클라이언트
웹 클라이언트
• 웹표준(HTML5 CSS3 JS) 기반의 환경의 보편화
• 플래시 미지원
• 자바스크립트 기반으로 제작
주요 사용 기술
• 최근에도 JQuery등을 이용하여
DOM 조작 등을 시행함.
• AJAX-RESTful 등의 방식으로 비
동기적/실시간적으로 서버와 통신
• 직접 화면을 제어하기에는
JQuery만으로는 부족
웹 클라이언트
웹 클라이언트 프레임워크
웹에서도 앱에서 보이는것과 같은 모습을
보이고싶어!
앱 개발
게임같은 특수한 경우에는 게임 엔진을 이용하는 편입니다. (유니티/언리얼 등)
일반적인 앱 기준입니다.
IOS 개발환경
Objective C
Swift
Swift 쪽이 더 쓰기 편해요.
Android 개발환경
Java
Kotlin
사실 코틀린을 공식 개발 언어로 추가한 이유는 따로 있지만…
마찬가지로 Kotlin쪽이 더 쓰기 편해요.
IOS / 안드로이드의 공동 개발
• C#
• Xamarin
• javascript(node.js)
• Angular 기반 -> Ionic
• React 기반 -> React Native
• Vue 기반 -> Vue
• Dart
• Flutter
반드시 모든것을 앱으로 개발할 필요는 없습
니다.
• IOS/Android 앱
• 디바이스 종속적(카메라/푸시 등) 기능
• 네이티브로 개발
• 기타 상품페이지 등 기본 기능
• WebView(웹 브라우저)를 이용해 웹으로
개발
• 쿠팡같은 쇼핑몰
• 카카오톡 선물하기 기능
• 알게모르게 WebView를 많이 이용합니다.
하이브리드 앱
+a
• react-native-window
• 웹 클라이언트 프레임워크
• Electron 이용.
• Atom -> VS Code도 이걸로 만
듦
윈도우
• 구글이 차기 운영체제로 개발중
• 아직은 제한적
• 메인 개발 환경으로 Flutter 채용
퓨시아
형상 관리
복잡해 보이지만, 한마디로 소스코드 관리.
형상관리
Git / SubVersion
CD/CI
다 만들었는데,
귀찮게 이걸 내가 직접 서버에 올려야해?
적당히 알아서 컨테이너에 넣고,
컨테이너 웹 서버에 올리고 해줬으면 좋겠는
데.
• 미리 설정해두면 알아서 컨테이너
에 담아서 서버에 올리고 배포하
고 해줍니다.
• 오픈소스로 제공되는 대표가
Jenkins
• 대체로 설치형 대신 Circle CI,
Github actions
• 상용 CD/CI 툴 사용하는 경향
CD/CI
Git 실습
이제부터 이 폴더는 git으로 관리하겠습니다.
git init
서버에 있는 파일을 가져옵니다
Git clone
이 파일을 git으로 하는 관리에 추가합니다.
Git add
이 내용으로 임시저장합니다.
Git commit -m “변경내용 설명”
커밋한 내용을 서버로 보냅니다.
Git push
서버 내용을 당겨옵니다.
Git pull
git의 핵심
새 브랜치를 만듭니다.
Git branch
다른 브렌치로 옮겨갑니다. 기존에 커밋된 브랜치 내용은 안지워져요.
Git checkout
브랜치와 그 커밋을 하나로 합칩니다.
Git merge
웹:앱 기술 동향

More Related Content

What's hot

웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기JinKwon Lee
 
2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화
2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화
2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화Terry Cho
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page ApplicationSangmin Yoon
 
CSS Round Display KIG 발표자료
CSS Round Display KIG 발표자료CSS Round Display KIG 발표자료
CSS Round Display KIG 발표자료Hyojin Song
 
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용Jihyung Song
 
모바일 Rpg 게임서버 제작
모바일 Rpg 게임서버 제작모바일 Rpg 게임서버 제작
모바일 Rpg 게임서버 제작기환 천
 
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유Sang Seok Lim
 
유니티3D 그리고 웹통신
유니티3D 그리고 웹통신유니티3D 그리고 웹통신
유니티3D 그리고 웹통신현욱 김
 
Universal Rendering
Universal RenderingUniversal Rendering
Universal RenderingTaegon Kim
 
Angular 기본 개념 잡기
Angular 기본 개념 잡기Angular 기본 개념 잡기
Angular 기본 개념 잡기장현 한
 
캠프앱 개발 사례를 통해 본 하이브리드앱 어디까지 | Devon 2012
캠프앱 개발 사례를 통해 본 하이브리드앱 어디까지 | Devon 2012캠프앱 개발 사례를 통해 본 하이브리드앱 어디까지 | Devon 2012
캠프앱 개발 사례를 통해 본 하이브리드앱 어디까지 | Devon 2012Daum DNA
 
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)Sang Don Kim
 
자바가 디비와 사귀기 까지 벌어지는 일들
자바가 디비와 사귀기 까지 벌어지는 일들자바가 디비와 사귀기 까지 벌어지는 일들
자바가 디비와 사귀기 까지 벌어지는 일들cho hyun jong
 
스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처
스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처 스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처
스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처 Sungchul Park
 
Angularjs 도입 선택 가이드
Angularjs 도입 선택 가이드Angularjs 도입 선택 가이드
Angularjs 도입 선택 가이드NAVER D2
 
혁신적인 웹컴포넌트 라이브러리 - Polymer
혁신적인 웹컴포넌트 라이브러리 - Polymer혁신적인 웹컴포넌트 라이브러리 - Polymer
혁신적인 웹컴포넌트 라이브러리 - PolymerJae Sung Park
 
PHP로 웹개발을 해보자
PHP로 웹개발을 해보자PHP로 웹개발을 해보자
PHP로 웹개발을 해보자Young Min Shin
 
알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web AnimationsChang W. Doh
 
NAVER 오픈세미나 대구 (2014.08.01) - 오픈소스 라이브러리를 활용한 네이티브 어플리케이션의 데이터 저장과 통신
NAVER 오픈세미나 대구 (2014.08.01) - 오픈소스 라이브러리를 활용한 네이티브 어플리케이션의 데이터 저장과 통신NAVER 오픈세미나 대구 (2014.08.01) - 오픈소스 라이브러리를 활용한 네이티브 어플리케이션의 데이터 저장과 통신
NAVER 오픈세미나 대구 (2014.08.01) - 오픈소스 라이브러리를 활용한 네이티브 어플리케이션의 데이터 저장과 통신Sungwoo Choo
 
Front end 웹사이트 성능 측정 및 개선
Front end 웹사이트 성능 측정 및 개선Front end 웹사이트 성능 측정 및 개선
Front end 웹사이트 성능 측정 및 개선기동 이
 

What's hot (20)

웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기
 
2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화
2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화
2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page Application
 
CSS Round Display KIG 발표자료
CSS Round Display KIG 발표자료CSS Round Display KIG 발표자료
CSS Round Display KIG 발표자료
 
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
 
모바일 Rpg 게임서버 제작
모바일 Rpg 게임서버 제작모바일 Rpg 게임서버 제작
모바일 Rpg 게임서버 제작
 
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
 
유니티3D 그리고 웹통신
유니티3D 그리고 웹통신유니티3D 그리고 웹통신
유니티3D 그리고 웹통신
 
Universal Rendering
Universal RenderingUniversal Rendering
Universal Rendering
 
Angular 기본 개념 잡기
Angular 기본 개념 잡기Angular 기본 개념 잡기
Angular 기본 개념 잡기
 
캠프앱 개발 사례를 통해 본 하이브리드앱 어디까지 | Devon 2012
캠프앱 개발 사례를 통해 본 하이브리드앱 어디까지 | Devon 2012캠프앱 개발 사례를 통해 본 하이브리드앱 어디까지 | Devon 2012
캠프앱 개발 사례를 통해 본 하이브리드앱 어디까지 | Devon 2012
 
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)
[Td 2015]박애주의 office 365, 멀티플랫폼과 사랑에 빠지다(최한홍)
 
자바가 디비와 사귀기 까지 벌어지는 일들
자바가 디비와 사귀기 까지 벌어지는 일들자바가 디비와 사귀기 까지 벌어지는 일들
자바가 디비와 사귀기 까지 벌어지는 일들
 
스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처
스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처 스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처
스프링 코어 강의 3부 - 웹 애플리케이션 아키텍처
 
Angularjs 도입 선택 가이드
Angularjs 도입 선택 가이드Angularjs 도입 선택 가이드
Angularjs 도입 선택 가이드
 
혁신적인 웹컴포넌트 라이브러리 - Polymer
혁신적인 웹컴포넌트 라이브러리 - Polymer혁신적인 웹컴포넌트 라이브러리 - Polymer
혁신적인 웹컴포넌트 라이브러리 - Polymer
 
PHP로 웹개발을 해보자
PHP로 웹개발을 해보자PHP로 웹개발을 해보자
PHP로 웹개발을 해보자
 
알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations알아봅시다, Polymer: Web Components & Web Animations
알아봅시다, Polymer: Web Components & Web Animations
 
NAVER 오픈세미나 대구 (2014.08.01) - 오픈소스 라이브러리를 활용한 네이티브 어플리케이션의 데이터 저장과 통신
NAVER 오픈세미나 대구 (2014.08.01) - 오픈소스 라이브러리를 활용한 네이티브 어플리케이션의 데이터 저장과 통신NAVER 오픈세미나 대구 (2014.08.01) - 오픈소스 라이브러리를 활용한 네이티브 어플리케이션의 데이터 저장과 통신
NAVER 오픈세미나 대구 (2014.08.01) - 오픈소스 라이브러리를 활용한 네이티브 어플리케이션의 데이터 저장과 통신
 
Front end 웹사이트 성능 측정 및 개선
Front end 웹사이트 성능 측정 및 개선Front end 웹사이트 성능 측정 및 개선
Front end 웹사이트 성능 측정 및 개선
 

Similar to 웹:앱 기술 동향

Web os 전략 0912
Web os 전략 0912Web os 전략 0912
Web os 전략 0912우일 권
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론Hankyo
 
차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"Changhwan Yi
 
React native development
React native developmentReact native development
React native developmentSangSun Park
 
Web os세미나.v1.0.111510
Web os세미나.v1.0.111510Web os세미나.v1.0.111510
Web os세미나.v1.0.111510우일 권
 
엔터프라이즈 웹 동향 및 적용사례
엔터프라이즈 웹 동향 및 적용사례엔터프라이즈 웹 동향 및 적용사례
엔터프라이즈 웹 동향 및 적용사례욱래 김
 
하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)Changhwan Yi
 
Windows azure를 활용한 cloud 개발 사례
Windows azure를 활용한 cloud 개발 사례Windows azure를 활용한 cloud 개발 사례
Windows azure를 활용한 cloud 개발 사례정현 남
 
NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황NAVER Engineering
 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...JinKwon Lee
 
[145]5년간의네이버웹엔진개발삽질기그리고 김효
[145]5년간의네이버웹엔진개발삽질기그리고 김효[145]5년간의네이버웹엔진개발삽질기그리고 김효
[145]5년간의네이버웹엔진개발삽질기그리고 김효NAVER D2
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해Terry Cho
 
글로벌 웹사이트 구축을 꿈꾸는 당신에게: Azure WebSites and WebJobs
글로벌 웹사이트 구축을 꿈꾸는 당신에게: Azure WebSites and WebJobs글로벌 웹사이트 구축을 꿈꾸는 당신에게: Azure WebSites and WebJobs
글로벌 웹사이트 구축을 꿈꾸는 당신에게: Azure WebSites and WebJobsYoungjae Kim
 
모바일앱개발 교육자료
모바일앱개발 교육자료모바일앱개발 교육자료
모바일앱개발 교육자료JinHyuck Churn
 
MEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overviewMEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overview민태 김
 
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Channy Yun
 
Citrine소개서
Citrine소개서Citrine소개서
Citrine소개서logeo
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyondJae Sung Park
 

Similar to 웹:앱 기술 동향 (20)

Web os 전략 0912
Web os 전략 0912Web os 전략 0912
Web os 전략 0912
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론
 
차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"
 
React native development
React native developmentReact native development
React native development
 
Web os세미나.v1.0.111510
Web os세미나.v1.0.111510Web os세미나.v1.0.111510
Web os세미나.v1.0.111510
 
엔터프라이즈 웹 동향 및 적용사례
엔터프라이즈 웹 동향 및 적용사례엔터프라이즈 웹 동향 및 적용사례
엔터프라이즈 웹 동향 및 적용사례
 
하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)
 
Windows azure를 활용한 cloud 개발 사례
Windows azure를 활용한 cloud 개발 사례Windows azure를 활용한 cloud 개발 사례
Windows azure를 활용한 cloud 개발 사례
 
모바일환경과 개발방향
모바일환경과 개발방향 모바일환경과 개발방향
모바일환경과 개발방향
 
NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황
 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
 
[145]5년간의네이버웹엔진개발삽질기그리고 김효
[145]5년간의네이버웹엔진개발삽질기그리고 김효[145]5년간의네이버웹엔진개발삽질기그리고 김효
[145]5년간의네이버웹엔진개발삽질기그리고 김효
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 
글로벌 웹사이트 구축을 꿈꾸는 당신에게: Azure WebSites and WebJobs
글로벌 웹사이트 구축을 꿈꾸는 당신에게: Azure WebSites and WebJobs글로벌 웹사이트 구축을 꿈꾸는 당신에게: Azure WebSites and WebJobs
글로벌 웹사이트 구축을 꿈꾸는 당신에게: Azure WebSites and WebJobs
 
모바일앱개발 교육자료
모바일앱개발 교육자료모바일앱개발 교육자료
모바일앱개발 교육자료
 
MEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overviewMEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overview
 
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)
 
Citrine소개서
Citrine소개서Citrine소개서
Citrine소개서
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyond
 
One ASP.NET
One ASP.NETOne ASP.NET
One ASP.NET
 

웹:앱 기술 동향