Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr

윈도우 개발에 도움이 필요하다는 7가지 신호


Recommended Posts

엠바카데로 블로그에 Muminjon이 쓴 "7 Signs You Need Help With Development On Windows"를 번역한 글 (원문 작성일: 2022년 3월 25일, 번역일: 2022년 4월 21일)

과거에는 소프트웨어 시스템 개발을 할 때 주로 데스크탑 애플리케이션을 주로 만들었다. 유틸리티, 작은 도구, 구조가 복잡한 앱 등 무엇이든 모두 데스크탑 애플리케이션이었다. 이후 인터넷 기술이 개발 세상을 바꿔 놓았다. 예를 들면, 당신이 앱을 만들면 모두가 자동으로 업데이트를 받을 수 있다. 하지만, 복잡한 시스템을 구축하기에는 당시 인터넷 아키텍처 인프라, 기반 프로토콜, HTTP 이나 HTML 같은 표준들이 충분히 준비되어 있지 않았다.

데스크탑 애플리케이션을 사용하면 웹 앱이나 모바일 앱으로는 도달할 수 없는 수준으로 때 생산성이 높고 성능이 매우 빠르기 때문에, 웹 앱과 모바일 앱에 대한 통계에도 불구하고 데스크탑 애플리케이션은 여전히 고유한 영역을 지배하고 있다. 많은 개발자들이 델파이, C++, C#을 가지고 프로젝트를 구축하는 이유가 바로 이것이다. 많은 경우 첫 선택은 윈도우로 개발하는 것이다.

목차


데스크탑 애플리케이션을 개발하는 이유는?

다음과 같은 이유들로 인해 당신은 개발을 할 때 데스크탑 애플리케이션을 만들게된다.

  • 성능이 훨씬 높다
  • 멀티-쓰레딩 앱이 훨씬 효율적이다
  • 하드웨어 장비에 접근하기 쉽다
  • 윈도우 데스크탑 애플리케이션 개발에 관한 전문가와 KB(축적된 지식)이 많다
  • 덜 복잡하고 쉽게 시작하기 쉽다

데스크탑 개발은 그 범위가 상당하기 때문에, 데브스탑 애플리케이션을 개발하는 도구 역시 수천가지에 이른다. 예상할 수 있겠지만, 모든 도구들이 효율적이거나, 사용하기 쉽거나, 윈도우의 최신 기능을 지원하는 것은 아니다. 이 글은 더 좋은 결과를 만들 수 있는 윈도우 소프트웨어 개발 도구에 대해서 논의한다.

 

복잡한 UI 디자인은 올바른 도구를 사용하면 훨씬 쉽게 구현할 수 있다

마이크로소프트는 어떤 애플리케이션도 만들 수 있도록, 모든 도구와 개발 라이브러리와 프레임워크를 제공한다. WPF, 윈도우 데스크탑 개발용 UWP, 크로스-플랫폼 앱 개발 용 MAUI 등이 그것이다. 그러나 UI(사용자 화면)를 디자인하려면 XAML을 사용해야 한다. 이와 달리 RAD 스튜디오의 델파이는 UI를 매우 빠르게 개발할 수 있는 환경을 제공한다. 시각적 컴포넌트 또는 기능 컴포넌트를 폼(form) 위에 끌어다 놓기만 하면 된다.
spacer.png

게다가, 크로스-플랫폼 앱 개발 프레임워크인 파이어몽키(FireMonkey)에서는 UI 요소 안에 다른 UI 요소를 놓아 둘 수 있기 때문에, 수준높은 UI가 필요할 때 특히 유용하다. 더 나아가, 스타일난 적용해도 UI/UX 전체를 완전히 다르게 바꿀 수 있다.

spacer.png

델파이의 시각적 컴포넌트 라이브러리 중 하나인 수상 경력이 빛나는 VCL은 윈도우 앱 개발 산업 분야에서 가장 안정적인 프레임워크이다. 이유는? 델파이는 27년이 넘도록 사용되고 있고 지금도 적극적으로 개발되고 있다. 그리고 20년 전에 델파이로 개발된 앱이 현대식 윈도우 운영체제와 장비에서도 여전히 잘 작동한다. 

델파이에서 크로스 플랫폼 반응형 UI를 구현하는 시각적 프레임워크인 파이어몽키(FMX)는 안드로이드, iOS, 맥OS, 리눅스, 윈도우, 웹 애플리케이션을 코드 베이스 하나에서 만들려고 할 때 사용하는 크로스-플랫폼용 고급 개발 프레임워크이다.

 

