위젯

위젯은 페이지를 작성하는 데 사용되는 구성 요소입니다. 위젯은 텍스트를 표시하는 간단한 라벨부터 사용자가 데이터를 보고 편집할 수 있는 복잡한 양식에 이르기까지 다양합니다.

App Maker의 드래그 앤 드롭 페이지 작성은 위젯을 사용하기 쉽게 만들어주며, 위젯의 광범위한 속성을 이용하면 위젯을 맞춤설정하고 기능을 추가하여 모든 기능을 갖춘 UI를 빌드할 수 있습니다.

위젯의 유형

페이지 편집기의 왼쪽 위 모서리에 있는 위젯 팔레트 를 통해 위젯에 액세스하세요. App Maker는 팔레트의 위젯을 카테고리로 그룹화하여 찾기 쉽도록 만듭니다.

카테고리목적예시
데이터 모델 데이터를 표시하거나 편집할 수 있는 위젯. 이 카테고리는 복합 위젯으로 패널, 라벨, 텍스트 상자, 버튼을 포함한 위젯 계층입니다. 마법사의 출력을 편집할 수 있습니다. 양식, 표
입력 클릭 또는 텍스트 입력과 같은 사용자 입력을 처리하는 위젯. 버튼, 라벨, 텍스트 상자, 텍스트 영역, 체크박스, 드롭다운, 날짜 상자, 라디오 그룹, 별표 평점, 슬라이더, 제안 상자, 텍스트 편집기, 다중 선택, 사용자 선택도구, 드라이브 선택도구
표시 텍스트, 이미지 등 다른 요소에 비해 양방향식이 아닌 UI 요소를 표시하는 위젯. 링크, 이미지, Google 지도, 도움말 아이콘, 스피너, HTML, 호출기
레이아웃 다른 위젯을 정렬하는 데 사용되는 위젯. 이 카테고리는 데이터 소스 할당을 수행할 수도 있습니다. 고정 패널, 가로 패널, 세로 패널, 목록, 그리드, 아코디언, 탭, 가로 분할, 세로 분할
차트 데이터 시각화를 차트로 표시하는 위젯. 막대 그래프, 선 차트, 파이 차트, 표 차트
페이지 조각 생성된 페이지 조각의 팔레트. 페이지 머리글 및 바닥글과 같이 여러 페이지에서 반복되는 UI 요소
내 이미지 앱용으로 업로드된 이미지의 팔레트. 제품 로고, 커스텀 아이콘

위젯 속성

각 위젯에는 편집 가능한 속성이 있어 표시되는 데이터 위치, 사용자 입력에 대한 응답 방식에 이르기까지 모든 사항을 지정할 수 있습니다. 페이지 캔버스 오른쪽에 있는 속성 편집기를 사용하여 현재 선택된 위젯의 속성을 확인하고 편집합니다.

속성 편집기는 기능별로 속성을 그룹화합니다. 각 그룹의 정확한 속성은 위젯마다 다릅니다.

속성 그룹 설명
위젯 이름 이 그룹은 이름과 데이터 소스의 두 가지 기본 위젯 속성과 위젯 기능과 관련된 하나 이상의 추가 속성으로 구성됩니다.
성능 설정 이 그룹에는 하위 위젯이 로드되는 시기를 제어하는 단일 특성이 있습니다. 이 속성은 페이지, 레이아웃 위젯, 레이아웃 위젯이 포함된 데이터 위젯에만 나타납니다.
레이아웃 이 그룹의 속성은 위젯의 위치와 크기를 지정합니다.
간격 이 그룹의 속성은 위젯의 여백과 패딩을 지정합니다.
이벤트 이 그룹의 속성은 위젯이 데이터 로드 및 사용자 입력과 같은 이벤트에 응답하는 방식을 결정합니다.
데이터 검증 이 그룹의 속성은 텍스트 입력 위젯에 대한 유효성 검사 요구 사항을 설정합니다. 관련 입력 위젯에만 나타납니다.
표시 이 그룹의 속성은 위젯의 모양과 공개 상태에 영향을 줍니다.
플로우 이 그룹의 속성은 플로우 기능이 설정된 레이아웃 위젯이 하위 위젯을 배치하는 방식을 결정합니다. 레이아웃 위젯에만 나타납니다.
기타 이 그룹의 속성은 유효성 검사 오류가 표시되고 위젯의 HTML 제목을 설정하는 방식을 제어합니다. 대부분의 브라우저에서 HTML 제목은 툴팁으로 표시됩니다.

기본 속성

모든 위젯에는 두 가지 기본 특성이 있습니다.

  • 이름 - 데이터 바인딩, 스크립트, 스타일 등에서 위젯을 참조하는 데 사용되는 식별자입니다. 위젯 이름은 페이지마다 고유해야 하며 숫자로 시작하거나 공백을 포함할 수 없습니다. App Maker는 페이지에 위젯을 추가할 때 자동으로 이름을 생성하지만 나중에 참조하기 위해 위젯의 이름을 기억하기 쉽게 바꾸는 것이 도움이 됩니다.
  • 데이터 소스 - 위젯이 소스 데이터에 쉽게 액세스할 수 있도록 데이터 소스를 지정합니다. 데이터 소스는 양식 및 레이아웃 위젯에서만 지정할 수 있습니다. 다른 모든 위젯은 상위 레이아웃 위젯에서 데이터 소스를 상속합니다.

위젯 수명 주기

