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

윈도우 앱 개발 입문자를 위한 개발 도구 가이드


Recommended Posts

Haziqa"A Beginner’s Guide to Windows App Development Tools" 을 번역했습니다. (원문 작성: 2022년 5월, 최종 번역: 2022년 9월)

앱을 더 빠르게 개발하고 코딩은 더 적게하고 싶은 개발자인가? 같은 코드를 사용하여 여러 플랫폼 용 앱을 만들고 싶은가? 지금 사용하고 있는 개발 도구가 대형 프로젝트를 다룰 수 있고 모니터를 여러개 사용할 수 있도록 지원하는 지 확인하고 싶은가? 만약 "그렇다" 라고 대답했다면, 엠바카데로에서 제공하는 윈도우 앱 개발 도구가 그 조건에 맞을 것이다.

목차


 

1 RAD 스튜디오는 무엇이고 왜 윈도우 앱 개발 도구 중 가장 강력한가?

RAD 스튜디오는 성능이 뛰어난 네이티브(native) 애플리케이션을 개발하는 가장 강력한 IDE(Integrated Development Environment, 통합 개발 환경)이다. 클라우드 서비스에 유연하게 연결하고 사물인터넷(IoT)을 폭넓게 지원한다. VCL (Visual Component Library)을 사용하면 네이티브(native)이고, 여과되지 않고(unfiltered), 순수한(pure) 윈도우 10과 윈도우 11 개발을 할 수 있으며, FMX(파이어몽키) 프레임워크를 사용하면 윈도우, 맥OS, 리눅스(Linux), iOS, 안드로이드(Android)에서 작동하는 앱을 개발할 수 있다.

RAD 스튜디오로 만든 애플리케이션은 모든 플랫폼에서 네이티브(native)로 작동한다. 따라서 해석기를 거칠 필요가 없다. 다시 말해서, 실행할 때 마다 런타임(runtime)에 추가 부담을 주어야 하는 스크립트 언어 덩어리가 아니다. 네이티브 앱은 컴파일 된 것이므로, 자신이 작동하는 운영 체제(OS, Operating System)와 여기에 연결된 하드웨어에 의해 (중간에 관여하는 별도의 계층이 전혀 없이) 직접 처리되는 순수한 코드 덩어리이다. 실행 속도는 엄청 빠르고, 앱 하나를 코딩하면 모든 플랫폼에서 작동한다. 이 모든 요소들이 합쳐져서 RAD 스튜디오는 훌륭한 개발 플랫폼이 된다.

spacer.png

2 사람들이 윈도우 앱 개발 도구로 RAD 스튜디오를 사는 이유는?

2.1 FireDAC 데이터 액세스 라이브러리는 엄청 빠르고, 어디에서도 작동하고, 무엇이든 할 수 있다.

파이어닥(FireDAC)은 범용 데이터 액세스 라이브러리이다. 주로 회사의 데이터베이스에 연결된 여러 장비에서 작동하는 애플리케이션을 개발할 때 사용된다. 견고한 유니버설(universal, 모든 경우에 부합하는) 아키텍처 덕분에 FireDAC을 사용하는 델파이와 C++빌더는 거의 모든 DBMS 데이터베이스에 연결할 수 있다. 즉 개발자가  만드는 프로그램은 인터베이스, SQLite, MySQL, 오라클(Oracle), MS 액세스(Access), DB2, SQL 서버 등등 많은 데이터베이스에 손쉽게 연결된다.

FireDAC은 강력하면서도 사용하기 쉬운 데이터 접근 계층으로써 데이터 접근을 통합하고 데이터 규모가 큰 실제 세상을 수용할 수 있는 애플리케이션을 만들 때 사용된다. FireDAC은 표준 API 하나를 통해서 서로 다른 백-엔드 데이터베이스에 액세스한다. 하지만, 각 데이터베이스 만의 고유한 기능과 성능을 모두 반영한다. FireDAC은 안드로이드, iOS, 맥OS, 윈도우, 리눅스(Linux) 애플리케이션 안에서 작동하므로 스마트폰, PC, 태블릿 개발에 모두 사용할 수 있다.