잘못된 도구를 선정하면 생산성이 낮아지거나 오히려 더 나빠지기도 한다spacer.png

화면이 있는 애플리케이션을 개발할 때 델파이는 시중에 있는 어느 GUI 개발도구보다 5배 이상 빠르게 개발할 수 있다. 델파이로 몇 초 만에 데스크탑 화면과 모바일 애플리케이션 UI를 아름답게 디자인 할 수 있다. 툴 팔레트에서 시각적인 컴포넌트와 기능 컴포넌트를 쉽게 끌어다 놓을 때는 시각적인 디자인 메뉴를 사용한다.

프로토타입을 더 빠르게 만들 수 있도록 디자인 화면에는 위치 보조선이 표시되고 여백(margin, 바깥쪽 여백)과 패딩(padding,안쪽 여백)을 사용할 수도 있다. 개발 화면에서 VCL 스타일을 사용해보라! 멋진 스타일이 반영된 UI를 훨씬 더 빠르게 만들 수 있다. 스타일이 적용된 폼과 컴포넌트가 실행 시 어떻게 보일 지는 개발 화면에서 바로 볼 수 있다.

 

더 좋은 코드 가독성은 더 좋은 생산성으로 직결된다

델파이를 사용하고 VCL 또는 FMX 프레임워크를 경험해 본 개발자는 크로스-플랫폼과 반응형 UI를 구축하는 것이 쉽고 UI/UX에 관련된 코드가 많이 필요없다는 사실을 알고 있다. 예를 들어 마이크로소프트의 UI 프레임워크를 사용한다면 복잡한 UI를 구축할 때  XAML을 사용해야 한다. 그래도 괜찮다고 생각할 수 도 있겠지만, 델파이의 VCL과 파이어몽키로 앱을 만들어 보게 된다면, 델파이로 앱을 개발하는 경험이 얼마나 좋은가에 대해 우리가 왜 이렇게 강조하는 지를 이해하게 될 것이다!

게다가, 델파이의 구문(syntax)은 현존하는 개발 구문(syntax)들 중에서 가장 쉽다. 다른 개발 구문에서는 띄어쓰기와 괄호 맞추기 등을 주의해서 작성하지만, 델파이로 코드를 작성하는 일은 마치 영어로시를 쓰는 것과 같다.

 

잘못된 도구 선정은 윈도우의 최신 기능을 당신의 앱에서 지원하지 못하게 된다는 의미가 될 수 있다

이로 인해 자칫 사용사의 사용성을 위축시킬 수도 있고 당신의 앱이 구식이고 퇴물이라는 인식을 사용자에게 줄 수 있다.

델파이의 시각적 컴포넌트 라이브러리 아키텍처는 매우 잘 구현되어 있어서 장비의 순수한 성능과 윈도우 운영 체제 개발 도구의 최신 기능들을 모두 얻을 수 있다. 

RAD 스튜디오 IDE(통합 개발 환경)에는 당신이 현대적인 윈도우 11 애플리케이션을 개발할 때 필요한 모든 도구들이 들어 있다. 예를 들어 윈도 11에는 웹뷰2(WebView2) 컨트롤이 들어 있는데, 델파이의 VCL에는 TEdgeBrowser가 있고 MSIX 배포를 부드럽게 할 수 있다. 게다가, 윈도우 11 최신 VCL 스타일들을 겟잇 패키지 매니저에서 받을 수도 있다.

spacer.png

 

윈도우 11에서 가장 눈에 띄는 시각적인 요소는 corners 같이 둥근 모서리가 적용된 UI 컨트롤들이다. 당신이 만드는 앱에서 윈도우 11 둥근 모서리를 제어하는 방법에 대해서는 Ian Barker (MVP)가 쓴 이 튜토리얼을 따라해보라.

spacer.png

마이크로소프트에서 진행되는 모든 변화를 보면, 윈도우 에코시스템 환경에 맞는 앱 개발에 있어서, 네이티브 윈도우 개발이 가장 중요하며 앞으로도 계속 중심을 차지하는 방향으로 가고 있다는 점을 파악할 수 있다. 델파이의 시각적 컴포넌트 라이브러리는 클래식 API와 현대식 API (WinAPI, COM, and WinRT APIs)를 모두 맵핑하고 현재 트렌드를 지원한다. 

spacer.png

