[RAD스튜디오, 관리자들을 위한 안내서] Part 1-3. 현대화에 대한 고민과 해소 방안

목차

머리말

1부 – 진화하는 소프트웨어 개발 세상 속의 RAD Studio®

2부 – 두 세상에서 최고가 되기 – 왜 RAD스튜디오인가

3부 – RAD Studio® 현재 – 미래를 위한 투자

요약 정리

이 문서 주제 밖의 참고 사항

엠바카데로의 방향

용어


진화하는 소프트웨어 개발 세상 속의 RAD Studio®

현대화인가 아니면 재구축인가

델파이 또는 C++빌더로 구축한 기존 코드를 가지고 있다면,

가장 첫 질문은,

지금 있는 코드가 실제로 사용되는 유스케이스가 있는가? 그것들은 어떤 것들인가?

해당 유스케이스에서 앞으로도 지금 가지고 있는 코드를 계속 사용할 수 있을까?

만약, 현재 유스케이스에서 앞으로도 계속 사용할 수 있다면 현재 코드는 여전히 가치가 있다고 보면 된다.

그 다음 질문은,

  • 지금 가지고 있는 코드에 들어있는 로직을 어떻게 꺼낼 것인가? 그리고 어떻게 앞으로 사용될 곳에 반영할 것인가?

앞으로의 계획을 준비하기 위한 주안점은,

  • 시스템의 미래 아키텍처를 그려본다. (예, 원격/모바일 접근이 필요한가 아닌가 등)
  • 위험과 비용을 식별하여 명시하고 관리한다.
  • 일정과 총 비용을 살펴본다.
  • 어느 단계에 새 프로젝트가 필요한 지를 결정한다.

안전을 추구하기, 빠르게 진행하면 시간을 벌기

기존 코드 베이스를 지속적으로 사용하려고 할 때 장애가 되는 것으로

  • 첫 버전부터 회사 내에서 오랫동안 진화해 온 코딩 관행을 꼽을 수 있다.
    • 기존 코드와 프로젝트가 여전히 효력이 있겠지만,
    • 만약 프로젝트가 지금 새로 시작된다고 치면, 개발팀이 다른 방식으로 해보고자 할 것들도 일부 있을 것이다.

계획에 기존의 코드 현대화가 들어있다면

  • 기존 코드를 단계별로 업데이트하는 것이 가장 안전한 방법이다.
    • 고객은 언제나 최신 상태인 제품을 사용할 수 있고
    • 제품 업데이트를 지속적으로 진행하면서 새 방식을 적용할 수 있다.

UI 테스트를 마이그레이션 방법으로 활용하기

테스트를 코드에 추가하는 작업이 개발 프로세스의 한 부분이 되면

  • 테스트를 더 빠르고 효과적으로 할 수 있다고 보장할 수 있다.
    • 코드 테스트가 보장되면 좋겠다고 누구나 생각한다.

유닛 테스트는 코드 테스트에서 이미 한 부분을 차지한다

  • 새 코드, 새 함수, 새 클래스에 유닛 테스트를 추가하기는 쉽다.

UI 테스트는 유닛 테스트와 더불어 널리 사용되는 또 다른 방법이다.

  • RAD스튜디오의 오래된 버전을 새 버전으로 마이그레이션 할 때, UI 테스트를 중심으로 진행하면 매우 좋다.
  • 아키텍트 에디션에는 라노렉스가 들어있다.
    • 라노렉스는 VCL개발 시 UI 테스트를 도와주고
    • 향후 코드 변경을 확인하는 기초를 쉽게 추가할 수 있도록 한다.
    • RAD 개발자들은 UI 테스트를 만들 수 있다.
      • 자신이 만든 애플리케이션이 UAT로 넘어가기 전에 직접 점검할 수 있다.

라노렉스의 장점은

  • UI층만 다룬다.
    • 따라서 개발자가 원한다면 내부 코드를 얼마든지 고칠 수 있다.
  • 사용자 경험 상 변경된 것이 있는지 확인하는 방식이다.
    • 모든 것을 검증할 수 있다.
  • 반복되는 공통 행위를 저장해 두고, 테스트 여러곳에 넣어서 사용할 수 있다.
    • 로그인 행위 등
    • 빠르고 유연하게 테스트를 작성할 수 있다.
  • 테스트가 생성되고 나서, RAD스튜디오 상에 구축된다.
    • 개발팀 바깥에 있는 기여자들이 테스트를 만들 수 있도록 전달할 수 있다.
    • 그 결과, 개발팀의 부담을 덜어줄 수 있다.

