C++ 개발자들이 어려워 하는 부분과 해소 방법

데이비드 밀링턴(엠바카데로 C++빌더 매니저)이 직접 진행한 온라인 세미나 ‘왜 C++빌더여야 하는가?’를 간단히 정리해보았습니다.


C++은 전 세계적으로 “가장 많이 사용되는 프로그래밍 언어”로 꾸준히 손꼽히는 개발 언어입니다. 수요가 많은 만큼 C++ 개발자들은 좋은 의미의 문제점(?)도 있죠: 바로 엄청난 개발 업무량입니다.

이 많은 개발 업무를 줄일 수 있는 방법은 없을까요? 엠바카데로의 C++빌더 매니저 데이비드 밀링턴은 과도한 업무량을 C++빌더로 충분히 줄일 수 있다고 말합니다. 멋진 고성능 앱을 단기간에 개발할 수 있도록 C++빌더는 개발자를 위한 다양한 기능들을 제공하고 있습니다.

데이비드 밀링턴은 오랜기간 C++ 개발자이자 델파이 개발자로 활동하고 있습니다. 데이비드 밀링턴이 진행한 ‘왜 C++빌더여야 하는가?’를 간단히 정리해보았습니다. 전체 영상은 26분 정도이니 약간의 여유를 가지고 한 번 보시는 것도 좋겠습니다^^

 

C빌더가 뭐죠?

멀티 플랫폼을 지원하는 최고의 C++ IDE 입니다 (윈도우, 맥, iOS 앱 개발 지원). 굉장히 뛰어난 UI 디자인 기능들을 제공해 C++ 개발자들이 어려움을 호소하는 UI 부분을 매우 간단하게 구현할 수 있습니다 (GPU 지원, 네이티브 컨트롤, 다양한 스타일들, 여러 기기용으로 손쉽게 커스터마이징). 그리고 데이터베이스 연동 기능이 매우 뛰어납니다. 개발자들이 가장 많이 사용하는 DB는 물론 다양한 제품들을 지원하고, JSON/REST, 많은 라이브러리들을 지원합니다.

 

C++에 산재한 문제점은?

가장 많이 하는 이야기는 ‘C++로 크로스 플랫폼을 지원하는 건 너무 어렵고 힘들다.’ 입니다. 크로스 플랫폼 개발을 위해 C++ 개발자들은 여러 IDE들을 사용해야만 합니다 – Visual C++, XCode, CLion.. 그 뿐인가요? 다양한 컴파일러, 런타임, 라이브러리, 각 개발 환경에 따라 다 다른 사용 방식까지. 익혀야 할 게 너무나 많습니다. 하지만 이보다 더 큰 이슈는 바로 UI 입니다. 매번 개발해야 하는 플랫폼들에 맞추어 다 새로 개발해야 합니다. 그러다 보니 플랫폼에 따라 다 다른 룩앤필이 적용되어 통일성이 떨어질 수 밖에 없죠. 개발 시간도 너무 오래 걸리구요.

 

C++빌더로 해소하기

C++빌더는 강력한 Clang 컴파일러를 사용해 단 하나의 컴파일러, 단 하나의 RTL, 단 하나의 크로스-플랫폼 라이브러리 셋만으로 다양한 플랫폼용 앱을 개발할 수 있습니다. 하나의 환경에서 주요 플랫폼들을 다 지원하기 때문에, 각 플랫폼에 맞춘 다양한 라이브러리들을 모두 공부할 필요가 없습니다. 그리고 개발 도구도 모두 구입할 필요가 없죠. 이러한 이점으로 개발 비용, 개발 시간, 디버깅 시간을 현격하게 줄일 수 있습니다.

최신 스타일의 크로스-플랫폼 UI를 제공합니다. 매번 개발하는 플랫폼에 맞추어 다 다른 언어를 쓰고 프레임워크를 사용해서 UI를 구축해야 한다면? Qt나 wxWidgets와 같은 UI 프레임워크를 사용하기도 하지만, 네이티브 룩앤필은 포기하실 건가요? 이 문제의 해답은 바로, 파이어몽키 입니다. 크로스 플랫폼, GPU 가속 지원, 다양한 스타일 적용, 네이티브 룩앤필과 컨트롤 적용, UI 설계는 단 한 번만. 파이어몽키가 제공하는 대표적인 기능들입니다. 마스터 UI를 완성해놓으면, 각 플랫폼용으로 자동 변환이 가능합니다. 살짝씩만 다듬으면 디자인 작업 끝!

손쉬운 데이터 연결이 가능합니다. C++에는 활용할 수 있는 데이터베이스 라이브러리들이 정말 많죠. 얼마나, 그리고 어떻게 활용하고 계신가요? 데이터베이스를 변경해야 할 때는 어떻게 작업하세요? 여러 DB들을 적용해야 하는 경우는요? 갑자기 새로운 데이터베이스 라이브러리를 적용해야 한다면? 이런 고민들이 있지 않으신가요?
C++빌더에는 파이어닥(FireDAC)이라는 데이터베이스 연동 솔루션이 함께 제공됩니다. 총 17가지 종류의 데이터베이스 연결을 지원합니다. 하나의 앱에 다양한 DB들을 연동할 수도 있습니다. 자동화되어 있어서 사용하기도 매우 편리하고 쉽습니다. JSON, REST 등등 많은 데이터들을 연동할 수 있습니다.

 

데이비드 밀링턴 세션 다시 보기

위 내용과 더불어 간단한 C++빌더 샘플 앱 개발 데모도 함께 진행한 세션입니다.