GUIDE 마이그레이션 전략

GUIDE는 앱 작성에 더 이상 권장되지 않는 끌어서 놓기 방식의 환경으로, 앱 디자이너로 대체되었습니다. GUIDE는 향후 릴리스에서 제거될 예정입니다.

GUIDE가 제거된 후에도 기존 GUIDE 앱은 MATLAB®에서 계속 실행할 수 있지만 GUIDE의 끌어서 놓기 방식의 환경을 사용하여 편집할 수는 없게 됩니다. 기존 GUIDE 앱을 계속 편집하고 향후 MATLAB 릴리스와의 호환성을 유지하려면 다음 표에 나와 있는 권장 마이그레이션 전략 중 하나를 사용하십시오.

앱 개발마이그레이션 전략마이그레이션 방법
개발 작업이 빈번하거나 지속적임앱을 앱 디자이너로 마이그레이션mathworks.com GUIDE to App Designer Migration Tool for MATLAB 사용
편집이 거의 없고 간헐적임MATLAB 함수를 사용하여 앱 레이아웃과 코드를 관리할 수 있도록 앱을 단일 MATLAB 파일로 내보내기GUIDE에서 앱을 열고 파일(File) > MATLAB 파일로 내보내기(Export to MATLAB-file) 선택

GUIDE 앱을 앱 디자이너로 마이그레이션하기

앱 디자이너는 MATLAB에서 앱을 작성하는 데 권장되는 환경입니다. GUIDE 앱(GUI)을 앱 디자이너로 마이그레이션하면 GUIDE에서 제공되지 않는 기능을 활용할 수 있습니다. 예를 들어, 앱 디자이너는 다음과 같은 기능을 제공합니다.

  • 서식 지정이 가능한 디자인 환경과 강력한 프로그래밍 편집기 및 워크플로

  • 향상된 UI 구성요소 집합

  • 앱이 화면 크기의 변화에 반응할 수 있도록 하는 레이아웃 관리자 및 자동 재배치 옵션

  • 독립 실행형 데스크탑 앱 또는 웹 앱을 생성하고 공유하는 기능(MATLAB Compiler™ 필요)

기존에 GUIDE에서 개발한 앱이 있는 경우 mathworks.com에서 GUIDE to App Designer Migration Tool for MATLAB을 사용하여 앱 디자이너로 마이그레이션해 보십시오.

마이그레이션 툴의 기능

마이그레이션 툴은 GUIDE .fig 파일을 읽어 들인 후 상응하는 앱 디자이너 구성요소, 레이아웃 및 코드를 자동으로 .mlapp 파일로 생성하여 앱을 변환할 수 있게 도와줍니다. 이 반자동적인 코드 변환 단계에서는 이후 수동 코드 업데이트가 필요한 경우 이를 제안하는 마이그레이션 리포트도 생성해 줍니다. 다음 표에는 툴의 일부 기능이 설명되어 있습니다.

마이그레이션 툴 기능설명
파일 변환GUIDE .fig 파일 및 관련 코드를 읽어 들인 후 앱 디자이너 .mlapp 파일을 생성합니다.
구성요소 및 앱 레이아웃
  • 구성요소와 속성 구성을 이에 상응하는 앱 디자이너 구성요소 및 속성 구성으로 변환합니다.

  • 앱의 레이아웃을 보존합니다.

콜백 코드
  • GUIDE 콜백 코드 및 사용자 정의 함수의 복사본을 .mlapp 파일에 보존합니다.

  • 수동 업데이트에 대한 제안 사항을 제시합니다.

앱 디자이너는 새로운 구성요소와 객체 지향 코드를 사용합니다. 과거 GUIDE 스타일의 코드로 프로그래밍된 상호 작용 또는 동작은 앱 디자이너 스타일의 코드로 수동으로 마이그레이션해야 합니다.

마이그레이션 리포트
  • 마이그레이션 툴을 통해 성공적으로 완료된 작업을 요약합니다.

  • 제한 사항 또는 미지원 기능을 나열하고 우회적 해결 방법이 있는 경우 이를 제시합니다.

  • 콜백이 앱 디자이너와 호환되도록 업데이트하는 절차를 제시합니다.

