사용자 삽입 이미지
저번에 전화/팩스 및 시리얼 통신용 컴포넌트 라이브러리의 지존이라고 할 수 있는 AsyncPro를 소개했었는데, 이번에는 역시 터보파워의 Abbrevia를 소개합니다.

Abbrevia는 파일 압축 컴포넌트 라이브러리입니다. 델파이와 C++빌더 용으로 수없이 많은 압축 컴포넌트들이 있는데, 무료로 인기를 끌었던 DelZip이 많이 사용되고, 좀 더 프로페셔널한 동작을 위해서는 상업용인 ZipTV 컴포넌트가 많이 사용됩니다. (ZipTV는 국내에서 개발된 대부분의 zip 압축 유틸리티들에서 사용하고 있습니다)

그런 마당에 Abbrevia를 또 소개할 필요가 있을까...하면 그럴 필요가 있습니다. 초막강 기능과 속도를 자랑하는 ZipTV는 상업용이고(269.99 달러니까 크게 비싸지는 않습니다만), 반대로 DelZip은 무료이기는 합니다만 기능이 너무 단순합니다. 그래서 그 사이의 간격을 메꾸는 역할로 Abbrevia가 적당하다고 할 수 있습니다.

Zip, Tar, GZip, Cab 등의 포맷들을 지원하구요. 유니코드화 작업이 되었기 때문에 델파이나 C++빌더의 2010 버전과 2009 버전도 지원합니다.

http://sourceforge.net/projects/tpabbrevia/

2010/08/27 15:24 2010/08/27 15:24

trackback :: http://blog.devgear.co.kr/imp/trackback/188

사용자 삽입 이미지
TurboPower, 터보파워는 지금도 계속 성장중인 DevExpress, TMS와 함께 가장 유명했던 델파이 컴포넌트 벤더였습니다. 그 제품군 중에 가장 유명했던 것이 Async Professional (이하 AsyncPro) 컴포넌트였구요. AsyncPro는 시리얼 제어, TAPI(전화 및 팩스), 터미널 개발 등의 기능을 개발하기 위한 목적으로는 궁극의 기능을 제공했습니다.

2003년에 터보파워는 게임 관련 업체에 인수되면서 델파이 사업부문을 정리했고, 개발해서 판매하던 여러 컴포넌트 라이브러리들을 델파이 개발자들을 위해 오픈 소스로 공개했습니다.

http://www.borlandforum.com/impboard/impboard.dll?action=read&db=news&no=175

이 과정에서 AsyncPro도 함께 무료로 제공되었는데요. 마지막 버전은 4.03 버전이었던 걸로 기억합니다. 한동안 이 AsyncPro를 무료로 다운로드해서 사용하는 개발자는 많았지만, 개발에 참여하는 개발자가 그리 많지 않아 추가 개발은 별로 진행되지 않았었죠.

그런데 최근 1~2년 사이에 이 AsyncPro 컴포넌트 라이브러리에 대한 개발이 다시 활기를 띠게 되었고, 그 결과 올해 3월에 5.0 버전이 공개되었습니다.

http://sourceforge.net/projects/tpapro/

5.0 버전에서는 당연히 델파이의 최신 버전인 Delphi 2010도 지원하구요. 개선된 기능들은 주로 기존 컴포넌트들에서 유니코드와 제대로 동작하도록 한 것들입니다.
사용자 삽입 이미지

AsyncPro같은 고급 컴포넌트들이 계속 유지보수 개발이 된다는 점은 델파이 개발자들을 위해 아주 좋은 소식일 것 같습니다. C++Builder 2010에서 제대로 테스트되지는 않은 것 같지만, 이전의 전례를 보자면 C++Builder 2010에서도 제대로 동작할 것 같네요.

2010/08/09 23:39 2010/08/09 23:39

trackback :: http://blog.devgear.co.kr/imp/trackback/187

사용자 삽입 이미지
바로 아래에 델파이 2010 및 C++빌더 2010 구입자에게 주어지는 "Delphi 2010 Handbook" 무료 다운로드 소식을 알려드렸는데요.

이와 함께, 구입자에게는 TMS Smooth Controls Pack도 역시 무료로 추가 제공됩니다. 아래 주소에서 다운로드하실 수 있습니다.

TMS Smooth Controls Pack
https://downloads.embarcadero.com/item/27470


