Kori 6월 10일, 2022에 포스트됨 공유하기 6월 10일, 2022에 포스트됨 엠바카데로 블로그에 짐 메키트 (Jim McKeeth)가 쓴 "Introduction to Python GUI Development with Delphi for Python (VCL & FMX)"를 번역한 글 (원문 작성일: 2022년 1월 12일, 번역일: 2022년 6월 10일) 엠바카데로에서 새로 출시한 무료 Python GUI 모듈은 델파이 GUI 프레임워크의 강력함과 유연성을 파이썬(Python)에서 활용할 수 있도록 한다. 어떻게 작동하는 지 이 글에서 소개한다. VCL과 파이어몽키(FMX)는 오랫동안 성숙된 강력하고 유연한 GUI 라이브러리이다. VCL은 네이티브 윈도우 개발 전용이고, 파이어몽키로는 윈도우, 리눅스, 맥OS, 안드로이드 모두를 개발할 수 있다. 이 웨비나에서는 이 무료 파이썬 모듈이 무엇이고 어떻게 파이썬으로 그래픽 사용자 인터페이스를 강력하게 구축하는 지 그 방법을 소개한다. 2부에서는 파이썬으로 안드로이드 GUI 애플리케이션을 만드는 방법을 보여준다! 웨비나 다시보기: 발표자료 (한글 번역본) PDF를 다운로드 하기 목차 어떤 사람들에게 도움이 되는가? 경쟁 관계가 아니다 Python용 Delphi란 무엇인가? 델파이과 파이썬 타임라인 델파이의 DNA 파이썬의 정신(Zen of Python) 비교하기 (델파이 – 파이썬) 개발 3수준(모든 개발 도구에 보편적) VCL(마이크로소프트 윈도우용 비주얼 컴포넌트 라이브러리, Visual Component Library) FMX(크로스-플랫폼 파이어몽키 프레임워크) 델파이를 짧게 소개 Python용 Delphi Python용 Delphi 설치하기 Hello World(가장 간단한 예제) 스타일 적용 예제 델파이 IDE에서 UI 디자인하기 델파이와 파이썬을 함께 쓰기 델파이를 사용하여 네이티브 파이썬 모듈 만들기 참고 문서 및 라이브러리 파이스크립터(PyScripter) 소개 울트라에디트(UltraEdit) 소개 다음 단계 어떤 사람들에게 도움이 되는가? 멋진 GUI를 원하는 파이썬 개발자 델파이에 대해 궁금한 파이썬 개발자 파이썬을 사용하려는 델파이 개발자 새 기술이 궁금한 델파이 개발자 델파이와 파이썬에 대해 궁금한 다른 개발자 경쟁 관계가 아니다 개발자는 작업 현장에서 여러 도구를 사용한다. 각 작업에 적합한 도구가 무엇인지를 아는 것은 중요하다. 특정 작업에만 전문화된 도구를 따로 쓴다고 해서 즐겨 쓰는 도구가 손상되지 않는다. 다른 작업을 할 때면, 그 작업에 더 알맞은 도구가 있다는 것을 알 수 있다. 하지만, 도구 하나가 모든 작업에서 최고인 경우는 없다. Python용 Delphi란 무엇인가? 무료 파이썬 모듈 세트로써 파이썬 개발자가 델파이 GUI 라이브러리를 사용할 수 있다. 오픈 소스인 Python4Delphi가 기반이다.(PyScripter를 구현하는 동일한 기술) 현재 깃허브(GitHub)와 PyPi에 있다. 베타가 아닌 정식 버전이다. (참고: 이 웨비나 시점에는 베타 버전이었다) Python용 DelphiVCL은 윈도우 ( 32비트 및 64비트) 전용이다. Python용 DelphiFMX는 리눅스 64비트, 안드로이드,맥OS와 윈도우를 모두 지원한다. Delphi와 Python을 서로 연결해주는 양방향 브리지(연결 매개체) 중 하나이다. 델파이과 파이썬 타임라인 델파이의 DNA 개발자 생산성: 가장 핵심 목표는 작업을 신속하게 완료하는 것이다. 유지 관리성: 코드 읽기와 이해가 쉽도록 잘 캡슐화 되어 있다. 빠르고 컴파일된 네이티브 앱: 컴파일 속도가 빠르고, 생성된 네이티브 애플리케이션의 실행 속도 역시 빠르다. 데이터베이스 접근: 데이터베이스 접근을 담당하는 풍부한 컴포넌트 세트가 항상 제공된다. 플랫폼 API 접근: 플랫폼 API를 직접 호출할 필요는 없지만, 원한다면 얼마든지 호출할 수 있다. 프로퍼티-메소드-이벤트: 컴퍼넌트를 다루는 일반 모델 비주얼 디자이너: 드래그 앤 드롭 방식 WYSIWYG 안정적인 애플리케이션: 예외 처리 모델과 컴포넌트 소유자 모델 이전 버전 호환성: 모든 업데이트에서 코드 대부분이 호환된다. 컴포넌트 생태계가 풍부함: 뭘 찾든 웬만해서는 컴포넌트가 있다. 파이썬의 정신(Zen of Python) 파이썬 프로그래밍 언어를 설계할 때 영향을 미치는 19가지 "권장 원칙" 아름다운(beautiful) 것은 못생긴(ugly) 것보다 좋다. 명시적인(explicit) 것은 암묵적인(implicit) 것보다 좋다. 단순한(simple) 것이 복잡한(complex) 것보다 좋다. 복잡한(complex) 것이 엉켜있는(complicated) 것보다 좋다. 평평한(flat) 것이 중첩된(nested) 것보다 좋다. 듬성듬성한(sparse) 것이 밀집된(dense) 것보다 좋다. 가독성(readability)이 중요하다. 특별한(special) 경우라고 해도 규칙(rule)을 어겨도 될만큼 특별하지 않다. 비록 실용성(practicality)이 순수성(purity)을 이긴다고 할지라도. 오류(error)를 결코 조용하게(silently) 전달하면 안된다. 조용하게 전달하겠다고 명시하지(explicitly) 않는다면. 모호함(ambiguity)을 마주한 상황에서는, 추측(guess)하고 싶은 유혹을 거부하라. 명쾌한(obvious) 해결책이 하나(one)의 -- 오직 하나 밖에 없으면 더 좋다 -- 있기 마련이다. 비록 처음에는(at first) 그 길이 명쾌하지(obvious) 않아 보일 수 있겠지만. 지금 하는 것(now)이 전혀 하지 않는 것(never)보다 좋다. 비록 전혀 하지 않는 것(never)이 지금 "당장" 하는 것("right" now)보다 종종 더 좋지만. 어떻게 실현되는 지(implementation)를 설명하기 어렵다면, 그 아이디어는 나쁜(bad) 아이디어이다. 어떻게 실현되는 지(implementation)를 설명하기 쉽다면, 그 아이디어는 좋은(good) 아이디어일 수 있다. 네임스페이스(namespaces, 영역이름)는 정말 대단한 아이디어이다. -- 더 많이 사용하자. 비교하기 (델파이 – 파이썬) 델파이 파이썬 1995년 발표 1991년 발표 덴마크 사람이 설계 네덜란드 사람이 저술 상업용 라이선스 (CE는 무료) 오픈 소스 정적으로 타입 형성 (명시적, 또는 추론식) 동적으로 타입 형성 수작업으로 메모리 관리 (소유주 모델 적용) 쓰레기 수집식 메모리 관리 (가비지 컬렉션: 참조 카운팅과 순환-탐지) 컴파일 방식 (인터프리터 옵션 있음) 인터프리팅 방식 (JIT 또는 컴파일러 옵션 있음) 업무용 애플리케이션 분야에서 인기있음 연구와 프로토타입 분야에서 인기있음 언어 수준에서 최상의 활용 방식과 가독성을 권장함 광범위한 재사용 라이브러리들이 포함됨 생태계 (개발자와 라이브러리)가 풍부함 구조식, 절차식, 함수식, 객체지향식 프로그래밍 지원 개발자 커뮤니티가 환상적임 개발 3수준(모든 개발 도구에 보편적) VCL(마이크로소프트 윈도우용 비주얼 컴포넌트 라이브러리, Visual Component Library) 윈도우용으로 설계되었으며, 윈도우 새 버전의 기능, 컨트롤, 테마, 디자인을 지속적으로 지원하면서 윈도우와 함께 진화한다. 델파이 1 이후 모든 버전에서 전체 소스가 함께 제공된다 . 대부분 윈도우 네이티브 플랫폼의 위젯과 컨트롤을 가볍게 덮고있는 래퍼(wrapper)이다. "소유자가 그리는" 컨트롤도 많다. 윈도우의 핸들(Handles), 메시지(Messages) 등등에 손쉽게 접근하도록 한다. 윈도우 개발을 크게 단순화하면서도 윈도우의 모든 플랫폼 기능과 API에 접근할 수 있다. 윈도우의 네이티브 룩앤필을 지원하며 테마 시스템 전체를 갖추고 있다. 써드-파티 컴포넌트의 생태계가 풍부한 매우 성숙한 플랫폼이다. FMX(크로스-플랫폼 파이어몽키 프레임워크) GPU 라이브러리를 활용하여 하드웨어 가속과 풍부한 사용자 인터페이스를 제공하여 여러 플랫폼에서 빠르게 작동하고 멋지게 표현한다. VCL과 유사하지만 VCL과 호환되도록 설계되지는 않았다. GPU 효과, 애니메이션 및 강력한 스타일 반영 체계를 담고있다. 플랫폼 서비스에서 각 플랫폼의 하드웨어와 기능에 대한 접근을 추상화하였다. 그 결과, 각 플랫폼에 맞게 지능적으로 UI와 UX를 맞춘다. 컴포넌트 체계가 매우 유연하다 - 더 적은 수의 (중첩할 수 있는) 컴포넌트를 가지고 더 많은 작업을 한다. 델파이를 짧게 소개 델파이가 없어도 Python용 Delphi 모듈을 사용할 수 있다. 하지만, 델파이가 뭔지 소개하자면, 델파이 IDE는 윈도우에서 작동하면서, 윈도우 뿐만 아니라 다른 플랫폼용 앱을 만들 수 있다. 시작할 때 고를 수 있는 에디션과 옵션이 여러 가지이다. 무료 옵션 – RAD 스튜디오 엔터프라이즈 30일 무료 평가판 / 커뮤니티 에디션 (일부 제한 사항이 적용됨) 유료 에디션 세 가지 – 아키텍트, 엔터프라이즈, 프로페셔널 참고: RAD 스튜디오에는 델파이와 C++빌더가 모두 들어 있다. 더 자세히 알아보기: https://devgear.co.kr/products/delphi Python용 Delphi Python용 Delphi 설치하기 지원 – 윈32와 윈64 x86 아키텍처 / Python cp3.6, cp3.7, cp3.8, cp3.9, cp3.10 Conda 지원 – Python cp3.6에서 cp3.10까지 x86과 x64 지원 pip를 통해 설치: pip install delphivcl 세부정보 및 다운로드 github.com/Embarcadero/DelphiVCL4Python pypi.org/project/delphivcl/ Hello World(가장 간단한 예제) 스타일 적용 예제 활동 표시기 예제에서 스타일 로드와 변경을 선택하여 직접 볼 수 있다 github.com/Embarcadero/DelphiVCL4Python/tree/main/samples/ActivityIndicator 델파이 IDE에서 UI 디자인하기 델파이 IDE의 디자이너와 프로퍼티 에디터를 최대한 활용한다. WYSIWYG 미리보기에서 스타일을 적용한다. 파이썬에서 사용하도록 폼(화면)을 내보낸다. 오브젝트 파스칼 지식이 전혀 없어도 된다. 모든 코드를 여전히 파이썬으로 작성한다. DelphiVCL4Python IDE 애드-온에서 오른쪽 버튼을 클릭하고 내보내기만 하면 된다. github.com/Embarcadero/DelphiVCL4Python/tree/main/samples/ActivityIndicator 델파이와 파이썬을 함께 쓰기 Python4Delphi 라이브러리는 양방향 브리지(연결 매개체)이다. 솔루션의 일부는 델파이에서 개발하고 다른 일부는 파이썬에서 개발한다. 각자의 장점을 살려서 개발한다. 개발된 것들을 병합하여 응집력있는 솔루션 하나를 만든다. 예제, 자습서(Tutorial) 및 비디오 찾기 github.com/pyscripter/python4delphi 델파이를 사용하여 네이티브 파이썬 모듈 만들기 많은 파이썬 모듈이 C/C++로 작성되고 네이티브로 컴파일된다. 델파이 역시 Python4Delphi를 통해 네이티브로 컴파일된 파이썬 모듈을 생성한다. 파이썬에서 빠르게 프로토타입을 만든 다음, 델파이에서 최적화된 모듈을 만들어서 병목 현상을 제거한다. 파이썬과 마찬가지로 델파이 코드 역시 가독성에 집중하고 코드 구조가 명확하기 때문에 C/C++를 사용하는 것보다 더 쉬울 수 있다. PyPy 또는 Cython을 사용하여 확대한다. 참고 문서 및 라이브러리 델파이 관련 주요 문서 메인: docwiki.embarcadero.com/RADStudio/en/ VCL: docwiki.embarcadero.com/RADStudio/en/VCL_Overview FMX: docwiki.embarcadero.com/RADStudio/en/FireMonkey 라이브러리 참조 메인: docwiki.embarcadero.com/Libraries/en/ VCL: docwiki.embarcadero.com/Libraries/en/Vcl FMX: docwiki.embarcadero.com/Libraries/en/FMX 델파이는 타입 이름 앞에 "T"가 붙어 있다. 델파이의 TEdit는 파이썬의 Edit이다. 단지 이름 짓기 관행 상 그런 것일 뿐이다. 파이스크립터(PyScripter) 소개 파이썬용 무료 오픈 소스 IDE로써 널리 사용되며 엠바카데로에서 후원한다. 현대식 파이썬 IDE에 있어야 할 모든 기능이 있으면서도 가볍고 매우 빠르다. 윈도우용으로 네이티브 컴파일까지 가능하므로 메모리 사용은 최소화되고 성능은 극대화 할 수 있다. 파이썬 디버깅을 로컬과 원결 모두 완전하게 지원한다. PyLint, TabNanny, Profile 등과 같은 파이썬 도구와 통합된다. 메모리에서 파일을 실행 또는 디버깅한다. embarcadero.com/free-tools/pyscripter/free-download 울트라에디트(UltraEdit) 소개 프로그래머를 위한 고성능 텍스트 편집기 대용량 파일 처리 능력에서 업계 최고: 10GB 이상 거의 모든 언어 또는 데이터 형식에서 구문 강조 표시 스마트 템플릿 16진수 편집. 열/블록 모드 편집 개발자 도구의 Idera 제품군의 일부이다. ultraedit.com/products/ultraedit/ 다음 단계 Python용 Delphi VCL 설치: github.com/Embarcadero/DelphiVCL4Python 리포지토리를 열어 보고, 별점을 주고, 예제를 보고, 문제가 있으면 신고하고, 원하는 기능을 요청한다. 블로그 게시물 읽기(링크, 다시보기): blogs.embarcadero.com/?p=128183 FMX와 안드로이드를 설명하는 2부 보기: https://embt.co/d4p-part2 델파이 30일 무료 평가판 시작하기: https://www.devgear.co.kr/archives/products/start-for-free 유튜브 구독하기: youtube.com/c/EmbarcaderoTechnologies 트위터에서 팔로우하기: twitter.com/embarcaderotech 페이스북에서 좋아요 누르기: facebook.com/embarcaderotech LinkedIn에서 팔로우하기: linkedin.com/company/embarcadero-technologies 블로그 읽기: pythongui.org GitHub에서 Python용 Delphi VCL 찾기 발표자료 (한글 번역본) PDF를 다운로드 하기 1 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.