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

예산 내 비용으로, 적시에 애플리케이션을 현대화하는 방법

Recommended Posts


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의 성공적인 현대화"라는 백서를 통해 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 업그레이드는 두 단계로 진행되었다. 첫 번째 단계는 최소한의 변경만하여, 더 새로운 버전의 델파이로 애플리케이션을 컴파일하는 것이 목표였다. 두 번째 단계는 컴파일러 업그레이드, 유니코드 지원, 엠바카데로 DevC++6.0으로 윈도우 10 완벽 지원과 같은 변경 사항들이 포함되었다.


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. 

케이스 스터디에서 보면, 중요한 써드파티 업그레이드도 있었다는 내용을 언급한다. 가장 중요한 부분은 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++로 더 빠르고 더 원활하게 작동하는 윈도우 개발과 새로운 최신식의 인터페이스를 제공할 수 있게 되었다.


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.

DevC++ IDE 업그레이드에 대한 자세한 내용은 인기있는 윈도우 C++ 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년대 중반 이전에는, 유니코드가 업계 대부분 시스템에는 다 있을 만큼 중요한 기술로 여겨졌다. 광범위한 언어를 렌더링할 수 있었던 문자 집합(character set)에 대한 인터넷 연결 지원이 가능해지고 더 많은 곳에서 채택하면서 초미의 대상이 되었다. 사람들은 개발한 프로그램이 인터넷 링구아프랑카 (생각해보면 아이러니한 문구) - 모국어를 달리하는 사람들이 상호이해를 위하여 습관적으로 사용하는 언어 (번역 편집자 주) - 가 된 영어보다는  직접 말하고 읽는 언어로 텍스트를 보여주기를 원했다. 예를 들어, 러시아인들은 키릴 문자를 읽고 사용할 수 있고, 일본인들은 칸지어가 표시되도록 선택할 수 있었다.


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.

유니코드 지원은 2009년 델파이, C++빌더, RAD스튜디오에 추가된 기능이다. 기존 레거시 델파이 애플리케이션을 유니코드 지원이라는 더 새로운 버전으로의 마이그레이션 및 업그레이드를 지원하는 다양한 자료들이 있다.


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

유니코드 자료 관련 더 많은 정보는 업그레이드 마이그레이션 센터 자료의 유니코드 부분에서 확인할 수 있다.



64bit 마이그레이션이 중요한가?(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.

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.

델파이XE2의 등장을 시작으로 현재까지, 32비트 애플리케이션과 동일한 코드베이스를 사용하는 64비트 애플리케이션을 만드는 것은 정말로 간단하다. 다른 언어들의 경우 32비트와 64비트 플랫폼 간의 차이를 해소하고, 그 갭을 매우기 위해 변수와 레코드/구조 타입을 변경해야 하는데, 이와 비교했을 때 델파이와 RAD스튜디오의 마이그레이션 프로세스는 상당히 쉽다.


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)와 dbExress는 새로운 기능을 탑재한 훨씬 더 강력한 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.

여러분의 레거시 델파이 프로젝트를 현대화하는 것에 대한 전문가들의 이야기가 담긴 흥미로운 영상을 살펴보길 권한다.



델파이 애플리케이션의 현대화 아이디어(What are a few modernization ideas for a Delphi application?)

  • 인앱 결제와 광고 - 델파이에는 이 기능 관련 컴포넌트들이 있음.
  • SSL을 통한 데이터 연결 보안
  • 앱 아이콘 생성 및 배포
  • 앱 활성화/비활성화 이벤트 - 최신 델파이 버전에서 제공하는 표준 이벤트(Event) 메커니즘
  • 비즈니스 분석
  • 더 뛰어난 응답을 위한 멀티스레딩 - 최신 델파이에는 매우 우수한 라이브러리와 클래스가 있어, 스레딩이 과거보다 훨씬 쉬워짐.


마이그레이션을 고민하는 개발자를 위한 다양한 자료와 컨설팅


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

  • RAD changed the title to 예산 내 비용으로, 적시에 애플리케이션을 현대화하는 방법

이 토의에 참여하세요

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

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

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

중요한 정보

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