TIP 개발의 종류 및 구조 이해

       개발 구조별 개발자를 구분

       개발방식의 선택기준에 대한 이해 및 설명가능

<사전지식>

WEB - 브라우저 설치(익스플로러, 크롬, 엣지, 파이어폭스, 사파리 등)
WEB > 서버 > 브라우저 > 사용자
APP - 프로그램 설치(필요한 APP을 개별 설치해야 함)
APP > 서버 > APP설치 > 사용자

주의사항!
PC = WEB, 모바일 = APP 이 아님
PC(WEB or APP), 모바일(WEB or APP)
! 프로그램은 엄청난 종류가 있으나 WEB과 APP의 기본구조에 대해서 아는것으로 충분(그외 특화영역)

퍼블리싱 : 웹 기반, 디자인과 개발의 중간자 역할

 

개발의 구조

 

1. WEB 개발 구조

WEB 개발 구조

  • SSR(Server-side Rendering)

          서버 개발자(업무 구분만 정함)

  • CSR(Client-side-Rendering)

          Front/Back End 구분( Front/Back End 개발자 필요)

          FRONT-END <-> API(정보를주고받는약속, 프로그램) / BACK-END

 

2. APP 개발 구조

APP 개발 구조

* WEB, APP을 동시 개발시

  FRONT-END는 각각 개발이 필요,  BACK-END는 WEB, APP 개발 모두 필수

  BACK-END는 비지니스로직 개발 시 한번의 개발로 진행 가능(WEB이 CSR방식일 경우만 해당)

 

 

개발 방식의 종류

 

1. 모바일 웹 개발

  • 모바일 웹) 일반 웹페이지를 모바일에서 볼 수 있도록 하는 경우 사용
    정의 모바일을 위한 앱 페이지를 개발하는 것
    필요개발자 웹 개발자 + 퍼블리셔
    장점 - 웹 개발만 하면 되어 작업 리소스를 줄임
    - 유지 보수(수정) 시 서버 배포만 하면 됨
    단점 - 휴대폰의 고유 기능 사용 불편
    - URL 통해 접속
  • 반응형 웹) 간단한 예로 PC/모바일 웹을 별도로 개발하는 것이 아닌 한 페이지로 개발, 자동 변형
    정의 동작하는 기기의 화면과 해상도에 맞춰 웹페이지가 자동 반응하여 변하게 하는 개발
    필요개발자 웹 개발자 + 퍼블리셔 + 기획고민 추가
    장점 - 단순하고 가벼운 웹 페이지는 개발 리소스 절약
    단점 - 화면의 다양성과 복잡한 UI구성일 때는 오히려 비용과 효율이 떨어짐

 

2. 웹 앱 개발

  • 모바일 웹 수준의 개발 서비스를 제공(단, 전용 앱을 통한 서비스를 할 때))
    정의 모바일 웹에 앱의 외관을 씌운 개발
    (모든기능은 모바일 웹으로 개발하고 앱을 통해 서비스제공
    필요개발자 웹 개발자 + 퍼블리셔 + 앱개발자(적은비중)
    장점 - 웹 개발을 중심으로 하면 되어 작업 리소스를 줄임
    - 유지보수(수정) 시 서버배포만 하면 됨
    - 모바일 웹가 달리 전용APP
    단점 - 휴대폰의 고유 기능을 사용하기 어려움
    - 소수지만 운영을 위해 앱 개발 리소스 들어감

 

3. 네이티브 개발

  • 모바일의 고유 기능을 중심으로 서비스하는 앱을 만들때 많이 사용(ex. GPS, BLE, 카메라 등)
    정의 안드로이드, iOS 앱 개발
    필요개발자 백앤드 + 앱개발자(안드로이드,iOS)
    장점 - 휴대폰 고유 기능 등 앱에 최적화 된 개발
    - 모바일 웹에 비해 성능 부분이 우수
    단점 - 개발 리소스가 많이 들어감
    - 유지 보수 불편(앱 배포, 사용자 업데이트)

 

4. 크로스플랫폼 개발 (네이티브개발 보완)

  • 최근 많이 사용하는 트렌드로 네이티브 앱 대비 장점이 많음
  • BUT 아직은 크로스 플랫폼 개발자가 부족하여 퇴사 시 네이티브 개발자보다 구인이 어려움
    정의 네이티브 개발, 원소스 코드 개발
    필요개발자 크로스 플랫폼 개발자(React Native, Flutter 등)
    장점 - 개발의 리소스가 많이 줄어듦
    - 유지 비용도 줄어듦(1분류의 개발자만 필요)
    단점 - 네이티브 대비 기능의 섬세함 미흡
    - 현시점에서 크로스플랫폼 개발자 공급이 다소 부족

 

5.하이브리드 개발

  • 웹 앱과 네이티브 개발을 보완, 비중에 따라 다름
    정의 웹 앱 + 네이티브 혼합 방식
    필요개발자 서버 개발자 + 앱 개발자(안드로이드, iOS)
    장점 - 네이티브 웹 앱의 비중에 따라 양쪽 장점 채용
    단점 - 개발 리소스가 많이 들어감

 

개발 방식을 선택하는 기준
  • 제일 우선은 개발자 리소스
  • 가용한 앱 개발자가 많으면 네이티브 중심, 웹 개발자가 많으면 웹 중심
  • 업데이트가 빈번한 서비스는 웹 중심
  • 모바일의 기능이 중요하다면 네이티브 중심
  • 단순하고 가벼운 웹은 반응형, 복잡하고 보이는게 많다면 일반 웹 중심
  • 기본효율은 크로스플랫폼이 네이티브보다 좋으나,
    개발자 이탈, 기능의 디테일 혹은 성능의 다소간 저하 등의 리스크 고려가 필요

+ Recent posts