최근 다양한 스마트 기기가 속속 등장하고 있습니다.


안드로이드폰의 다양성은 수많은 제조사의 숫자가 대변하구요. 아이폰의 경우도 전통적인 작은화면(3.5인치, 4인치)의 벗어나 이제 큰화면(4.7인치, 5.5인치) 출시되고 있습니다. 그뿐아니라 다양한 웨어러블 디바이스와 태블릿은 또 스마트폰과 다른 화면과 스타일을 갖습니다.


이렇듯 다양한 스마트기기의 종류만큼 다양한 화면크기와 스타일도 제각각입니다.

이런 디바이스의 특성에 맞는 화면과 스타일을 맞추는 것은 멀티 플랫폼 제품을 만드는 개발자와 디자이너에게 매우 큰 고민일 것입니다.


이러한 고민을 RAD Studio에서 풀어나가기 위해 "멀티 디바이스 디자이너"라는 새로운 컨셉의 개발화면이 추가되었습니다.

멀티 디바이스 디자이너는 RAD Studio XE7(Delphi XE7, C++Builder XE7)에 추가된 기능입니다.

멀티 디바이스 디자이너


멀티 디바이스 디자이너는 디바이스 별로 상이한 화면크기와 스타일을 각각의 디바이스에 맞도록 화면 구성하기 위한 새로운 화면 디자인 기술입니다.


안드로이드 4인치의 레이아웃과 7인치의 레이아웃을 각각 다르게 구성할 수 있고, 아이폰의 화면도 그와 다르게 구성할 수 있도록 해줍니다.


멀티 디바이스 디자이너는 "마스터 뷰"와 "디바이스 뷰" 개념이 적용되어, 클래스와 같이 화면을 상속받아 개발하는 컨셉입니다. 마스터 뷰에서 기본적이고 공통적인 화면을 구성하고 각각의 디바이스 뷰를 추가해 디바이스에 최적화된 화면으로 변경할 수 있습니다.

마스터 뷰의 컨트롤과 레이아웃은 디바이스 뷰에서 상속받기 때문에 다양한 디바이스 뷰는 같은 레이아웃에서 시작하고, 디바이스 뷰에서 레이아웃을 변경하면 변경된 부분만 디바이스 뷰에 적용됩니다.

❑ 마스터뷰와 디바이스뷰

마스터 뷰

마스터 뷰에 Button과 StyleBook을 올려놓았습니다. 버튼의 텍스트도 변경했습니다.

컴포넌트와 컴포넌트의 속성은 모두 디바이스뷰에 상속됩니다.

이후 안드로이드와 iOS에서 버튼의 위치와 스타일을 각각의 디바이스에 맞게 변경합니다.

안드로이드 4"(디바이스 뷰)

iPhone 4"(디바이스 뷰)


❑ 디바이스 별 화면을 하나의 소스코드로 제어

위와 같이 디바이스 별로 화면을 구성하면 아래와 같이 마스터 뷰와 디바이스 뷰 별 폼파일(*.fmx)이 생성됩니다.



그리고 컴파일 및 빌드 시 선택한 플랫폼에 맞는 폼파일을 이용해 앱이 만들어지기 때문에 플랫폼과 디바이스에 맞는 화면의 앱을 제작할 수 있습니다.

마무리

이제는 클래스 뿐 아니라 화면디자인까지 상속받아 개발할 수 있습니다.

새로운 멀티 디바이스 디자이너를 이용해 다양한 디바이스에 맞는 화면을 제공해 보시기 바랍니다.

관련글



RAD Studio(델파이, C++빌더)란?

Embarcadero® RAD Studio는 윈도우, 맥, iOS, 안드로이드, 웨어러블 앱을 한번에 개발하고 다양한 기기들과 각종 센서를 서로연결하는 애플리케이션을 매우 빠르게 개발할 수 있는 완벽한 소프트웨어 개발 도구입니다. (자세히)


번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 17844
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 16205
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 18855
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 24425
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 25804
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 21165
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 41754
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 177062
114 [제품 설치 방법] 엠바카데로 본사 서버 이슈로 인해 설치가 어려운 경우 이 방법을 활용하세요. 관리자 2019.07.31 431
113 [업데이트][패치][10.2.3] RAD 스튜디오 - iOS 11.3 패치 험프리 2018.05.09 430
112 델파이/C++ 프로그램 현대화 – 패스트리포트(FASTREPORT)를 활용해 윈도우 HIGH DPI 지원 버전으로 마이그레이션하기 관리자 2021.04.26 429
111 [10.4 시드니][업데이트 1] 새로운 TLightweightMREW 레코드 관리자 2020.09.10 429
110 멀티-플랫폼 앱 멋지게! 쉽게! 빠르게! 완성하기 - #3 바로 커스터마이징해서 빠르게 완성하기 file 험프리 2019.07.16 429
109 [UX Summit 요약] 감지와 응답: 지속적 파악을 통한 실제 결과를 더 좋게 하기 (Sense & Respond: Continuously Learning Our Way to Better Outcomes) 관리자 2020.12.02 428
108 [생산성] RAD 스튜디오, 델파이, C++빌더 단축키 표 관리자 2020.07.28 428
107 새로운 VCL 윈도우 테마 - Lucky Point 관리자 2020.02.18 425
106 북마크, 탐색기 - 무료 IDE 애드온 기능들 업데이트! (10.4용) 관리자 2020.06.16 424
105 [발표자료] 20171109 RAD스튜디오 100% 활용하기: 최신 기술 적용과 확장 관리자 2017.11.10 422
104 이 달의 기술자료 - 2018년 05월 file 험프리 2018.04.27 420
103 [고객사례-사물인터넷, 앱, 델파이] 로봇청소기 제어 앱 '니토 툴리오' 관리자 2020.03.24 418
102 개발을 할 때 조심해야 하는 포인트 '도구의 법칙과 개발자의 저주' 관리자 2020.02.13 418
101 [10.3 리오][업데이트 2] 델파이 리눅스 클라이언트 애플리케이션 지원 관리자 2019.09.10 418
100 [발표자료] 20190718 멀티-플랫폼 앱 멋지게! 쉽게! 빠르게! 완성하기 file 관리자 2019.07.19 416
99 이 달의 기술자료 - 2020년 01월 험프리 2019.12.26 415
98 [10.3 리오][업데이트 3] iOS 13, 맥OS 카탈리나 지원을 시작하세요. file 관리자 2019.11.22 409
97 [UX Summit 요약] 레거시 데스크탑 앱 UI/UX 현대화 – 이론부터 실제까지 (Legacy desktop apps UI & UX modernization. From theory to practice) 관리자 2020.11.04 408
96 MODERNLISTVIEW 라이브러리 – 커스터마이징 가능한 강력한 크로스 플랫폼 라이브러리 활용 방법 관리자 2021.04.06 407
95 현대화 작업, 바로 지금이 골든타임입니다! 관리자 2019.09.11 405