[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.org 와 EmbarcaderoAcademy.com 에는 훌륭한 온라인 자료들이 있다.

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

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

RAD스튜디오의 아키텍처는

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

12.0 13 13.0 13.1 AI C++ c++빌더 chatgpt DelphiCon ios rad서버 RAD스튜디오 UI UIUX UX vcl WebStencils 개발 개발사례 기술레터 기술백서 데브옵스 데이터 데이터베이스 델파이 리눅스 마이그레이션 맥 머신러닝 모바일 새버전 샘플 세미나 안드로이드 웹 윈도우 인공지능 인터베이스 출시 커뮤니티에디션 코드 클라우드 파이썬 파이어몽키 현대화