윈도우10의 최신 기능 추가하기

기존 애플리케이션의 어떤 UI도 몇단계만 간단히 거치면 빠르게 강화할 수 있다.

  • RAD스튜디오 컴포넌트 설계 원칙 덕분이다.

RAD스튜디오 컴포넌트 만의 특별한 장점 덕분에 RAD스튜디오로 만든 앱은

  • 오래된 윈도우 버전도 작동할 수 있다.
    • 윈도우 10 이전 버전에 갇혀있는 일부 사용자들도 RAD스튜디오로 만든 앱을 계속 업데이트할 수 있다.

윈도우 10에서는 높은 DPI 모니터와 DPI가 서로 다른 여러 모니터를 지원한다.

  • 이에 발맞추어, RAD스튜디오는
    • 그 결과, 전통적인 TImageList를 대체할 수 있는 TVirtualImageList와ㅜTImageCollection를 제공한다.
    • 내부적으로 높은 DPI 모니터 별로 적용되는 지원 API를 캡슐화했다.
    • 코드를 따로 작성하지 않아도 각 모니터의 스크린 해상도에 따라 알맞은 이미지를 제공한다.

돈과 시간을 절약할 수 있도록 고안하기

인적 부담을 줄일 수 있다는 점은 RAD스튜디오의 가장 큰 장점 중 하나이다.

  • 더 적은 인력으로도 코드 기반을 업데이트 할 수 있다.
  • 결국 시간과 비용을 크게 절감한다.
  • RAD스튜디오에 대한 관심이 급격하게 커지는 이유는 바로 이것 때문이다.

RAD스튜디오는 다양한 주제에 맞게 배울 수 있다.

  • 2017년 온라인 컨퍼런스 형태로 일주일간 열린 사물인터넷 부트 캠프에는 180 여개국에서 개발자들이 참가했다.
  • 이외에도 LearnDelphi.orgEmbarcaderoAcademy.com 에는 훌륭한 온라인 자료들이 있다.

RAD스튜디오 개발자 커뮤니티가 전세계적으로 크긴 하지만,

  • 여전히 특정 영역에서는 가끔 개발자가 모자라기도 한다. 이런 상황을 해소하기 위해
    • 점점 더 많은 회사들이 C# 개발자를 고용하여 RAD스튜디오를 잘 사용할 수 있도록 교육하고 있다.
    • C#개발자는 일반적으로 2주에서 4주 정도면 RAD스튜디오와 해당 프레임워크를 매우 편안하게 사용할 수 있다. (물론 개발자마다 차이가 있긴하다.)
    • C# 방식이 델파이를 빼닮은 부분이 많기 때문에 현실성이 높은 방안이다.
      • C#을 만든 앤더스 헤즐스버그는 델파이를 만든 사람이기도 하다

RAD스튜디오의 아키텍처는

  • 오랜 시간동안 증명되었으며 혁신적인 크로스 플랫폼 솔루션 분야를 여전히 선도하고 있다.
    • OOP를 가장 잘 반영한 방식을 따라서 만든 컴포넌트 모델 덕분이다.
      • 코드는 쉽게 현대화될 수 있다.
      • 시장의 변화와 새 특징 반영할 때 수고가 매우 적다.
  • 장기 투자 측면에서 ROI가 매우 탁월하다.
    • 기존 개발자가 델파이를 익히는 것이 쉽다.
    • RAD 개발자는 다른 프레임워크 개발자보다 5배 이상 생산적이다.
    • 팀의 규모와 관계없이 RAD스튜디오는 장기 생산성 면에서도 탁월하다.

AI api C++ c++빌더 code database Delphi fmx IDE ideas interbase ios migration modernization news python RAD스튜디오 tips UI UIUX vcl 개발 개발사례 개발팁 교육 기술레터 기술백서 데이터 데이터베이스 델파이 마이그레이션 모바일 안드로이드 윈도우 윈도우10 인공지능 인터베이스 출시 코드 파이썬 파이어몽키 프로그래밍 프로젝트 현대화