새 네이티브 UI 프레임워크 – WinUI 3

윈도우 앱 SDK(Windows App SDK)에는 새 네이티브 UI 프레임워크인 일명 WinUI 3가 들어 있다. 윈도우 런타임 아키텍처에서 현재의 프레임워크는 WinUI 3이며, 델파이 애플리케이션에서는 이 WinUI 3 컨트롤을 쉽게 사용할 수 있다. 델파이 앱에서 WinUI 3를 활용하는 방법은 아래 이 튜토리얼을 통해서 배울 수 있다

 

느린 컴파일러가 당신의 개발 시간을 잡아먹고 있지는 않는가?

윈도우 데스크탑 개발 IDE는 여러 가지가 있고 모두 높은 생산성과 빠른 빌드/컴파일 시간을 약속하지만, 실제로는 모두 그렇게 되지 않는다는 사실을 알 수 있다. 델파이의 컴파일러는 시장에서 가장 좋고 가장 빠른 컴파일러 중 하나이다. 증거가 필요하다면 아래의 간단한 데모를 확인해보라:

빠르고 강력한 컴파일러 외에도, 델파이에는 신속한 애플리케이션을 개발하고 향상할 수 있는 방법들이 많다. RAD 스튜디오 IDE와 디버깅 기능을 지능적으로 활용하는 방법은 이 튜토리얼을 통해서 배울 수 있다.

 

당신이 사용하고 있는 도구체인이 불필요하게 복잡한가 아니면 RAD 스튜디오처럼 클릭 한번으로 작동하는가?

소프트웨어 도구체인(toolchain)이란 복잡한 소프트웨어 개발을 완성하거나 소프트웨어 제품을 제공하기 위해 사용되는 소프트웨어 개발 도구들의 집합을 의미한다. 개발 도구들을 잘 엮으면(chain) 소프트웨어 개발 절차를 최적화 할 수 있다.

 

RAD 스튜디오 IDE는 어느 애플리케이션을 개발하든 가장 가치있는 플랫폼이다. 여기에는 도구들과 자동화 기능들이 안에 모여있기 때문이다. 예를 들면, 윈도우 용 애플리케이션을 개발한다면, 개발을 시작해서 마이크로소프트 스토어에 배포할 때 까지 필요한 모든 것들이 들어 있다. RAD 스튜디오 IDE 안에 있는 기능들을 활용할 수 있으면 가장 좋다.

spacer.png

또는, 리눅스, 맥OS, iOS, 안드로이드, 윈도우에 배포할 크로스-플랫폼 애플리케이션을 만들 때에도, RAD 스튜디오 IDE 안에는 모든 기능이 들어있다. 개발 절차가 성가시게 되지 않게 한다. 

 

 

핵심 런타임 패키지를 당신의 앱에서 놓치고 있지는 않은가?

델파이 네이티브 윈도우 애플리케이션을 처음 작성하고 구축할 때, 당신은 효율적으로 배포할 수 있다. 구축된 애플리케이션은 어떤 윈도우 장비에서도 장비 안에 있는 라이브러리 또는 런타임을 요구하지 않고 잘 작동한다. 왜냐하면, 기본 설정인 경우, RAD 스튜디오는 컴파일을 한다. 그리고 필요한/사용되는 라이브러리/패키지를 실행파일(executable)안에 넣기 때문에 효율적으로 작동하게 된다.

그렇다. 아마 그렇게 하면 다른 솔루션들에 비해 실행파일의 크기가 더 크게 된다고 말할 수도 있겠다. 사실이다. 그러나 사용자 경험을 최우선으로 한다면, 애플리케이션이 올바르게 실행되기 위해 어떠한 런타임도 요구할 필요가 없게 만드는 것이 훨씬 더 좋고 애플리케이션 배포도 훨씬 더 손쉽다. 만약 실행파일 크기를 중요시 한다면, 구축한 애플리케이션 안에 패키지들을 포함하지 말고, 애플리케이션을 배포할 때 그 라이브러리/패키지 들을 함께 배포할 수도 있다.

spacer.png

 

RAD 스튜디오의 최신 버전인 RAD 스튜디오 11 알렉산드리아를 다운로드 받아서 직접 보는 건 어떨까?

이 댓글 링크
다른 사이트에 공유하기

  • 김나래 changed the title to 윈도우 개발에 도움이 필요하다는 7가지 신호

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 토픽(기고/질문)에 답하기

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

 공유하기

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.