안녕하세요, SBC Technology입니다.
앱시트 입문 개발자 분들을 위해 앱시트 앱 개발 Key Points를 정리해 보았습니다.
이 글은 앱시트를 스프레드시트와 연동해서 사용하시는 분들, 아직 앱시트의 에러 및 Formula에 익숙하지 않으신 분들에게 도움이 될 것입니다.
목차는 아래와 같습니다.
- 외부 배포용 앱에 관하여
- 앱시트에서의 에러 및 트러블슈팅
- 앱시트 FORMULA 잘 쓰는 법과 활용 예시
1. 외부 배포용 앱에 관하여
앱시트는 사내 비즈니스 로직을 자동화하는 것에 최적화 되어 있습니다. 따라서 앱시트로 외부 배포용 앱을 개발하기 위해서는 추가로 고려해야 할 사항이 있습니다.
현재 앱시트는 앱 별로 가격을 매기는 것이 아닌, 사용자 별로 가격을 매기는 라이선스 정책을 채택하고 있습니다. 이는 사용자 수를 예측하기 어려운 외부 배포용 앱에 적용하기 어려운 가격 정책입니다. AppSheet Enterprise 버전의 경우 로그인이 필요하지 않은 외부 사용자를 위한 라이선스를 보다 저렴한 가격에 따로 구매할 수 있지만, 그보다 낮은 버전의 경우 일반 사용자와 동일한 라이선스를 구매해야 합니다.
다만, 아래의 조건만 만족한다면 Publisher Pro(앱 당 월별 $50) 요금제를 사용하는 것도 고려해볼만 합니다.
- 특정 인원에 대한 앱 액세스 제한이 필요하지 않습니다.
- 앱이 기밀 데이터를 포함하지 않습니다.
- 사용자에 따라 앱의 동작을 다르게 할 필요가 없습니다.
또한 앱의 사용자 및 데이터의 양이 너무 많은 경우가 있습니다. 외부 앱 배포 시 특히 이런 경우가 많이 발생할 수 있는데요. 앱에 연결된 테이블 수가 너무 많아지거나(30개 이상), 앱의 데이터(이미지나 문서 등 외부 파일 제외)가 5MB 또는 10MB를 초과하거나, 데이터가 쌓이다가 엑셀이나 스프레드시트가 허용하는 최대 셀 개수를 초과하는 경우 앱의 유지가 어려울 수 있습니다. 이런 경우 AppSheet Enterprise 요금제를 이용하여 외부 데이터 소스를 연결하거나 데이터 파티셔닝 등의 기능을 활용하는 것을 권장드립니다.
2. 앱시트에서의 에러 및 트러블슈팅
앱시트에서는 다양한 에러가 발생할 수 있습니다. 앱시트 앱에서 에러가 발생하는 경우 앱이 더이상 동작하지 않기 때문에 꼭 해결해 주어야 합니다. 에러가 발생하면 아래와 같은 경고 메세지가 표시되는데요, More info 를 눌러 에러 리스트에 등록된 관련 세부정보를 확인하거나, Go to the problem 을 눌러 어디에서 에러가 발생했는지 확인해볼 수 있습니다.
하지만 이 정보만으로 에러를 해결하지 못하는 경우도 있습니다. 그런 경우 직접 문제의 원인을 찾아서 필요한 부분을 고쳐줘야 합니다. 저는 아래와 같은 단계로 에러를 해결합니다.
- 에러 메세지를 참고하여 에러가 발생한 위치로 이동합니다.
- 발생한 에러가 어떤 테이블에 대한 에러인지 확인합니다.
- 해당 테이블에 대한 변경 사항 로그를 확인하여 에러의 원인을 찾아냅니다.
- 에러의 원인이 된 부분을 수정합니다(주로 데이터 연결이 잘못된 경우가 많습니다).
- 필요한 경우 이전 버전으로 앱을 롤백합니다.
이렇게 해도 원인을 찾아내지 못한 경우 AppSheet Community 에 영어로 질문을 올리거나 앱시트 고객센터에서 관련 문서들을 찾아보아야 합니다. 그래도 원인을 알 수 없다면 저희 SBC 와 같은 앱시트 리셀러에 문의하는 방법도 있습니다.
3. 앱시트 FORMULA 잘 쓰는 법과 활용 예시
FORMULA 를 잘 사용하기 위해서는 결국 각 함수의 기능과 사용법을 잘 알고 있어야 합니다. 다행히 앱시트 고객센터에는 각 함수의 기능과 사용법이 친절한 예시와 함께 설명되어 있습니다. 특히 AND, OR, NOT, IF, TEXT, NOW, UNIQUEID, USEREMAIL, USERROLE 등의 기본 함수들과, ISBLANK, LINKTOVIEW, CONCATENATE, REF_ROWS, COUNT, SELECT 등 자주 쓰이는 함수들에 대해서는 미리 알아두는 것이 좋습니다.
아래는 다양한 활용 예시입니다.
- 화면에 표시되는 문자열 형식 변경
CONCATENATE([고객명], ” 님”) 또는 [고객명]&” 님”
→ 설명: 고객명 뒤에 “님” 이라는 글자를 붙여 앱에 표시하고 싶을 때 사용.
→ 결과 예시: “SBC 님”
TEXT(NOW(), “YYMMDD”)
→ 설명: 날짜 및 시간에 대한 특정 형식 부여.
→ 결과 예시: “221005”
- 다른 테이블의 값 가져오기
SELECT(영어[알파벳], TRUE)
→ 설명: 영어 테이블의 알파벳 컬럼 중 조건이 TRUE인 값들만 선택
→ 결과 예시: LIST(“a”, “b”, …, “z”)
SELECT(영어[알파벳], [_RowNumber] < 4)
→ 설명: 영어 테이블의 알파벳 컬럼 중 행 번호가 4 미만인 값들만 선택(행 번호는 2부터 시작)
→ 결과 예시: LIST(“a”, “b”)
- 기타
OR(USERROLE() = “ADMIN”, [관리자] = USEREMAIL())
→ 설명: Security filter 등에서 사용자가 관리자 Role을 갖고 있거나, 관리자 컬럼에 기록된 경우 Yes 를 반환하여 해당 테이블에 대한 권한을 부여하도록 설정
→ 결과 예시: Yes
COUNT(REF_ROWS(“할일”, “담당자”))
→ 설명: 차트 뷰 등에서 할 일 테이블에서 담당자 별로 관련 데이터가 몇 개 있는지 확인
→ 결과 예시: 2
그 외에도 이러한 함수들을 응용하여 정말 많은 기능을 구현할 수 있습니다. 더 많은 함수들을 조합한 복잡한 형태의 예시도 있지만, 설명이 너무 길어질 것 같아 생략하였습니다.
여기까지 앱시트 입문 개발자 분들을 위한 앱시트 앱 개발 Key Points였습니다. 이 외에도 더 많은 FORMULA 예시, 버전 관리, 사용자 권한 관리, 모니터링 등 여러 가지 알아야 할 Key Points 가 있을 것 같습니다. 이와 같은 내용들도 필요하다면 업데이트하도록 하겠습니다.
감사합니다.
Comments are closed.