귀하는 손님 이십니다
로그인
회원가입
  
  델마당 공식 은행계좌
  하나은행 227-910235-83607
  예금주 이상국(운영진)
프로젝트 게시판
투표게시판
델마당소개
기초부터 활용까지! 델파이 교육 - 데브기어
 광고문의 :
자유게시판 자유게시판 입니다.
글내용 - 자유게시판
 Once Upon A Time In Java, Qt
주정섭
(주정섭)
2019-04-29 오전 11:44:05
645회 조회


등록된 파일이 없습니다.

Once Upon A Time In Java, Qt

JAVA...

예전에, 먹고 살기 위해 고군분투 하던 도중, 우연히 자바를 사용해 봤다. 자바는 가장 많이 사용한다는 말도 있고, 오에스 호환성이 가장 좋다는 말도 있고, 무료라는 장점도 있다고 한다. 그러나, 내 판단에는 자바의 가장 치명적 단점은, 만족할만한 UI 프레임웍이 없다는 것이다. Swing인가 하는 UI 프레임웍이 있기는 하지만, 델파이 VCL에 비하면 뭔가 매우 불편하다.

내 판단에는 자바는 데스크탑 어플 세계에서는 망했다. 선택의 여지가 없어서, 안드로이드 앱 쪽에서 울며 겨자먹기로 사용할 뿐, 나의 개발 주 영역인 윈도 데스크탑 어플 쪽에서는 전혀 힘을 못 쓰고 있다. 그리고 자바의 호환성은 또 다른 약점이다. 호환성을 유지하려면 기능이 축소되기 마련이다. 특정 오에스에 있는 기능이 다른 오에스에도 있다고 보기 어렵기 때문이다. 그래서 모든 오에스에 있는 공통 기능만으로 호환성을 유지할 것이다. 그러면 각 오에스의 독특한 장점은 사용 못하거나, 결국 외부 언어의 힘을 빌려야 할 것이다.

최근에 더 나은 방식이 생겼는지 모르겠지만, 자바 IDE 격인 이클립스로 화면 디자인을 하려면 정말 고역이다. 델파이나 비베의 위지윅 폼 디자인에 익숙한 개발자라면 정말로 돌아버릴 것이다. 더우기 자바의 이벤트 방식은 매우 짜증난다. 이상하게 많은 코딩량을 요구한다. 그리고 실행속도도 느리고, 배포도 좀 번거롭다.

자바 역시 의외로 노가다 코딩이 많다. 그리고 한 클래스당 하나의 소스 파일 원칙은 때로는 대단히 짜증 스럽다. 자바 언어 자체는 어렵지 않으나 자바 개발은 대부분을 오픈 소스에 의존하기 때문에, 빌더 환경이 매우 복잡하다. 빌더 툴만 해도 몇종류나 되고, 이때문에 남의 소스를 받아서 빌더하려면 꽤나 고생을 해야 한다.

물론 델파이도 타인의 소스인 경우, 설치 안된 콤포넌트 때문에 컴파일할 때 고생할 수도 있다. 그래도 델파이는 빌더 환경이 하나 뿐이지만, 자바는 이 빌더 환경이 여러 종류가 있는 것 같다. 그래서 이클립스 버전, 빌더 툴의 종류에 따라서 꽤나 빌더 과정이 복잡할 수도 있다.

나의 판단에는, 자바는 웹 전문 언어로 남아있을 뿐, 어플 언어는 아니란 결론에 도달했다. 그리고 웹에서 자바스크립트가 주인공이지, 자바는 그저 들러리일 뿐이다. 나의 좁은 소견이긴 하지만, 내 결론은 그렇다. 그리고 나는 웹쪽에는 이제 별로 관심이 없다. 웹쪽은 너무 노가다 코딩이 많아서 싫다. 내가 제일 싫어하는 것이 노가다 코딩이다.

Qt...

델파이만큼 강력한 UI를 가진 개발툴을 찾아보다 Qt를 우연히 사용해 봤다. Qt의 UI 프레임웍은 그럭저럭 쓸만하다. MFC에 비하면 훨씬 더 객체지향적이고, 기능 역시 훨씬 좋다. C++ 이기에 실행속도도 빠르다. Qt는 아주 예전부터 자바보다 더 높은 오에스간 호환성을 제공했다. 현존하는 대다수의 오에스에서 컴파일만 새로하면 어플이 동작한다고 한다. 나는 윈도우와 우분투 리눅스만 테스트 해봤지만, 호환성은 괜찮았던 걸로 기억한다. 단일 소스로 두 오에스에서 별 문제 없이 동작하는 어플을 만들 수 있었다.

C++이 쓰잘데기 없이 복잡한 언어이기는 하지만, 매우 강력한 언어임에는 틀림이 없고, C++로 작성된 오픈 소스도 매우 많기에, Qt는 대단히 강력한 개발툴이다.

그러나 C++의 고질적 문제가 있다. 의외로 코딩량이 매우 많다는 점과, 그놈의 헤더 파일, 그놈의 느려 터진 컴파일 속도는, 나같이 게으르고 인내심 부족한 개발자에게는 엄청난 불편함이었다.

Qt는 자바와는 달리, 델파이처럼 위지윅 폼 디자인 기능을 지원하지만, 비베나 델파이에 비하면 폼디자인 기능이 매우 불편하다. 따라서 나처럼 미천한 실력을 갖춘 개발자에게는 화면 디자인이 너무 어려웠다. 델파이에서는 별거 아닌 화면 구성이 엄청 까다롭고 복잡했다. 그리고 이벤트 처리 역시, 순수 C++ 문법이 아닌, #define 매크로 처리 방식에 의존하기 때문에, 뭔가 불편하다.

더우기 Qt 가격이 만만치 않았다. 오픈 소스 버전이 있기는 하지만, 상용 어플을 개발할 때 드는 비용이 꽤나 비쌌던 것으로 기억한다. Qt 오픈 소스를 사용하면, 숱한 DLL 파일들을 함께 배표해야하는 문제가 발생한다. 델파이로 치면, 패키지 방식으로 개발해서, BPL 파일들을 같이 배포해야 하는 것과 동일하다.

결론적으로 말해서, 자바 Qt, 어느 것도 화면 디자인이란 노가다 작업을 획기적으로 줄여준다고 보기에는 힘들었다. 화면 디자인과 그 처리 코드는 매우 복잡하고 코딩량도 많다. 이 노가다 해소에서 자바와 Qt, 모두 내 판단에는 별로였다.