어드민 7월 11일, 2022에 포스트됨 공유하기 7월 11일, 2022에 포스트됨 엠바카데로 블로그에 Atanas Popov 본부장이 쓴 "Modernize Your Apps"를 번역한 글 (원문 작성일: 2018년 2월 12일, 번역일: 2018년 2월 19일) 애플리케이션의 현대화는 델파이/C++빌더 개발자 대부분이 가장 중요하게 생각하는 주제 중 하나이며 꾸준하게 이야기 되고 있다. 지금까지 상당한 기간동안 델파이가개발자와 함께 있었고, 주위에는 델파이로 만들어진 훌륭한 "레거시" 앱들이 매우 많다. 오래 전인 델파이 7 시기에 만들어진 앱들도 여전히 사용 되고 있다. 이런 사실은 델파이가 개발 프레임워크로써 얼마나 품질 수준이 높은 지를 보여주는 증거이기도 하지만, 만들어 진지 10년이 넘은 앱 입장에서 보면, 글쎄... 너무 오래된 것이라는 점 역시 사실이다. 개발자들은 고객들에게 현대적이고 경쟁력 있는 앱을 제공하기 위해 델파이를 최신 버전으로 옮기고 있다. (역자 주: 델파이는 델파이로 만들기 때문에) 우리 역시 내부적으로 RAD 스튜디오 자체를 현대화하기 위해 같은 여정을 밟아 오고 있다. 현대화가 늘 쉽기만 한건 아니지만, 노력할 가치가 있다. 나는 엠바카데로가 이 과정에서 어느덧 상당한 진전을 이루었다고 생각한다. 그리고, 현대화의 여정을 계획하는 델파이 개발자들에게 도움이 될 수 있도록, 우리가 현대화 여정을 통해 직접 얻은 몇가지 교훈을 정리하여 공유해야겠다는 자신감이 생겼다. UI를 현대식으로 업데이트 하십시오 내 생각에 현대화 프로젝트에서 내가 가장 어려운 부분은 UI 현대화를 설득력있게 주장하는 것이다. 잘 작동한다면, 아이콘이 낡아 보이는 걸 신경쓸 사람이 누가 있냐고 말하는 사람들도 분명히 있다. 개발자 역시 종종 룩앤필(look and feel)을 신경쓰지 않는 경향이 있어서, UI 현대화에 열정을 쏟기 어렵다. 하지만, 현대화된 룩앤필(look and feel)의 영향은 너무나 크다. 우리는 지난 2년간 점진적으로 많은 현대화를 해왔으며 더 할 것들도 있다. 우리가 진행한 설문 조사에서 RAD 스튜디오의 룩앤필이 더 높은 우선 순위를 차지하는 경우는 거의 없다. "외형이 예뻐보인다"는 이유로 기업용 소프트웨어를 구입한다고 말하는 고객 역시 거의 없다. 하지만, UI 개선이 완성되면, 그것이 끼치는 영향은 놀랄만큼 크다. 특히 델파이로 만든 앱에서 그 영향이 더 큰데 그 이유는 "레거시"라는 편견이 함께 있기 때문이다. UI 현대화라는 싸움은 할 만한 가치가 있고 다행스럽게 VCL과 FMX 도구가 업데이트 되면서 UI 현대화를 구현하는 것이 더 쉬워졌다. 시간을 가지고 옳은 일을 하자. 전문 디자이너의 도움을 받는 것은 정말 가치있는 일이다 (다시 말하지만, 많은 개발자들이 잘 하지 못하는 분야이다). 멋진 고품질 아이콘의 영향을 간과하지 않도록 주의하자. 아래 그림은 우리가 10.2.2 버전을 만들 때 새로 업데이트한 아이콘(들) 중 일부이다. 델파이 바깥에도 값이 매우 싸면서도 좋은 것들이 정말 많다. 예를 들어, 나는 www.icons8.com 을 좋아한다. 모바일로 가십시오 델파이의 가장 큰 장점 중 하나는 바로 파이어몽키(FMX)이다. 스마트 폰 채택율이 증가함에 따라 (2018년까지 70% 수준까지 예상됨), FMX 또한 크게 증가할 것이다. VCL을 이미 알고 있다면, 비교적 자연스럽게 FMX를 사용하여 개발할 수 있다. 물론 FMX 만의 고유한 특징이나 스타일이 있으며, 솔직히 말해서 RAD스튜디오 작업 흐름은 좀더 더 개선될 여지가 있기도 하다. 하지만, RAD 스튜디오의 생산성은 놀라운 수준이다. RAD 스튜디오가 아닌 다른 기술인 경우에는 대부분 플랫폼 별로 팀을 따로 꾸리고 투자도 따로 하게 된다. 과거에는 모바일 앱을 하나의 패키지로 외부에 맡겼지만 지금은 달라지고 있다. FMX를 사용하면 해당 모바일 앱을 델파이 팀이 개발할 수 있다. 오래된 앱을 FMX로 다시 만들 필요는 없지만, 모바일로 갈 수 있도록 의미있게 확장하는 것은 필수다. 개발자는 엄청난 존경을 받게 될 것이고 델파이 기술은 현대적인 것이라고 당당하게 인식될 것이다. 개발팀이 꾸려질 수도 있다. FMX를 시작하는 데 도움이 되는 교육 자료들도 많다. 나는 개인적으로 델파이 스타일(Delphi Styles)를 좋아한다. 아주 매끈하게 맞춤형 룩앤필을 구현할 수 있기 때문이다 (아래 그림은 www.delphistyles.com 에서 골라 온 FMX 스타일 템플릿이다). "멀티-티어(Multi-Tier)"로 만드십시오 아키텍처(구조)는 간단한 문제가 아니다. 안타깝지만, 훌륭한 개발자 조차도 다른 분야에 대한 지식이 없을 수도 있다. 이건 그저 소프트웨어 개발 안에 워낙 방대한 분야가 있다는 단순한 이유 때문이다. 따라서 데스크탑 앱을 멀티-티어로 옮기기 등 아키텍처 변경을 해내는 것은 경험이 가장 많은 개발자에게 조차도 새로운 학습 경험이 될 수도 있다는 의미이다. 학습한다는 것 또는 도움이 되는 외부 지원을 받는 다는 것은 언제나 좋은 일이다. 엠바카데로는 쉽게 아키텍처를 전환할 수 있도록 하는 것을 목표로 한다. 예를 들어, RAD 서버는 멀티-티어 아키텍처를 지원하는 능력이 뛰어나다. 오래된 앱을 멀티-티어 관점에서 다시 생각하는 것이 (과거에 어떻게 구축되었는 지에 따라 다르기 때문에) 아무런 보장이 없긴 하지만 그다지 벅차거나 두려운 일은 아니다. 처음에는 겁이 많이 났지만, 일단 들어가 보니, 전환 작업이 예상보다 훨씬 적었다고 나에게 말한 개발자들이 많았다. 확실히, 이렇게 전환하면 자바 등 완전히 다른 언어로 플랫폼을 바꾸는 것에 비해 비용이 훨씬 적게 든다. 다시 말하지만, 한가지 간단한 접근 방식은 가능한 작게 시작하고 가능한 많이 모듈화하는 것이다. 또한 너무 서두르느라 VCL 고객을 잃지 않도록 하자. 애플리케이션이 제공하는 속도는 복제되지 않는다. 특히 몇초가 매우 중요한 민감한 환경이라면 더욱 주의해야 한다. VCL 앱을 자바로 재구축하고도, 사용자들이 받아들이지 않은 몇백억원 짜리 프로젝트는 내가 아는 것만 몇개나 된다... 엄청난 낭비이다. "웹화(Webify)" 하십시오 아마 무슨 의미인지 바로 이해했을 것이다. 델파이로도 할 수 있는 방법이 오늘날 많이 있다. 가장 이상적인 방법은 계층으로 나눠진 앱을 만들고 독립적인 웹 클라이언트를 구축하는 것이다. 물론 우리는 Ext JS를 추천한다. 우리 제품 중 하나이기 때문이다. 하지만, 다른 클라이언트 웹 기술도 좋은 것들이 많다. 또 다른 방식이 더 빠를 수도 있는데 UniGui와 같은 도구를 사용하는 것이다. UniGui는 VCL 방식으로 개발하면서도 웹 클라이언트를 빌드할 때 Ext JS를 활용한다. 모든 경우에 효과가 있지는 않지만 매우 빠르고 생산적이다. 개발자가 앱의 모듈을 빠르게 만들어서 웹에서도 델파이가 잘 그리고 빠르게 효과를 발휘한다는 것을 보여 줄 수 있다는 점은 확실하다. 오늘날 델파이 앱과 연결되는 웹 인터페이스들은 닷넷(.NET)으로 구축된 것이 많다. 둘 다 윈도우와 연관되어 발전했기 때문이다. 물론 이것도 효과는 있지만, 우리의 최근 경험과 새 JS 기술을 바탕으로 볼 때, JS를 통해 얻을 수 있는 속도와 유연성은 엄청나다. 통합하십시오(Integrate) RAD스튜디오에는 가장 뛰어난 통합 프레임워크(들)과 컴포넌트(들)이 들어있다. 다른 기술(들)이 가장 어려워하는 점들 중 대표적인 것이 바로 '통합'이다. 이점에서 우리는 정말 우월하고 빠르다. 최근 설문 조사에서 우리 고객 중 FireDAC을 채택한 고객의 비중이 엄청 높았다. 멋진 일이다. 개발한 현대식 앱이 더 많은 통합을 할 수 있도록 하는 새로운 방식을 찾아야 한다. ERP 시스템에서 재고를 가져와서 보여주거나 정보를 받아본다면 어떨까? 엔터프라이즈 커넥터스(Enterprise Connectors)는 FireDAC 프레임워크를 기반으로 한다. 그리고 이런 통합을 매우 잘 해낸다. 우리는 ExtJS로 포탈을 만드는 내부 프로젝트를 할 때 엔터프라이즈 커넥터스를 사용하여 우리의 SFDC(세일즈포스, Salesforce.com)에 연결했다. "와!" 하는 탄성이 나오는 개발 경험이었다. 혁신하십시오(Innovate) 델파이에는 푸쉬알림, 비콘, Woll2Woll 모바일 편집기(www.woll2woll.com/beam) 등 많은 기능이 새로 추가되었다. 윈도우 10의 새 기능을 사용하는 개발자가 거의 없다는 점은 매우 놀랍다. 잘 활용되지 못하고 기술 중에서 내가 가장 좋아하는 것은 비콘(Beacons)이다. 이것들은 지금 "무료로" RAD 스튜디오 엔터프라이즈 에디션 안에 들어있다. 비콘 모바일 편집기는 이 비콘 기술을 사용하는 모바일 앱을 개발하는 속도를 높인다. 위치 데이터 수집을 활용하는 기업용 델파이 앱들이 매우 많다는 점을 감안하면, 델파이 앱 안에 넣는 것이 당연할 만큼 쉽고 멋진 기능이다. 그리고 델파이에서 최고 장점은 이런 혁신을 실현하기 위해 수억원의 비용을 들일 필요가 없다는 점이다. 레거시라는 주장을 넘어서십시오 이점은 엠바카데로가 RAD스튜디오에 들이는 노력과는 관계가 없는 내용이겠지만, 어쨌든 델파이 고객들 각자가 극복해야 할 장애물이다. 델파이는 레거시라는 인식은 여전하다. 최근 이런 인식을 극복하려는 노력이 있긴 하지만 아직까지도 마찬가지이다. 최근, 나는 살짝 다르게 접근해보았는데 매우 성공적이었다. 이제 나는 델파이가 가진 많은 장점들을 변호하려고 깊이 들어가지 않고, 사실 몇가지만 말한다. 그리고 더는 변호하지 않는다. 효과가 있다! 오늘날 델파이는 가장 큰 상업용 개발 생태계 중 하나이다 - 경기가 악화되고 지원이 감소함에 따라 많은 오픈 소스들이 추진력을 잃었다. 델파이가 가장 빠르고, 가장 사용하기 쉽고, 가장 기능이 뛰어난 개발 도구라는 사실은 말할 필요가 없다 (약간 주관적이긴 하지만.. 사실이다!). 윈도우 개발용인 VCL 프레임워크는 MS 윈도우를 네이티브로 지원하는 기능을 가장 많이 유지해오고 있다. VCL을 이기는 건 없다. FMX는 잠마린(Xamarin) 보다 네이티브 크로스 플랫폼 지원 능력이 더 좋다. 그 인기는 특히 안드로이드 앱 개발 측면에서는 빠르게 증가하고 있다. 내 생각에 기술 위험을 관리하고자 하는 회사라면 델파이와 VCL을 선택하는 것이 시중에 있는 최신 기술과 최신 프레임워크를 선택하는 것보다 훨씬 더 안전하다.앵귤러(Angular)를 여러번 반복하거나 Java 마이그레이션에 엄청나게 쏟아 부어본 경험을 해 본 사람에게 물어보기만 하면 바로 알 수 있다. 매우 생산성이 높은 언어와 재사용할 수 있고 프론트-엔드와 백-엔드에 유연하게 작업할 수 있다는 점이 델파이에게 강력한 기술 경쟁력을 제공한다. 글쎄, 처음 의도보다 글이 다소 길어졌다. 하지만 현대화(Modernization)에서 넘어서기에 아마도 가장 어려운 점이 하나가 있는데, 다시 말하지만, 기술이라기 보다는 오히려 인식의 문제이다. 고객은 델파이 교육을 받은 쓸만한 개발자가 부족하다는 점을 계속 주장한다. 안타깝지만, 여전히 사실이다. 숙련된 델파이 개발자 수는 다른 인기있는 기술에 비해 더 적다. (역자주: SI 업체 등) 아웃소싱 회사는 델파이 같은 도구에 특히 부정적인데, 델파이의 생산성이 자신들의 사업 모델과 직접적으로 반대되는 경향이 있기 때문이다. 자바 개발자 50명을 팔 수 있는데 그 대신 델파이 개발자 5명을 팔 이유가 없다. 이것 역시 우리가 이기는 주장이다. 델파이 개발자는 그렇게 많이 필요하지 않다 - "그만큼" 좋다. 델파이 개발자가 자신의 기술을 닦아야 하거나 새 팀을 교육해야 하는 한, 우리는 엠바카데로 아카데미(Embarcadero Academy)를 계속해서 발전시키고 더 많은 컨텐츠와 과정을 붙여나갈 것이다. 우리 경험 상 고급 개발자라면 델파이를 정말 빠르게 익힌다. 현대적인 멋진 앱을 만들어서 기술 비관을 날려버리자. 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
어드민 7월 18일, 2022에 포스트됨 Author 공유하기 7월 18일, 2022에 포스트됨 On 2022. 7. 12. at 오전 11시 10분, 어드민 said: 이제 나는 델파이가 가진 많은 장점들을 변호하려고 깊이 들어가지 않고, 사실 몇가지만 말한다. 그리고 더는 변호하지 않는다. 이 글과 직접적으로 관련이 없지만, 흥미있는 사실이 언급된 글: https://jonlennartaasenden.wordpress.com/2016/10/18/why-c-coders-should-shut-up-about-delphi/ 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.