앱을 개발하는데 앞서 예산이 어느정도 인지, 개발 기간이 얼마나 필요한지, 구현하고자 하는 앱의 기능의 무엇인지, 효율 적인개발 방식을 고려하면, 웹과 앱 개발 방식이 달라진다고 합니다. 그래서
웹, 반응형 웹, 웹 앱, 네이트브 앱, 하이브리드 앱의 차이점을 알아 보려고 합니다.
웹 ( Web )
world wide web의 준임말로서 멀티미디어(문자,영상,음성 등)의 정보를 마치 거미줄과 같은 통신망으로 세계 각지에 연결시켜주는 서버를 의미합니다. 인터넷에서 흔히 사용되는 크롬, 사파리, 파이어폭스, 엣지 등의 웹 브라우저를 통해 동작하는 것을 말한다.
즉 인터넷에서 정보를 이용하기 위해선 브라우저라는 프로그램이 필요하고 브라우저는 서버에 필요한 정보를 요청하여 정보를 받아오게 된다. 이때 사용하는 통신방식이 HTTP 이며, HTTP 응용 프로그램으로 OS에 따라 ASP, PHP, JSP 등을 사용한다.
반응형 웹 (Responsive Web)
하나의 웹에서 PC, 스마트폰, 대블릿PC 등 접속하는 디스플레이의 크기에 따라 자동으로 변하는 웹을 말합니다.
웹 사이트를 PC용과 모바일용으로 각각 제작하지 않고 하나의 웹사이트를 만들어 다양한 디바이스에 대응할 수 있습니다.
HTTP란?
Hyper Text Transfer Protocal의 약자로 하이퍼텍스트 문서를 교환하기 위하여 사용된 통신 규약이다.
웹 서버와 클라이언트간의 통신을 하기 위한 통신 규약이라고 볼수있다.
HTTP 동작과정
HTTP 동작과정
naver에 접속하는 방법으로 예시를 들어보면
1. URL 입력 : 웹 브라우저를 켜고 www.naver.com을 입력한다.
2. IP주소로 변환 : 우리는 알기 쉽게 www.naver.com 이라고 입력하지만
사실 해당 서버의 아이피 주소를 확인하여 판단하기 때문에 www.naver.com 이라는 주소를 DNS 서버에서 IP주소로
변환시켜준다.
3. HTML 페이지 요청DNS가 IP주소로 변환해주면 해당 IP주소로 HTML 페이지 네이버 서버의 메인HTML페이지를 요청한다.
4. 웹 서버에서 요청 내용을 분석하고 메인HTML 파일을 읽는다.
5. 웹 브라우저에게 HTML 파일을 전송한다.
6. 웹 브라우저에 HTML 태그를 분석 한뒤 화면을 구성해준다.
웹 앱 ( Web App)
모바일 화면에 맞게 개발된 웹 페이지
즉 모바일을 고려해서 설계된 웹 페이지로 스토어를 통한 설치가 불가능하고
웹브라우저를 통해서 접속이 가능하다.
스마트폰의 기능을 사용할 수 없다는 단점이 있다. (ex 카메라 QR코드 등)
하이브리드 앱 ( Hybrid App )
네이티브 앱과 웹 앱의 기능의 결합한 것입니다.
앱을 구동시키면 웹 페이지를 불러오는 방식으로 겉은 앱이만 속은 웹으로 만들어졌기 때문에 웹과 네이트브앱의 장점을 가지고 있는데 웹의 장점인 실시간 업데이트가 가능하고, 웹 기술로 비교적 쉽고 빠르게 만들 수 있습니다. 더해서 몇몇 모바일하드웨어의 기능도 사용할 수 있습니다.
한번의 개발로 다수의 플랫폼에서 구동이 가능하여 웹과 앱 서비스 모두 제공하는 업체에서 선호합니다.
네이티브 앱 ( Native App)
웹 앱, 하이브리드 앱과 비교했을때 성능이 가장 좋으며,
흔히 말하는 스마트폰 앱, 애플리케이션을 말하며, 모바일기기에 최적화 되어 있습니다.
안드로이드 SDK를 이용해 Java언어로 만든 앱과 IOS 기반 SDK를 이용해 Swift로 제작이 가능하며,
스토어를 통해서 다운로드하고 해당 OS(Android, IOS)에서만 구동이 가능합니다.
스마트폰에 저장된 고유 정보나 카메라등의 하드웨어 제어 기능을 사용 할 수 있습니다.
하지만 높은 수준의 기술력이 필요하고 안드로이드와 IOS를 따로 개발해야 하므로 많은 인력과 오랜 작업시간이 필요합니다.