2.2 멀티-티어 개발은 당신의 앱에 있는 코드의 미래가 보장된다는 의미이다

멀티-티어 프레임워크의 바탕이 되는 원칙은 바로 데이터 액세스는 분리되어서 다중 수준(level) 즉 다중 계층(tier)으로 형성되어야 한다는 것이다. 대체로 3 계층으로 분리된다. 개발자는 멀티-티어 개발을 선호하는 데 그 이유는 다양한 시스템들과 데이터베이스들을 묶어서 단일 층(layer)을 형성하고 클라이언트는 그 한 곳을 통해서 모두를 액세스하기 때문이다.

멀티-티어는 백-엔드의 복잡성을 숨겨서 클라이언트 개발을 도와준다.

서로 다른 시스템들이 밑에 깔려있든 비즈니스 로직을 변경하는 경우에, 멀티-티어의 필요성은 더욱 높다. 심지어 한 시스템을 다른 시스템으로 이전(migration)하거나 1번 시스템을 2번 시스템과 맞바꾸는 것도 가능하게 해준다. 모든 점을 고려했을 때, 멀티-티어는 숨김(hide away)과 변경 단순화에 탁월한 방식이다. 백-엔드를 변경해야 하는 경우에도 연결되는 클라이언트를 변경할 필요가 없다.

2.3 리눅스 64bit는 많은 기업 고객들에게 필수이다

spacer.png

개발자는 이미 보유하고 있는 코드를 가져다 다시 컴파일하여 리눅스 플랫폼을 활용할 수 있기를 원한다. 그러면 소유 비용(Cost Ownership)을 크게 낮추면서 서버의 서비스 능력을 유지할 수 있다.

데브옵스(DevOps)와 같이 테스트를 포함하기, 리눅스 도커(Docker) 컨테이너 구성하기 등 현대식 개발 관행을 받아들이기가 이제는 훨씬 더 쉬워졌다. 

우분투(ubuntu)와 레드헷(red hat) 엔터프라이즈의 최신 장기 지원 에디션들 역시 제공된다. 마지막으로, 리눅스 64 bit가 있으면, 개발자는 해당 연결을 변경하지 않고도 백-엔드를 업데이트 할 수 있기 때문에 필요한 변경을 단순화할 수 있다.

2.4 인터베이스 투고(ToGo)는 당신의 임베디드 데이터베이스 니즈를 해결할 비밀 답안이다.

사용자 보안과 디스크 상에서(on-disk) 전체 암호화는 인터베이스가 다른 데이터베이스 플랫폼들과 차별화되는 점이다. 데이터 보호 면에서 최고이며 PCI 규제를 준수한다. 인터베이스에는 여러 암호화 수준이 있어서 개발자가 데이터를 보호할 때 다른 암호화 키(encryption key)를 사용할 수 있다. 내장된 보안 기능에는 회사 안에 있는 관리자와 인사 담당자에게 개발자가 위한 복호화(decrypt) 기능을 제공하는 것까지 들어 있다.

예를 들어, 어느 한 개발자가 Employee(직원) 테이블에서 직원을 SELECT 할 수 있지만, 오직 인사 담당자에게만 그 직원의 급여에 액세스할 수 있는 권한을 줄 수 있기 때문에, 인터베이스 투고(ToGo)는 개발 현장의 많은 다양한 경우에서 훌륭한 자원이 될 수 있다.

2.5 엔터프라이즈 커넥터스(Enterprise Connectors)로 거의 모든 곳에 있는 거의 모든 종류의 데이터를 액세스할 수 있다는 것을 알고 있었나?

마지막으로 소개할 즉 개발자가 좋아하는 다섯번째 특징은 엔터프라이즈 커넥터스(Enterprise Connectors)이다. Enterprise Connectors를 사용하면 SAP, 오피스(Office), 지라(Jira) 등 90 여가지 엔터프라이즈 시스템들을 붙일 수 있다. 각 엔터프라이즈 시스템 별로 고유한 드라이버 종류가 제공되므로, 각 엔터프라이즈 시스템을 일종의 데이터 소스(data source)로 취급하면 된다.

