[UX Summit 요약] 애플리케이션을 개발할 때 데스크톱부터 개발해야 하는 이유


애플리케이션을 개발할 때 데스크톱 부터 개발해야 하는 이유 (Why Desktop First to Develop an Application)를 요약했습니다.

(모바일 앱 보다는) 데스트톱 애플리케이션을 우선해야하는 상황과 고려 대상과 몇가지 사례를 제시합니다.

  • 플랫폼 선택 시 고려할 요소들을 여러분의 상황에 적용해보세요.
  • 모바일과 데스크톱앱 각각 어떤 쪽에 적합한지 사례를 참고하여 여러분의 상황에 적용해보세요.
  • [UX Summit 요약 / 사례연구] 모바일은 두 번째: 어떨 때 데스크톱에 우선 집중하는가?(https://tech.devgear.co.kr/466655)를 함께 보는 것도 좋습니다.(이 글과는 또 다른 시각에서 본 사례 연구입니다)

발표자 (Dr. Yılmaz Yörü)는 1988년 이후 다양한 플랫폼에서 개발해 온 엠바카데로 C++ MVP입니다.
Wherever you code, Keep coding…, Cuz We Love Coding!

데스크톱과 모바일이라는 컴퓨팅 용어 정의는 사실 애매하다.

*역자 주: 1940년대의 ENIAC에서부터 지금의 컨테이너형 슈퍼 컴퓨터, PLC시스템 등 다양한 컴퓨팅 장비를 예로 들고, 퍼스널 컴퓨터(PC), 모바일 폰 등등 다양한 용어를 통해 재미있는 화두를 던집니다. 하지만, 이 부분은 요약에서 제외하겠습니다.

모바일과 데스트톱 점유율 (Statcounter.com)

  • 전 세계적으로는 모바일 점유율이 더 높다.
  • 하지만, 북미 또는 유럽만 보면 데스트톱이 모바일보다 점유율이 더 높다.
  • 목표 시장이 선진국이면 데스트톱을 고려하는 것이 더 좋다.

운영체제 점유율 (Statcounter.com)

  • 안드로이드, 윈도우, iOS, OS X 순서

고품질 개발도구는 데스크톱에서 작동

  • 비주얼 스튜디오, RAD 스튜디오, 안드로이드 스튜디오, Xcode, 이클립스,…
  • 모바일 앱을 개발할 때조차 데스트톱을 사용한다.

개발용 애플리케이션을 기준으로 왜 데스크톱이 우선인지 이유를 보자.

하드웨어 파워

  • CPU 파워 (더 높은Core 갯수와 Fequency)
  • GPU 파워 (더 많은 GPU 지원)
  • 전력 파워 (더 높은 와트와 암페어 = 계산 능력)
  • 냉각 능력 (= 계산 능력)
  • 미디어 용량 (HDD / SSD / M.2 SSD)
  • 키보드와 마우스
  • 기타 하드웨어 옵션: PCI / PCI-e / USB / 7+1 사운드
  • 세상에서 가장 빠른 슈퍼컴들은 ARM기반이다. 슈퍼컴은 ARM기반이지만 모바일이 아니다.
  • 개발 환경은 하드웨어 파워가 좋을 수록 좋다.

한번에 볼 수 있는 코드 라인 수

  • 코드 한줄이라도 더 보이면 좋다 (나는 한줄이라도 더 보려고 태스크바도 왼쪽에 놓는다)

화면 크기

  • 코딩 작업 시 관련 도구를 모두를 사용할 만큼 커야 좋다(Debugger, Watch list, 런타임 앱, 바인딩…).
  • 앱 런타임, 표, 그래프, 파라미터, 숫자를 모두 보고 비교할 수 있을 만큼 크면 더 좋다.
  • 시뮬레이터를 통해 실행 정보를 개발 환경에서 직접 비교하는 것도 중요하다.
  • 개발 환경의 모니터는 충분히 큰 것이 좋다.

또렷함과 가독성

  • 표, 그래프, 바인딩, 이미지 위의 텍스트가 잘보여야 한다. (특히 엔지니어링 소프트웨어 개발 시)
  • 파라미터, 숫자의 변화를 이해하기 좋아야 한다.
  • 폰트, 폰트 크기, 색상, 대비를 통해 또렷함과 가독성을 높이면 좋다.

민감도

  • 손가락과 마우스 손가락과 마우스는 선택하는 범위에 차이가 있다.
  • 디자인, 코딩 작업 시 마우스 대신 손가락을 사용할 수는 없다.

소프트웨어 개발 주기

  • (순환) 계획-설계-컴파일-링킹-디버깅-개발-테스트-업로드(알파, 베타)-배포-업데이트-마케팅
  • 각 단계 모두 데스크톱을 주로 사용한다 (더 효과적이기 때문이다).
  • 심지어 배포할 때에도 많은 정보를 넣어야 하므로 데스크톱을 사용한다.
  • 분석이나 프로젝트 관리도 역시 데스크톱을 사용한다.

앱은 데이터베이스가 필요하다

  • 작은 게임을 하나 만들어도 대체로 온라인 DB가 필요하다.
  • 데이터베이스를 다루는 개발 또는 운영 환경 역시 데스크톱이다.

DB 사용 사례 1: AnaBilge1 (짧은 퀴즈 게임)

  • RAD스튜디오에서 C++로 개발된 FMX 앱
  • 구성
    • (윈도우용 데스크톱) 관리 프로그램: 관리자가 질문을 분석하고 임포트 
    • (데스크톱 / 모바일 겸용) 트리비아 앱
    • DB

DB 사용 사례 2: AnaBilge2 (오픈 교육용 음성 보조 앱)

  • (윈도우용) 관리 프로그램
  • 구성
    • (윈도우용 데스크톱) 관리 프로그램: 관리자가 데이터 입력 및 분석
    • (윈도우용 데스크톱) 음성 보조 앱: 개발과 테스트를 더 빠르게 할 수 있으므로 윈도우용을 먼저 개발
    • (안드로이드 모바일용) 음성 보조 앱
    • 서버
    • DB

DB 사용 사례 3: AnaKarikka (박물관용 파일 저장 및 3D 서비스)

  • RAD스튜디오에서 C++로 개발된 앱
  • 구성
    • (윈도우용 데스크톱) 관리 프로그램: 관리자가 소장품을 (워터마크, 정보 추가를 하여) 파일로 저장
    • (40” 터치스크린 용) 박물관 방문객에게 가이드를 제공하는 애플리케이션
    • DB

요약

  • 개발 전과정에서 데스크톱 애플리케이션은 매우 필요하다.
  • 모바일 앱은 온라인 데이터가 필요한 경우가 많다. 데이터 관리는 데스크톱 데이터베이스 앱이 적합하다.
  • 일부 모바일 앱을 위한 데이터 입력 등은 데스크톱 앱이 더 효과적이다.

역자의 의견

  • [UX Summit 요약 / 사례연구] 모바일은 두 번째: 어떨 때 데스크톱에 우선 집중하는가? (https://tech.devgear.co.kr/466655)를 함께 보는 것도 좋습니다.(이 글과는 또 다른 시각에서 본 사례 연구입니다)

12.0 13 13.0 13.1 AI C++ c++빌더 chatgpt DelphiCon ios rad서버 RAD스튜디오 UI UIUX UX vcl WebStencils 개발 개발사례 기술레터 기술백서 데브옵스 데이터 데이터베이스 델파이 리눅스 마이그레이션 맥 머신러닝 모바일 새버전 샘플 세미나 안드로이드 웹 윈도우 인공지능 인터베이스 출시 커뮤니티에디션 코드 클라우드 파이썬 파이어몽키 현대화