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

윈도우 앱을 적시에 예산 범위 안에서 현대화하는 방법

Recommended Posts

"This Is How To Modernize Your Apps On Time And Under Budget" (원문 작성자: Emad Bin Abid, 작성일: 2021년 9월 14일)을 번역한 글

We know that technology is progressing at a rapid pace. The software systems built five years ago using the then-modern technologies might not be relevant today due to outdated versions. Every software that aims to scale and provide effective services to its consumers must be open to modernization. Modernization of software systems enhances their longevity and keeps them relevant to the technological age in which they are operating. 

우리는 기술이 빠르게 발전하고 있다는 것을 잘 안다. 5년 전에 구축한 소프트웨어 시스템은 당시에 통용되던 기술을 사용했음에도 불구하고 오늘날에는 버전이 오래되어 적합하지 않은 경우가 생긴다. 확장 가능하면서 효과적인 고객 서비스를 제공하기를 목표로 하는 소프트웨어라면 현대화에 개방적이어야 한다. 현대화는 소프트웨어 시스템의  수명을 강화하고 시대에 적합한 기술을 유지하도록 한다.

This thought process is equally valuable to desktop apps. Application stakeholders have an imperative to recognize the need to modernize desktop software in a timely manner to efficiently continue providing services that remain competitive in the face of competition; embracing new technologies, advancements in techniques and user interface design and even fashions for UX paradigms which wax and wane. In this blog post, we’ll look at how you can use Windows application development to modernize your Windows apps on time and within your budget.

이점은 데스크탑 앱에서도 똑같이 중요하다. 애플리케이션 이해관계자에게는 데스크탑 소프트웨어를 현대화해야 할 필요성을 적시에 인식해야 할 사명이 있다. 그래야 서비스 제공을 효율적으로 지속할 수 있고 치열한 시장에서 경쟁력을 유지할 수 있다. 새 기술, 발전된 기술, UI (사용자 인터페이스) 디자인에서부터 유행하고 사라지는 UX (사용자 경험) 패러다임 유행까지 수용해야 한다. 이 글은 윈도우 애플리케이션 개발도구를 사용하여 당신의 윈도우 앱을 적시에 예산 범위 안에서 어떻게 현대화하는 지 그 방법을 살펴본다.

내 델파이 앱을 현대화하는 방법은? (How can I modernize my Delphi app?)

Embarcadero Technologies published a whitepaper titled “Successfully Modernizing A Popular Windows C++ IDE” that discusses the aspects and strategies used to modernize DevC++ IDE. This migration and up-gradation activity is an extremely important and valuable learning resource for the teams that plan on app migration. 

엠바카데로는 “인기있는 윈도우 C++ IDE를 성공적으로 현대화하기 (Successfully Modernizing A Popular Windows C++ IDE)라는 제목의 기술백서에서 DevC++ IDE를 엠바카데로에서 현대화할 때 사용한 관점과 전략을 설명한다. 여기에서 다루는 마이그레이션 업그레이드 활동은 애플리케이션을 마이그레이션하려고 계획하는 팀에게 너무나도 중요하고 배울 것이 많은 귀중한 학습 자료이다.

The upgrade of DevC++ IDE was done in two phases. The first phase aimed at making the least possible changes to make the application compile with the newer version of Delphi. After that, the second phase involved changes such as compiler upgrade, Unicode support, and full support for Windows 10 with Embarcadero DevC++ 6.0.

DevC++ IDE는 두단계로 나누어 업그레이드 되었다. 첫번째 단계에서는 새 델파이 버전에서 컴파일이 되는 것을 목표로 하고 변경은 최소화 했다. 그리고 나서 두번째 단계에서는 컴파일러 업그레이드, 유니코드 지원, 윈도우 10 완전 지원을 DevC++ IDE에 반영했다.

The case study mentions that there were some important third-party upgrades as well. The most important of all were SynEdit, FastMM4, AStyle, and TDM-GCC. The Embarcadero team identified the components to be upgraded and that is indeed one of the essential and crucial steps towards any third-party migration.

DevC++ 사례 연구에서는 몇가지 중요한 써드-파티들에 대한 업그레이드도 언급한다. 가장 중요한 것으로는 SynEdit, FastMM4, AStyle, TDM-GCC가 있었다. 엠바카데로 마이그레이션 팀은 업그레이드가 필요한 컴포넌트를 찾아냈는데, 이 과정은 써드-파티를 마이그레이션하기 위해 실제로 꼭 필요하고 가장 중요한 단계이다. 

The upgrade, as a result, provided a new and modern interface along with a faster and smoother Windows development in C++. 

업그레이드 결과, 새롭고 현대적인 인터페이스를 갖추고, 더 빠르고 원활하게 윈도우 개발을 할 수 있는 C++ IDE가 되었다.

Just like the DevC++ IDE upgrade, you can also follow similar steps to migrate your Delphi application for a smoother and better developer and user experience. 