또한 데이터를 쿼리(query)하거나 다룰 때 표준 SQL을 사용할 수 있기 때문에, 시스템마다 다른 API를 개발자는 직접 다룰 필요 없이 Enterprise Connectors를 연결하고 데이터를 보내고 작업할 수 있다. 게다가 같은 회사 안에서는 이런 배포에 대한 로열티가 따로 청구되지 않는다.

3 델파이는 무엇이고 왜 윈도우 앱을 개발하는 강력한 도구인가?

델파이는 클래식 언어이자 소프트웨어 개발 세상의 시금석 중 하나이다. 비록 여러가지 새 언어와 새 프레임워크들이 떠올랐지만, 델파이는 굳건하게 기반을 유지하고 있다. 왜 그럴까? 소프트웨어를 개발할 때 가장 신뢰할 수있고 효율적인 언어 중 하나가 델파이(Delphi)이기 때문이다.

더 나아가, 오랜 시간동안, 델파이는 능력, 기능, 라이브러리를 확장하면서 개발자의 진화하는 니즈에 발맞춰 왔다. 델파이는 처음 알려진 후 벌써 26년이 지났지만 여전히 활용도가 매우 높다. 델파이는 현재  네이티브의 능력, 로우-코드의 높은 개발 생산성, 다른 언어들과의 통합성 이라는 고유하고 멋진 위치를 가지고 있다. 

4 개발자들이 델파이를 사랑하는 이유는?

개발자들이 델파이를 좋아하는 이유는 주로 단순성과 코딩 속도 때문이다. 델파이는 확장할 수 있는 IDE들의 목록이기도 하다. 즉, 당신의 니즈에 맞추어 새 기능을 찾아서 추가할 수 있다. 그 덕분에 델파이는 더 쉽게 최신 트렌드를 반영하거나 다른 플랫폼을 반영한다.

기술 분야의 애플리케이션과 빅-데이터 솔루션에서 성능과 예측 가능한 코드 실행은 매우 중요하다. 이런 분야라면 델파이가 더 알맞다. 상업용 제품을 만들고 소스 코드 보안과 멀티-플랫폼 지원을 중요하게 여기는 경우 역시 델파이가 좋다. 델파이로 만든 프로그램은 성향이 매우 견고하며 몇년이 지나도록 업그레이드나 변경을 하지 않아도 심지어 해당 운영 체제가 업그레이드 되고 패치 되어도 변함없이 작동하는 경우가 흔하다. 의존성이 거의 없기 때문에 다양한 장비에 손쉽게 설치할 수 있다. 알맞은 곳에 복사해서 넣기만 하면 되는 경우가 대부분이다.

RAD 스튜디오의 비주얼 개발 패러다임 즉 화면에서 작성하는 그대로 결과물이 만들어 지는 방식과 방대한 컴포넌트들(미리 작성되고 테스트된 코드와 기능 모음)이 합쳐졌기 때문에 윈도우 앱 개발 세계에서 원조 로우-코드(low-code)라고 할 만하다.

5 윈도우 앱을 개발하는 도구로 RAD 스튜디오를 사용해야 하나?

개발을 5배 빠르게 하고 테스트와 디버깅까지 모든 플랫폼에서 하기를 바란다면, RAD는 단연 첫번째 선택 대상이다. 큰 회사들에게 인기가 높은 이유는 성능, 사용성, 보안성 때문이다. RAD 스튜디오는 TCO(총 소유 비용, Total Cost of Ownership)가 더 낮으면서도, 개발은 더 쉽고 한번 작성하면 여러 플랫폼에 배포할 수 있다. 

빠른 속도와 효율성을 제쳐 두더라도, RAD 스튜디오는 다른 것들에 비해 회사 차원에서 위험이 더 낮다. C++ IDE도 들어있고, VCL은 High DPI를 잘 지원한다. RAD 서버는 ExtJS까지 지원하도록 확장되었고, 파이어몽키(FMX)의 품질이 향상되는 등 당신이 지금하려는 올바른 선택은 당연히 RAD를 선호할 것이다.

생산성을 강화하고 사용자 경험(UX, User Experience)를 향상시키고 싶다면, 30일 동안 직접 앱을 만들어 보기 바란다! 

 

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

이 토의에 참여하세요

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

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...

중요한 정보

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