TMS Smooth Controls Pack에 포함된 컴포넌트들 중 몇가지를 보시죠.
(자세히 살펴보시려면, http://www.tmssoftware.com/site/advsmoothcontrols.asp )

TAdvSmoothListBox

사용자 삽입 이미지

TAdvSmoothTouchKeyboard
사용자 삽입 이미지

 TAdvSmoothDock
 
사용자 삽입 이미지

TAdvSmoothTimeLine

사용자 삽입 이미지
TAdvSmoothProgressBar
사용자 삽입 이미지

TAdvSmoothLEDLabel
사용자 삽입 이미지

TAdvSmoothCalendar
사용자 삽입 이미지

TAdvSmoothImageListBox
사용자 삽입 이미지

 TAdvSmoothCalculator
사용자 삽입 이미지
 TAdvSmoothComboBox

사용자 삽입 이미지

2010/03/23 00:39 2010/03/23 00:39

trackback :: http://blog.devgear.co.kr/imp/trackback/152

지난 3월말에 알려드렸던 것처럼, Delphi/C++Builder 2009 구입 개발자들은 엠바카데로 사이트에서 TMS Smooth Controls Pack의 Special Edition을 다운로드받을 수 있습니다.

http://blog.devgear.co.kr/imp/entry/DelphiCBuilder-2009-구입자에게-무료-TMS-Smooth-Controls-제공

그런데 이것이 무기한 계속 다운로드 가능한 것이 아니고 6월 말까지만 가능한 프로모션 행사입니다. 따라서 이달 말이 지나면 더 이상 다운로드가 안됩니다. 그러니 2009 버전 구입 개발자분들은, 당장은 쓰시지 않는다고 해도 일단 다운로드 클릭~! ^^

TMS Smooth Controls Pack download for 2009 Customers
http://cc.embarcadero.com/item/26725

참고로, 아래 프로모션 행사도 이번달 26일에 끝납니다.
http://blog.devgear.co.kr/imp/entry/Delphi-2009-CBuilder-2009-구매시-RAD-Studio-제공-이벤트

2009/06/17 16:45 2009/06/17 16:45

trackback :: http://blog.devgear.co.kr/imp/trackback/44

바로 아래에서 서드파티 컴포넌트의 채용에 대해 썼는데요. 기능적으로나 다른 여러 면에서 좋은 서드파티 컴포넌트를 선택을 했다고 하더라도, 현실적으로 개발자의 입장에서는 서드파티 컴포넌트의 가격이 아니라 '구매' 자체가 문제가 되는 경우가 종종 있습니다.

무슨 말이냐 하면, 개발툴 자체는 '생산 장비'로서 경영진이나 구매 관련 부서를 어떻게든 설득해서 구매를 한다고 하더라도, 이 '컴포넌트'라는 것의 구매에 대해 윗분들이나 타 부서를 설득하는 것이 쉽지 않다는 거죠.

구매의 필요성을 설명함에 있어서 개발툴보다 더 기술적인 특정성이 강한 컴포넌트를 비전문가인 경영진이나 타부서에 설명하는 것이 쉽지 않을 뿐더러, 종종 어떤 '높은 분들'께서는 그런 건 자체 개발해야 하는 거 아닌가, 그걸 개발 못한다면 당신이 능력이 모자라는 것 아닌가, 이런 식으로 나오기도 한다는 겁니다. 개발자로서는 피곤한 상황이죠. (저 스스로도 전산실장으로 일할 당시에 비슷한 경험을 여러번 했습니다)

그래서, 데브기어에서는 개발자들의 편의를 위해, 개발툴 구입시에 서드파티 컴포넌트를 통합하여 주문할 수 있도록 하고 있습니다. 다시 말해, 필요한 경우에 한해서 개발툴 구입시에 필요한 컴포넌트를 견적서나 세금계산서상 하나의 항목으로 합쳐서 주문할 수 있도록 하는 것입니다. 물론 편법이지만.. 이렇게라도 하지 않으면 안되는 갑갑한 환경의 기업에서 일하는 개발자분들도 적지 않으니까요.

저희가 서드파티 컴포넌트를 통합 발주를 받는 것은 수익 사업이 아니라 개발자 지원 차원의 정책이기 때문에, 특별히 마진을 떼거나 하지는 않습니다. 실가격에 취급 수수료 조로 약간이 추가된다고 생각하시면 됩니다. 다만 달러화나 유로화 등이 개입되기 때문에 환 리스크 때문에 최소한의 방어를 위해 데브기어에서 방어 환율을 설정하는데 이것이 실시간 환율보다는 조금 높습니다. 물론 국내 마진을 별도로 붙여서 판매하는 컴포넌트 판매 몰보다는 가격이 쌀 것입니다.

예를 들면, Delphi/C++Builder 2009에서 흔히 이슈가 되는 QuickReport를 Delphi와 함께 주문하면서 따로 요청을 하시면 Delphi라는 항목 안에 QuickReport의 가격을 포함시켜서 견적서나 세금계산서 등 서류를 드릴 때 'Delphi Special Pack' 이런 식으로 서드파티 컴포넌트를 숨겨버릴 수 있습니다. 마찬가지로 QuickReport의 대안인 FastReport, 그리고 TMS나 DevExpress의 여러 컴포넌트들도 가능합니다.

서드파티 컴포넌트 구입 건으로 갑갑하셨던 분들에게 도움이 되길 바랍니다.

2009/04/15 22:30 2009/04/15 22:30

trackback :: http://blog.devgear.co.kr/imp/trackback/31

Delphi와 C++Builder의 개발툴로서의 가장 큰 특징들 중의 하나는 바로 다양한 서드파티 컴포넌트들이죠. 물론 경쟁 개발환경인 .NET이나 네이티브 환경의 비주얼 스튜디오에도 OCX 등의 여러 서드파티 컴포넌트들이 있습니다.

하지만 Delphi와 C++Builder에 있어 서드파티 컴포넌트는 MS 개발환경에서 지원하는 것과는 많이 다릅니다. 닷넷 컴포넌트나 OCX 형태의 컴포넌트는 대체로 덩치가 크고 둔하며, 개발자가 개발한 애플리케이션 바이너리에 완전히 통합되지도 않습니다. 반면 VCL 서드파티 컴포넌트는 작고 빠르며, Delphi/C++Builder의 기본 VCL과 완전히 동등한 수준이기 때문에 순수하게 네이티브합니다. 물론 개발한 애플리케이션 실행파일 등에 완전히 링크가 가능하므로 별도로 배포할 필요도 없습니다.

하지만, 적지 않은 경우에 이런 서드파티 VCL 컴포넌트들이 논쟁의 대상이 되기도 합니다. 상당히 많은 개발자들이 여러 이유로 서드파티 컴포넌트의 사용을 의도적으로 피하기도 하고, 반대로 또 많은 개발자들은 필요한 어떤 기능이 대두되면 자체 구현을 하기에 앞서 적극적으로 서드파티 컴포넌트부터 찾아보기도 합니다.

저는 후자쪽입니다. 물론 무조건 서드파티 컴포넌트가 더 낫다는 것은 아니구요. 적절한 대안 컴포넌트가 이미 존재하고 특별한 문제가 없다면, 굳이 자체 구현하기 위해 다른 중요한 기능들에 들일 수 있는 시간을 이미 존재하고 구할 수 있는 컴포넌트 기능의 구현을 위해 시간을 들일 필요는 없다는 거죠.

다만, 서드파티 컴포넌트의 사용을 피하는 분들의 주장에도 고려해볼 만한 부분이 있습니다. 서드파티 컴포넌트를 사용했다가 차후 Delphi/C++Builder를 업그레이드했을 때 바이너리 버전 문제가 발생한다든지 혹은 지원이 끊어진다든지 하는 부분에 대한 우려가 가장 클 것입니다.

서드파티 컴포넌트를 사용하는 데 있어서, 단순히 설치된 그대로 사용하기만 하기보다는 최소한의 소스코드 핸들링은 필요하다고 생각됩니다. 다시 말해, 아예 소스가 제공되지 않는 컴포넌트의 경우 어쩔 수 없겠지만(바로 아래 언급한 RealGrid가 그 예죠), 소스 코드가 제공된다면 자체 컴파일 정도는 할 수 있고, 개발툴의 버전이 업그레이드되었을 때 최소한의 검증이나 판단은 가능해야 한다는 것입니다. 개발툴을 업그레이드해야 하는데 기존에 사용하던 컴포넌트를 도대체 어떻게 해야 하는지 방향조차 잡지 못해서는 안되겠죠.

이런 부분은, 프로젝트 팀 내에 아키텍트 역할을 하는 개발자가 책임을 져야 할 부분입니다('팀장' 혹은 PM/PL과 같은 사람일 수도 있지만 엄밀하게 말해서 아키텍트는 별도의 역할이죠). 만약 4~5명 이상의 개발자가 모여 공동 프로젝트를 수행하는데 이런 정도의 최소한의 기술적 핸들링을 할 레벨의 개발자도 없이 진행하고 있다면, 그 프로젝트 팀은 기술적으로 심각하게 취약하다고 할 수 있겠습니다.

또, 여러 컴포넌트들 중에 어떤 컴포넌트를 선택할 것인가의 문제도 간단한 문제가 아닙니다. 단순히 원하는 기능이 다 있다고 해서 다른 고려 없이 채택해서는 위험한 상황에 빠질 수 있습니다. 필요한 기능이 구현되었나의 여부 외에 다음과 같은 것들이 중요한 기준이 될 수 있을 것입니다.

성능의 문제 - 화려한 UI 때문에 선택하는 컴포넌트가 화면 갱신 속도가 너무 느려서 화면이 그려지는 게 하나하나 보여질 정도라면 곤란하겠죠. 또 TCP/IP이나 시리얼과 같이 통신 컴포넌트의 경우, 그리고 특정 알고리즘을 구현한 컴포넌트의 경우에도 성능이 주요 이슈가 되겠습니다.

배포 크기의 문제 - 대부분의 강력한! 컴포넌트들은 프로그램의 배포 크기를 생각보다 훨씬 크게 만듭니다. 커지는 것 자체는 어쩔 수가 없겠지만, 그게 용인 가능한 수준인가 아닌가는 고려해야 하겠지요.

가격의 문제 - 대부분의 서드파티 VCL 컴포넌트는 타당한 수준의 가격이 매겨져 있습니다. 적지 않은 컴포넌트들이 무료로 배포되기도 하구요. 하지만 QuickReport가 그보다 훨씬 강력한 컴포넌트인 FastReport보다 몇배나 비싸게 판매되고 있는 것처럼, 판매 가격이 좀 비상식적인 경우도 있습니다.

지원의 문제 - 저는 이것이 가장 중요한 문제라고 생각합니다. 꽤 시간이 흐른 후에 큰 버그를 발견했다든가, Delphi나 C++Builder가 메이저 업그레이드가 되었을 때 업그레이드하려고 찾아보니 회사 사이트 자체가 없어져서 어디 하소연할 곳도 없다든가 하는 경우가 적지 않게 있습니다. 특히, 가벼운 마음으로 갖다 쓴 무료 컴포넌트가 종종 문제가 됩니다. 물론 소스포지 등의 오픈소스 프로젝트로 활발하게 지원이 이루어지고 있는 컴포넌트의 경우 큰 걱정을 할 필요가 없겠지만, 개인 개발자가 본인의 홈페이지에 올려놓은 무료 컴포넌트의 경우, 몇년쯤 후에 연락할 방법조차 없어지는 경우도 있는데, 이렇게 되면 정말 난감할 수밖에 없습니다. (물론 이런 경우라도 팀내 아키텍트가 이 소스를 핸들링할 수 있다면 문제가 없겠습니다만)

물론 이런 컴포넌트의 기술적 핸들링은 그리 간단한 일이 아닙니다. 하지만, 이런 '오버헤드'가 두려워서 무조건 서드파티 컴포넌트를 아예 안쓰고 프로젝트를 하는 것이 좋은 방법일까요?

그런 만큼 개발팀 내에 아키텍트가 최소한의 핸들링을 할 수 있는 역량을 가지는 것이 중요합니다. 업무개발 프로젝트에서 아키텍트가 전혀 없거나, 조직내에서 공식적으로 인정되는 직책이 아닌 비공식적으로 아키텍트 역할을 하고 있어 필요한 권한과 책임이 부여되지 않은 경우가 적지 않은데요. 서드파티 컴포넌트 때문이 아니더라도 여러가지 기술적 시도에 대한 리스크에 대해 검토하고 검증할 아키텍트는 꼭 필요합니다.

만약 여러 여건상으로 서드파티 컴포넌트의 채택 문제를 기술적 리더십을 가지고 결정할 수 있는 아키텍트를 운영할 수 없고 다른 어디에서도 자문을 구할 수 없다면, 제게 문의를 해주셔도 좋습니다. 물론 공식적인 책임을 가지고 뒷일까지 핸들링을 하려면 유료의 컨설팅이 될 수밖에 없지만, 비용을 들이지 않더라도 최소한의 의견 정도는 무료로 상담해드릴 수 있습니다.

정리하자면, 델파이와 C++빌더에 있어 서드파티 컴포넌트는 개발의 역량을 몇배로 올려줄 수 있는 중요한 선택입니다. 물론 아무런 대비도 없이 당장 편하게 갖다 쓸 수 있다는 정도의 생각으로 사용하다보면 문제가 많이 커질 수 있지만, 위험도도 이해하면서 체계적으로 관리하면서 사용한다면 이런 위험성은 충분히 막으면서 생산성과 기능, UI의 품질을 끌어올릴 수 있습니다.

2009/04/14 02:54 2009/04/14 02:54

trackback :: http://blog.devgear.co.kr/imp/trackback/30

업무 개발에 있어 가장 많이 쓰이는 양대 서드파티 컴포넌트를 꼽으라면, 레포트 컴포넌트들과 그리드 컴포넌트들일 것입니다. 여러 그리드 컴포넌트들 중에 국산 컴포넌트로 많은 사용자를 가진 컴포넌트가 바로 RealGrid죠. RealGrid는 예전에 델파이코리아 커뮤니티를 운영하시기도 하셨던 나현호씨가 개발하여 판매하는 컴포넌트로, 한국적인 기능이 많이 추가되어 있는 것이 특징입니다.

이 RealGrid는 Delphi/C++Builder의 최신 버전인 2009를 지원하지 못하고 있었는데요. 개발자인 나현호씨가 최근 RealGrid를 2009 버전에 맞춰 유니코드를 지원함과 동시에 다른 여러가지 기능들을 추가하려고 준비중이시라는 소식을 여러 델파이 커뮤니티에 올려주셨습니다.

http://www.delmadang.com/community/bbs_view.asp?bbsNo=19&indx=412618
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=free&no=15927
http://codeway.co.kr/board/bbs/board.php?bo_table=Basic_Free&wr_id=68040

특히, 사용자분들께서 필요한 기능이 있을 경우 의견을 수렴하여 추가할 예정이라는 반가운 소식도 있네요. 위 각 커뮤니티에 올려진 글에 댓글로 쓰시면 된다고 하고요.

RealGrid 홈페이지는 아래와 같습니다.
http://www.realgrid.co.kr/

사용자 삽입 이미지
2009/04/14 02:24 2009/04/14 02:24

trackback :: http://blog.devgear.co.kr/imp/trackback/28

조금 전에 본사에서 알려준 따끈한 소식... (본사에서 정식 공지는 4월 초에 한다고 하네요)

본사(엠바카데로)에서 Delphi/C++Builder 2009 구입자에게 TMS Smooth Controls Pack을 제공하기로 했습니다. Delphi 2009, C++Builder 2009, RAD Studio 2009를 구입하신 분들은 등록한 EDN 계정으로 로그인하시면 TMS Smooth Controls Pack을 다운로드하실 수 있습니다.

TMS Smooth Controls Pack download for 2009 Customers
http://cc.embarcadero.com/item/26725

이 다운로드는 Special Edition으로, TMS에서 직접 구입하는 것과 달리 소스가 없으며, 2009 버전에만 설치하여 사용할 수 있습니다.

이 구입자를 위한 TMS 다운로드는 2분기 말까지만 한시적으로 진행한다고 합니다.
따라서 정품 구입자 분들은 빨리 다운로드를 받아두시는 것이 좋겠구요. 아직 2009를 구입하시지 않으신 분들은 서두르셔야 받을 수 있을 듯.

TMS Smooth Controls Pack에 대한 자세한 정보는, 아래 링크에서 찾아보실 수 있습니다.
http://www.tmssoftware.com/site/advsmoothcontrols.asp

참고로, TMS Smooth Controls 외에도 2009 버전 구입자가 무료로 제공받는 것들로는 InfoPower Grid Essentials와 마르코 칸투씨의 Delphi 2009 Handbook(PDF)가 있습니다.
http://cc.embarcadero.com/item/26041
http://cc.embarcadero.com/item/26311
2009/03/23 13:43 2009/03/23 13:43

trackback :: http://blog.devgear.co.kr/imp/trackback/17