[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)를 함께 보는 것도 좋습니다.(이 글과는 또 다른 시각에서 본 사례 연구입니다)

api C++ c++builder c++빌더 code database Delphi fmx IDE ideas interbase ios migration modernization news python radstudio RAD스튜디오 tips UI UIUX vcl windows 개발 개발사례 개발팁 교육 기술레터 기술백서 데이터 데이터베이스 델파이 마이그레이션 모바일 윈도우 윈도우11 인터베이스 출시 코드 파이썬 파이어몽키 프로그래밍 프로젝트 현대화