GUIDE 코드를 앱 디자이너로 마이그레이션하는데 도움이 되는 자료

앱 디자이너와 GUIDE는 코드 구조 및 콜백 구문이 다르며, UI 구성요소에 액세스하고 데이터를 공유하는 기법이 서로 다릅니다. 이러한 차이점을 이해하면 코드를 마이그레이션할 때 도움이 됩니다. 아래 표에는 이러한 차이점 중 일부가 요약되어 있습니다.

차이점GUIDE 앱 디자이너추가 정보
Figure와 그래픽스 사용

GUIDE는 figure 함수를 호출하여 앱 창을 만듭니다.

GUIDE는 axes 함수를 호출하여 플롯을 표시할 좌표축을 만듭니다.

모든 MATLAB 그래픽스 함수가 지원됩니다. 대상 좌표축을 지정할 필요가 없습니다.

앱 디자이너는 uifigure 함수를 호출하여 앱 창을 만듭니다.

앱 디자이너는 uiaxes 함수를 호출하여 플롯을 표시할 좌표축을 만듭니다.

대부분의 MATLAB 그래픽스 함수가 지원됩니다. 대상 좌표축을 지정해야 합니다.

앱 디자이너에서 그래픽스 표시하기
구성요소 사용

GUIDE는 uicontrol 함수로 대부분의 구성요소를 만듭니다. 사용 가능한 구성요소가 더 적습니다.

앱 디자이너는 고유한 전용 함수로 각 UI 구성요소를 만듭니다. Tree, Gauge, TabGroup, DatePicker를 포함하여 사용 가능한 구성요소가 더 많습니다.

앱 디자이너 구성요소
구성요소 속성 액세스

GUIDE는 setget을 사용하여 구성요소 속성에 액세스하고 handles를 사용하여 구성요소를 지정합니다.

예:
name = get(handles.Fig,'Name')

앱 디자이너는 setget을 지원하지만 점 표기법을 사용하여 구성요소 속성에 액세스하는 것을 권장하며, app을 사용하여 구성요소를 지정합니다.

예:
name = app.UIFigure.Name

앱 디자이너에서 콜백 작성하기
앱 코드 관리

코드는 로컬 함수를 호출할 수 있는 메인 함수로 정의됩니다. 모든 코드는 편집 가능합니다.

코드는 MATLAB 클래스로 정의됩니다. 콜백, 헬퍼 함수, 사용자 지정 속성만 편집 가능합니다.

앱 디자이너 코드 보기에서 코드 관리하기
콜백 작성

필수 콜백 입력 인수는 handles, hObjecteventdata입니다.

예:
myCallback(hObject,evendata,handles)

필수 콜백 입력 인수는 appevent입니다.

예:
myCallback(app,event)

앱 디자이너에서 콜백 작성하기
데이터 공유

데이터를 저장하고 이 데이터를 콜백과 함수 간에 공유하려면 UserData 속성, handles 구조체, guidata 함수, setappdata 함수 또는 getappdata 함수를 사용하십시오.

예:
handles.currSelection = selection;
guidata(hObject,handles);

데이터를 저장하고 이 데이터를 콜백과 함수 간에 공유하려면 사용자 지정 속성을 사용하여 변수를 생성하십시오.

예:
app.currSelection = selection

앱 디자이너로 만든 앱 내부에서 데이터 공유하기

GUIDE 앱이 actxcontrol과 같은 함수를 사용하여 타사 구성요소를 통합한 경우 대신 사용할 수 있는 대체 기능에 대한 자세한 내용은 릴리스 정보를 참조하십시오.

GUIDE 앱을 단일 MATLAB 파일로 내보내기

기존 GUIDE 앱에 최소한의 유지 관리만 필요한 경우 앱을 단일 MATLAB 파일로 내보내면 프로그래밍 방식으로 계속 편집할 수 있습니다. 앱을 내보내려면 GUIDE에서 앱을 열고 파일(File) > MATLAB 파일로 내보내기(Export to MATLAB-file)를 선택하십시오.

관련 항목