위젯은 단순한 수명 주기를 거칩니다. 우선 App Maker가 위젯을 만든 다음 페이지에 연결하여 표시되도록 합니다. App Maker는 위젯이 더 이상 필요하지 않을 때 연결을 해제합니다. 위젯은 여러 번 연결 및 연결 해제를 할 수 있지만 생성은 단 한 번만 할 수 있습니다.

생성

App Maker는 위젯을 만들 때 위젯의 속성을 설정하고 HTML을 빌드합니다. 위젯이 아직 페이지에 연결되지 않은 경우에도 app.pages속성을 통해 위젯 속성에 즉시 액세스할 수 있습니다. 기본적으로 App Maker는 사용자가 앱에 액세스한 직후 대부분의 위젯을 생성합니다. 목록 및 관련 위젯은 예외입니다. App Maker는 데이터 소스가 로드된 후에만 하위 요소를 생성합니다.

연결

App Maker가 위젯을 페이지에 연결하면 실제로 위젯을 페이지의 HTML 구조 또는 DOM에 삽입하여 사용자가 볼 수 있도록 합니다. App Maker는 사용자가 방문할 때 페이지 위젯의 대부분을 연결하고 사용자가 나갈 때 연결을 해제합니다. 다시 말하지만 목록 및 관련 위젯은 예외입니다. 데이터 소스가 로드된 후에만 위젯의 하위 요소가 연결되고 데이터 소스가 변경되면 새 행을 연결 및 분리할 수 있기 때문입니다.

App Maker는 위젯을 연결할 때 위젯 바인딩을 설정하고 위젯을 연결 해제할 때 위젯 바인딩을 삭제합니다. 여기에는 두 가지 의미가 있습니다. 위젯이 연결되기 전에는 값을 설정하기 위해 위젯 속성에 의존할 수 없다는 것과 데이터 소스가 로드되어 바인딩을 게재하기 때문에 위젯을 연결하면 서버 요청이 트리거되는 경우가 많다는 것입니다.

모든 위젯에는 위젯 수명 주기 변경에 응답해 코드를 실행하는 onAttach, onDetach, onDataLoad 이벤트가 있습니다. 위젯 로직에서 이러한 이벤트에 대해 자세히 알아보세요.

성능 설정

앱의 페이지와 위젯이 초기화되는 시기를 제어할 수 있습니다. 기본적으로 App Maker는 사용자가 앱을 열 때 모든 것을 다운로드합니다. 그러나 페이지를 추가할 때 앱을 여는 데 너무 오래 걸리지 않도록 일부 콘텐츠의 로드를 지연시켜야 할 수도 있습니다.

앱이 콘텐츠를 초기화하는 방법을 제어하려면 페이지 또는 패널을 클릭한 다음 속성 편집기에서 성능 설정 을 클릭합니다. 다음 옵션 중 하나를 선택합니다.

  • 전체 초기화 - 사용자가 앱을 열면 App Maker가 모든 페이지와 위젯을 초기화합니다. 이것은 App Maker의 기본 설정이며 용량이 작은 앱에 가장 적합합니다. 모든 페이지에 이 옵션을 사용하면 복잡한 페이지가 있는 용량이 큰 앱을 여는 데 너무 오래 걸릴 수 있습니다.
  • 부분 초기화 - 대용량 앱의 패널 또는 경량 페이지에 이 옵션을 선택합니다. 사용자가 앱을 열면 App Maker가 페이지 또는 패널의 내용과 구조를 다운로드합니다. 그러나 사용자가 상위 페이지를 열 때까지 위젯이 초기화되지 않습니다. 이 옵션을 사용하면 앱이 기본 설정보다 빠르게 로드되지만 개별 페이지의 로드 시간이 늘어날 수 있습니다.
  • 초기화 연기 - 이 옵션은 대용량 앱의 복잡한 페이지에 가장 적합합니다. 사용자가 상위 페이지를 열어야만 App Maker가 페이지 또는 패널 구조를 로드합니다. App Maker가 콘텐츠를 다운로드하고 페이지를 빌드하는 동안 앱에 애니메이션 진행률 표시기가 나타납니다. 이 옵션을 사용하면 앱을 더 빨리 로드 할 수 있지만 이 설정을 사용하는 개별 페이지는 로드 속도가 느려집니다.
  • 스크립트 초반 초기화 - 특정 조건이 충족될 때에만 사용되는 위젯이 앱에 포함된 경우 이 옵션을 사용합니다. 사용자가 지정된 작업을 수행할 때 createChildren를 호출하는 스크립트를 작성할 수 있습니다. 하위 위젯은 필요한 경우에만 App Maker에서 로드됩니다.

앱을 로드하는 데 시간이 너무 오래 걸리는 경우, 예를 들어 앱의 가장 중요한 페이지 설정 상태를 전체 초기화로 유지할 수 있습니다. 그런 다음 다른 페이지를 부분 초기화로 설정하여 로드를 지연시킬 수 있습니다. 앱을 로드하는 데 여전히 시간이 오래 걸리는 경우 일부 페이지를 초기화 연기로 설정합니다.

위젯이 초기화될 때까지 위젯의 속성 및 바인딩에 액세스할 수 없습니다. 이러한 변경 사항을 사용자에게 배포하기 전에 모든 커스텀 성능 설정을 철저히 테스트해야 합니다.텀

앱 디자인 권장사항에 대해 자세히 알아보세요.