DevC++ IDE 업그레이드 사례와 비슷하게 단계를 진행하면, 당신의 델파이 앱이 더 원활하고 더 좋은  UX (사용자 경험)을 제공할 수 있도록  마이그레이션 할 수 있다.

Read the Successfully Modernizing A Popular Windows C++ IDE whitepaper to explore more about the DevC++ IDE upgrade. 

“인기있는 윈도우 C++ IDE를 성공적으로 현대화하기" 기술 백서를 보면, DevC++ IDE 업그레이드에 대해 더 자세히 알 수 있다.


마이그레이션 및 업그레이드를 위해 꼭 필요한 요소는 무엇인가? (What are some of the essential elements for migration and up-gradation?)

If you are considering modernizing your legacy Delphi desktop application, you might think of the following essential migration and modernization strategies, to begin with.

레거시 델파이 데스크탑 애플리케이션을 현대화하려는 생각이 있다면, 마이그레이션과 현대화를 위한 아래의  필수 전략(들)부터 시작하기 바란다. 


유니코드가 왜 중요한가? (Why was Unicode important?)

Prior to the mid 2000s, Unicode was not often considered a technology of enough importance to include in most systems available on the market. With a more widespread adoption and availability of internet connectivity support for character sets which were able to render a broad range of languages became a pressing issue. People wanted their programs to be displaying text in the language they spoke and read rather than English which had become the Internet’s Lingua Franca (an ironic phrase if you think about it). Unicode allowed, for example, Russians to read and use Cyrillic characters or Japanese users to choose to display screens using Kanji should they choose to do so.

유니코드는, 2000년대 중반 이전까지, 시장에 있는 시스템 대부분에 꼭 들어가야 할 만큼 중요한 기술 이라고 간주되지는 못하는 경향이 있었다. 인터넷 연결이 더 널리 채택되고 사용됨에 따라 언어를 폭넓게 표현할 수 있는 문자 세트 지원이 널리 퍼지게 되고, 유니코드는 시급한 문제가 되었다. 사람들은 프로그램에 있는 텍스트가 더이상 영어만이 아니라 자신들이 말하고 읽는 언어로 표현되기를 원했다 -인터넷 세상에서 영어가 공통 언어(Lingua Franca)가 된 현실을 생각하면 좀 아이러니이기도 하다. 유니코드는 예를 들어 러시아 사람들은 키릴 문자(Cyrillic)를 사용하여 읽고 사용하고, 일본 사용자들은 일본 한자(Kanji)로 표현되는 화면을 선택하는 것을 가능하게 한다.   

Unicode support was added to Delphi, C++ Builder, and RAD Studio in 2009. There are multiple resources that help with the migration and upgrading of legacy Delphi applications to a newer version which supports Unicode changes.

델파이, C++빌더, RAD 스튜디오에서 유니코드를 지원하기 시작한 해는 2009년이다. 레거시 델파이 애플리케이션을 유니코드를 지원하는 새 버전으로 마이그레이션 업그레이드할 때 도움을 받을 수 있는 자료는 많다.

For more information about Unicode resources, you may visit the Unicode section of our Migration and Upgrade Center resource.

유니코드에 대한 자세한 내용은 엠바카데로의 마이그레이션 업그레이드 센터 리소스의 유니코드 섹션에 있다.


64비트 마이그레이션이 중요한가? (Is 64bit migration important?)

When dealing with legacy applications built for 32-bit operating systems you might think that modernizing your applications for a 64-bit operating system will be a troublesome and labor-intensive task to do. In many cases, can be true; but not with Delphi and RAD Studio. 64bit-5350904.png

32비트 운영 체제용으로 구축된 레거시 애플리케이션을 다룰 때, 당신은 아마 64비트 운영 체제용으로 현대화하기는 번거롭고 많은 수고가 들어가는 작업이 될 것이라고 생각할 수 있다. 많은 경우에 이것은 사실이지만, 델파이와 RAD 스튜디오에서는 그렇지 않다.

Beginning the emergence of Delphi XE2 and continuing to this day, it is now extremely simple to generate 64bit applications using the same codebase as that for 32bit applications. This migration process is significantly easier compared to other languages that require changes to variable and record/structure types to bridge the gap and resolve differences between the 32 and 64 bit platforms.

Delphi XE2 출시 이후 지금까지, 델파이에서 32비트 애플리케이션을 만든 동일한 코드를 그대로 사용하여 64비트 애플리케이션을 만드는 것은 너무 간단하다. 다른 언어에서는 32비트와 64비트 플랫폼의 격차를 메우고 차이점을 해결하기 위해 변수, 레코드/구조체(structure) 등을 바꿔야 하지만, 이와 달리 델파이에서는 64비트 마이그레이션 작업이 현격하게 더 쉽다. 

For more information about 64bit migration, you may visit the 64bit migration section of our Migration and Upgrade Center resource.

64비트 마이그레이션에 대한 자세한 내용은 엠바카데로의 마이그레이션 업그레이드 센터 리소스의 64비트 마이그레이션 섹션에 있다.


데이터베이스와 미들웨어를 현대화에 적합하게 맞추는 방법은? (How does database and middleware fit into modernization?)

Database migration is probably one of the most crucial elements for evolving software applications. The teams that look for database migration and optimization opportunities remain successful in the long run as they can more easily adapt to newer market requirements for the most critical part of application experience: data.

계속 진화하는 소프트웨어가 되기 위해 가장 중요한 요소 중 하나를 꼽자면 아마도 데이터베이스 마이그레이션일 것이다. 데이터베이스를 마이그레이션하고 최적화할 수 있는 기회를 찾는 팀은 장기적으로 성공을 지켜갈 수 있다. 그 이유는 애플리케이션 경험 중에 가장 중요한 부분인 데이터를 시장의 새로워진 요구 사항에 맞게 적응하는 것이 더 쉽기 때문이다.

The older-style desktop databases, Borland Database Engine (BDE) and dbExpress have been removed from Delphi installation in favor of a new, feature-packed and vastly more powerful FireDAC. The migration is simple, easy, and straightforward.

BDE (볼랜드 데이터베이스 엔진)과 dbExpress는 오래된-스타일인 데스크탑 데이터베이스이고, 이제는 델파이 설치에서도 빠져있다. 그 대신 기능이 풍부하고 훨씬 더 강력한 새 엔진인 FireDAC이 들어갔다. FireDAC으로 마이그레이션하기는 쉽고 간단하고 명료하다.

For more information about database and middleware, you may visit the database and middleware section of our Migration and Upgrade Center resource.

데이터베이스 및 미들웨어에 대한 자세한 내용은 엠바카데로의 마이그레이션 업그레이드 센터 리소스의 데이터베이스 및 미들웨어 섹션에 있다.


앱을 현대화할 때 도움이 되는 써드-파티 컴포넌트는 무엇이 있는가? (What 3rd party components are available to help modernize our apps?)

If your legacy Delphi application is using 3rd party components and libraries, they need to be rebuilt for the current Delphi version. If you already have the source code of third-party components, then this becomes easier as you will just need to rebuild your application.

당신의 레거시 델파이 애플리케이션이 써드-파티에서 제공한 컴포넌트와 라이브러리를 사용하고 있다면, 델파이 현재 버전에서 이것들을 다시 빌드해야 한다. 써드-파티 컴포넌트의 소스 코드를 가지고 있다면, 다시 빌드를 하기만 하면 되므로 더 쉽다. 

On the other hand, if your legacy application is using third-party resources without the availability of the original source code then you will have to use updated versions of those components that are compatible with newer Delphi.

반면에, 사용하고 있는 써드-파티의 원본 소스 코드를 가지고 있지 않다면, 새 델파이 버전과 호환될 수 있는 업데이트 버전을 찾아서 사용해야만 한다. 

For more information about 3rd party components, you may visit the 3rd party components section of our Migration and Upgrade Center resource.

써드-파티 컴포넌트에 대한 더 많은 정보는 엠바카데로의 마이그레이션 업그레이드 센터 리소스의 써드-파티 컴포넌트 섹션에 있다.

Here is an interesting video that talks about modernizing your legacy Delphi projects in great detail.

아래 비디오에서는 레거시 델파이 프로젝트를 매우 상세하게 다루고 있다.

Also, this recent webinar about automation, workflows, and modernization involving Embarcadero MVPs Glenn Dufke and Wagner Landgraf can also help you figure migration and modernization strategies for your legacy Delphi projects.

또한, 자동화, 워크 플로우, 현대화에 대해서 엠바카데로 MVP인 Glenn Dufke와 Wagner Landgraf가 진행한 최근 웨비나는 당신의 레거시 델파이를 대상으로 마이그레이션 현대화 전략을 그려보는 데 도움이 된다.


델파이 애플리케이션 현대화 아이디어 몇가지를 꼽아 본다면? (What are a few modernization ideas for a Delphi application?)

  • In-app payments and ads – Delphi has components for this
  • Data connection security with SSL
  • Create and deploy icons for your app
  • App activation and deactivation events – a standard Event mechanism in modern Delphi versions
  • Business analytics
  • Multithreading for better responsiveness – recent version of Delphi have really great libraries and classes which make threading a much easier task than in years past
  • Read more about interesting and cool modernization ideas here.


  • 인-앱 결제, 인-앱 광고 - 델파이에는 이를 위한 컴포넌트가 있다
  • SSL을 통한 데이터 연결 보안 
  • 앱 아이콘(들)을 만들어서 배포
  • 앱 활성화 및 비활성화 이벤트 - 최신 델파이 버전에는 표준 이벤트 메커니즘이 있다
  • 비즈니스 분석
  • 멀티-쓰레드를 통해 반응 능력 향상 - 최신 델파이 버전은 쓰레드를 훨씬 더 쉽게 다룰 수 있는 멋진 라이브러리와 클래스가 있다
  • 그 외에도 흥미롭고 멋진 현대화 아이디어(들)이 있다.
이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

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

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

×   서식있는 텍스트로 붙여넣기.   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...

중요한 정보

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