반응형

안녕하세요.

앱시트 입문 개발자 분들을 위해 앱시트 앱 개발 Key Points를 정리해 보았습니다.

이 글은 앱시트를 스프레드시트와 연동해서 사용하시는 분들, 아직 앱시트의 에러 및 Formula에 익숙하지 않으신 분들에게 도움이 될 것입니다.

목차는 아래와 같습니다.

  1. 외부 배포용 앱에 관하여
  2. 앱시트에서의 에러 및 트러블슈팅
  3. 앱시트 FORMULA 잘 쓰는 법과 활용 예시

 


외부 배포용 앱에 관하여

앱시트는 사내 비즈니스 로직을 자동화하는 것에 최적화 되어 있습니다. 따라서 앱시트로 외부 배포용 앱을 개발하기 위해서는 추가로 고려해야 할 사항이 있습니다.

현재 앱시트는 앱 별로 가격을 매기는 것이 아닌, 사용자 별로 가격을 매기는 라이선스 정책을 채택하고 있습니다. 이는 사용자 수를 예측하기 어려운 외부 배포용 앱에 적용하기 어려운 가격 정책입니다. AppSheet Enterprise 버전의 경우 로그인이 필요하지 않은 외부 사용자를 위한 라이선스를 보다 저렴한 가격에 따로 구매할 수 있지만, 그보다 낮은 버전의 경우 일반 사용자와 동일한 라이선스를 구매해야 합니다.

다만, 아래의 조건만 만족한다면 Publisher Pro(앱 당 월별 $50) 요금제를 사용하는 것도 고려해볼만 합니다.

  • 특정 인원에 대한 앱 액세스 제한이 필요하지 않습니다.
  • 앱이 기밀 데이터를 포함하지 않습니다.
  • 사용자에 따라 앱의 동작을 다르게 할 필요가 없습니다.
 

How to choose a subscription plan - AppSheet Help

The following sections describe what you can do with a free plan and how to choose a subscription plan when you are ready to deploy your apps for use by other users.  What can I do with a free plan? App development and testing is always free on AppSheet.

support.google.com


또한 앱의 사용자 및 데이터의 양이 너무 많은 경우가 있습니다. 외부 앱 배포 시 특히 이런 경우가 많이 발생할 수 있는데요. 앱에 연결된 테이블 수가 너무 많아지거나(30개 이상), 앱의 데이터(이미지나 문서 등 외부 파일 제외)가 5MB 또는 10MB를 초과하거나, 데이터가 쌓이다가 엑셀이나 스프레드시트가 허용하는 최대 셀 개수를 초과하는 경우 앱의 유지가 어려울 수 있습니다. 이런 경우 AppSheet Enterprise 요금제를 이용하여 외부 데이터 소스를 연결하거나 데이터 파티셔닝 등의 기능을 활용하는 것을 권장드립니다.

 

 

 앱시트에서의 에러 및 트러블슈팅

앱시트에서는 다양한 에러가 발생할 수 있습니다. 앱시트 앱에서 에러가 발생하는 경우 앱이 더이상 동작하지 않기 때문에 꼭 해결해 주어야 합니다. 에러가 발생하면 아래와 같은 경고 메세지가 표시되는데요, More info 를 눌러 에러 리스트에 등록된 관련 세부정보를 확인하거나, Go to the problem 을 눌러 어디에서 에러가 발생했는지 확인해볼 수 있습니다.

에러 메세지 표시 예시

 

AppSheet : mobile apps from spreadsheets : Errors and Warnings

ERROR WORKFLOW RULE ATTACHMENT INVALID PAGE DIMENSIONS unfold_more Meaning The attachment file has an invalid width or height. Likely Cause The attachment page Height or width is too small Resolution Steps Increase the page height or width, or use a non-cu

www.appsheet.com

 

하지만 이 정보만으로 에러를 해결하지 못하는 경우도 있습니다. 그런 경우 직접 문제의 원인을 찾아서 필요한 부분을 고쳐줘야 합니다. 저는 아래와 같은 단계로 에러를 해결합니다.

  1. 에러 메세지를 참고하여 에러가 발생한 위치로 이동합니다.
  2. 발생한 에러가 어떤 테이블에 대한 에러인지 확인합니다.
  3. 해당 테이블에 대한 변경 사항 로그를 확인하여 에러의 원인을 찾아냅니다.
  4. 에러의 원인이 된 부분을 수정합니다(주로 데이터 연결이 잘못된 경우가 많습니다).
  5. 필요한 경우 이전 버전으로 앱을 롤백합니다.

 

이렇게 해도 원인을 찾아내지 못한 경우 AppSheet Community 에 영어로 질문을 올리거나 앱시트 고객센터에서 관련 문서들을 찾아보아야 합니다. 그래도 원인을 알 수 없다면 SBC Technology 와 같은 앱시트 파트너사에 문의하는 방법도 있습니다. 다만 이 방법은 Google Workspace 혹은 AppSheet를 SBC Technology를 통해 사용하고 있을 때만 가능하다고 합니다.

 

AppSheet

Find answers, ask questions, and connect with other creators.

www.googlecloudcommunity.com

 

 

AppSheet Help

 

support.google.com

 

 

● 앱시트 FORMULA 잘 쓰는 법과 활용 예시

FORMULA 를 잘 사용하기 위해서는 결국 각 함수의 기능과 사용법을 잘 알고 있어야 합니다. 다행히 앱시트 고객센터에는 각 함수의 기능과 사용법이 친절한 예시와 함께 설명되어 있습니다. 특히 AND, OR, NOT, IF, TEXT, NOW, UNIQUEID, USEREMAIL, USERROLE 등의 기본 함수들과, ISBLANK, LINKTOVIEW, CONCATENATE, REF_ROWS, COUNT, SELECT 등 자주 쓰이는 함수들에 대해서는 미리 알아두는 것이 좋습니다.

아래는 다양한 활용 예시입니다.

  1. 화면에 표시되는 문자열 형식 변경

CONCATENATE([고객명], ” 님”) 또는 [고객명]&” 님”


→ 설명: 고객명 뒤에 “님” 이라는 글자를 붙여 앱에 표시하고 싶을 때 사용.

→ 결과 예시: “앱시트 님”

TEXT(NOW(), “YYMMDD”)


→ 설명: 날짜 및 시간에 대한 특정 형식 부여.

→ 결과 예시: “221005”

  2. 다른 테이블의 값 가져오기

SELECT(영어[알파벳], TRUE)


→ 설명: 영어 테이블의 알파벳 컬럼 중 조건이 TRUE인 값들만 선택

→ 결과 예시: LIST(“a”, “b”, …, “z”)

SELECT(영어[알파벳], [_RowNumber] < 4)


→ 설명: 영어 테이블의 알파벳 컬럼 중 행 번호가 4 미만인 값들만 선택(행 번호는 2부터 시작)

→ 결과 예시: LIST(“a”, “b”)

  3. 기타

OR(USERROLE() = “ADMIN”, [관리자] = USEREMAIL())


→ 설명: Security filter 등에서 사용자가 관리자 Role을 갖고 있거나, 관리자 컬럼에 기록된 경우 Yes 를 반환하여 해당 테이블에 대한 권한을 부여하도록 설정

→ 결과 예시: Yes

COUNT(REF_ROWS(“할일”, “담당자”))


→ 설명: 차트 뷰 등에서 할 일 테이블에서 담당자 별로 관련 데이터가 몇 개 있는지 확인

→ 결과 예시: 2

그 외에도 이러한 함수들을 응용하여 정말 많은 기능을 구현할 수 있습니다. 더 많은 함수들을 조합한 복잡한 형태의 예시도 있지만, 설명이 너무 길어질 것 같아 생략하였습니다.

여기까지 앱시트 입문 개발자 분들을 위한 앱시트 앱 개발 Key Points였습니다.

앱시트 입문 가이드는 이정도로 내용을 마무리하려고 합니다. 다음 글부터는 앱시트 중급 개발자가 알아야 할 내용을 가지고 돌아오도록 하겠습니다. 중급 가이드에서는 이번 시간과 같이 앱 개발 Key Points, 그 중에서도 추가적인 FORMULA 예시 등의 주제를 위주로 다루어볼 생각입니다. 고생 많으셨습니다! 같이 열심히 공부해 보아요~

반응형
반응형

안녕하세요.

앱을 다 만들었으니 이제 앱을 다른 사용자들에게 공유하고, 테스트를 거쳐 원하는 사용자들에게 배포할 차례입니다. 앱시트를 사용하면 생각보다 쉽게 이런 과정들을 진행할 수 있습니다. 이전 글들은 아래에 링크를 넣어두도록 하겠습니다.

 

[앱시트 입문] 02. 앱 만들어보기 - (1) 앱 생성

안녕하세요. 이번에는 한 번 직접 앱을 만들어 보면서 앱을 만드는 과정과 완성된 앱의 모습을 확인해 보도록 하겠습니다. 글을 몇 개만 읽으면서 따라해 보시면 앱시트로 앱을 만드는 기본적인

appsheet.tistory.com

 

[앱시트 입문] 03. 앱 만들어보기 - (2) 데이터 작업

안녕하세요. 저번 글에 이어서 커뮤니티 앱을 계속 만들어 보겠습니다. 만들어진 템플릿 앱의 데이터를 변형해서 유머, 자유, 베스트, 정보, 나눔 의 각 게시글 데이터가 구분되어 표시되도록 설

appsheet.tistory.com

 

[앱시트 입문] 04. 앱 만들어보기 - (3) 댓글과 좋아요 기능

안녕하세요. 저번 글에 이어서 커뮤니티 앱을 계속 만들어 보겠습니다. 저번 시간까지는 템플릿 앱을 만들고, 만들어진 템플릿 앱의 데이터를 변형해서 유머, 자유, 베스트, 정보, 나눔의 각 게

appsheet.tistory.com

 

[앱시트 입문] 05. 앱 만들어보기 - (4) 앱 꾸미기

안녕하세요. 계속해서 커뮤니티 앱을 만들어 보겠습니다. 지금까지는 앱을 만들고 필요한 기능을 추가하는 작업이었다면 이제부터는 앱을 꾸며주는 작업을 진행하게 될 텐데요, 시작하기 전에

appsheet.tistory.com

기존 앱개발 환경에서 앱을 공유, 테스트 및 배포하는 것은 꽤 어렵고 복잡한 작업입니다. 특히 보안 관련해서 확인해야 할 사항이 한두 개가 아닌데요, 앱시트에서는 따로 보안 검수를 하지 않아도 되고 다른 작업들도 훨씬 간소화돼서 빠른 앱 배포가 가능한 이점이 있습니다.

그럼 시작해볼까요?

 

 

● 앱 공유

앱시트 앱은 기본적으로 링크를 통해서 공유가 됩니다. 앱시트 편집기 우측 상단의 공유 버튼을 누르면 아래와 같은 창이 열립니다.

공유 버튼
앱을 공유할 수 있는 화면

보이는 회색 입력창에 이메일 주소나 도메인을 입력하면 추가가 가능합니다. 사용자는 아래와 같이 Use app(앱의 사용자), View definition(편집기 뷰어), Edit definition(편집자)의 세 권한 중 하나를 선택하여 부여가 가능합니다.

Advanced 라는 항목을 활성화 시키면 권한에 대한 세부 설정도 가능합니다. 이 설정에서는 사용자 권한 / 사용자 역할 / 앱 버전 을 지정하게 되는데요, 보통 사용자의 경우 Use app / User / Default로 설정하시면 되고, 앱 관리자는 Use app / Admin / Default로, 편집자의 경우 Edit definition / Admin / Latest 로 설정하시면 됩니다.

일반 사용자 권한
편집자 권한

간단히 부연설명 드리자면, App role은 사용자가 앱 내에서 가지는 권한을 의미하며 User와 Admin이 있습니다. 이 Role이라는 것은 개발자가 관련 Formula를 작성하기 전까지는 크게 의미가 없습니다. 하지만 특정 뷰에 접근할 수 있는 사용자를 제한하고 싶은 등 사용자 권한에 대한 설정이 필요한 경우, 개발자는 USERROLE()이라는 함수를 써서 권한 관련 Formula를 작성할 수 있습니다. 예를 들어 아래와 같이 댓글의 작성자를 볼 수 있는 사람을 Admin 역할을 가진 사람으로 제한할 수 있습니다.

(Data > Columns > 댓글 > 작성자 컬럼 좌측 연필 모양 > Show? 옆의 필터 모양 아이콘 클릭 > Formula 작성)

App version에는 Default, Latest, Stable 세 가지가 있습니다. Default 란 개발자가 Stable 버전을 따로 지정하지 않았을 경우 사용자들이 가장 최신(Latest) 버전의 앱을 열도록 하겠다는 의미입니다. 만약 Stable 버전이 지정되면 사용자들은 해당 버전 기준의 앱에만 접속이 가능하며, 최신 업데이트 사항은 개발자가 또다른 Stable 버전을 업데이트하기 전까지는 볼 수 없게 됩니다.

그 외에도 Copy sharing links 버튼을 눌러 앱의 접속 링크를 볼 수가 있습니다.

위와 같이 앱 편집을 위한 Editor Link, 앱 사용을 위한 Browser Link, 모바일 사용자를 위한 Install Link가 있습니다. 링크를 복사해서 카톡이나 문자로 전달해주면 됩니다.

기본적으로 앱시트는 추가된 사용자만 앱에 접근할 수 있고, 나머지 사용자들은 링크로 접속하려 해도 권한이 없다면서 차단됩니다. 그래서 앱시트 앱에 접속하기 위해서는 로그인이 필요하게 됩니다. 다만 Security 메뉴에서 Require user signin? 이라는 항목을 Disable하게 되면 로그인 없이 어떤 사용자라도 링크만 있으면 앱에 접속할 수 있게 됩니다. 대신 앱이 공개 상태라고 하더라도 Editor Link 에는 앱의 편집자로 추가된 사용자만 접근 가능합니다. 또, 공개 상태의 앱에서는 USEREMAIL(), USERROLE() 등의 사용자 관련 함수를 쓸 수 없게 됩니다.

 

 

● 앱 테스트

이제 앱을 공유했으니 다양한 방식으로 앱을 테스트해보면 됩니다. 모바일(안드로이드 및 iOS), 태블릿, 브라우저 등 각 환경에서 앱이 잘 동작하는지와 기능 및 성능 면에서의 이상은 없는지와 같은 부분을 확인해볼 수 있습니다.

참고로 아래와 같이 데스크탑 사용자용 UI를 사용하는 경우 다른 환경에서와 어떤 차이점이 있는지 꼭 미리 확인해 보셔야 합니다.

 

[UX] 데스크탑 사용자를 위한 새로운 UI

안녕하세요. 오늘은 정말 반가운 소식인, 앱시트 앱을 브라우저에서 사용하는 분들을 위한 위한 UI 업데이트 내용을 전달해 드리려고 합니다. 앱시트로 만든 앱들은 데스크탑보다는 모바일에 더

appsheet.tistory.com

모바일에서 테스트를 진행할 때는 두 가지 방식으로 앱에 접근할 수 있습니다. 첫번째는 모바일 브라우저 상에서 Browser Link를 통한 접근입니다. 이는 따로 설치 과정이 필요하지 않습니다. 두 번째는 Install Link를 통한 접근입니다. 모바일 상에서 Install Link에 접속할 경우 앱을 설치할 수 있습니다. 앱 설치를 위해서는 스토어에서 호스트 앱이라고도 하는 AppSheet 어플리케이션을 먼저 설치해야 하고, 이후 바탕화면에 바로가기를 추가하여 개발한 앱에 접근할 수 있습니다. 설치한 모든 앱들은 AppSheet 라는 앱을 통해 동기화 및 업데이트됩니다.

 

 

● 앱 배포

앱 배포를 하지 않아 앱이 프로토타입 상태에 있는 경우 모든 이메일, 메세지, 알림 등이 앱의 소유자에게만 전송됩니다. 이러한 기능을 제대로 사용하려면 꼭 배포를 진행해야 합니다.

앱 배포는 Manage > Deploy 메뉴에서 가능합니다. 배포에는 일반 배포와 화이트 라벨링이라는 두 가지 방식이 있습니다.

  1. 일반 배포

말 그대로 링크를 통해서 앱에 접속하는 일반적인 앱시트 앱의 배포 형태입니다. 특히 모바일에서 앱이 추가될 때 실제 앱이 아닌 바로가기 형태로 앱이 추가됩니다. 특별히 다른 작업을 할 필요 없이, Deployment check 및 Move app to deployed state 버튼을 눌러주기만 하면 앱 배포가 완료됩니다.

  2. 화이트 라벨링

화이트 라벨링은 앱을 스토어에 등록하여 사용자가 검색한 후 직접 다운로드 받을 수 있도록 배포하는 방법입니다. 스토어에 앱을 올리기 위한 다양한 인증 절차가 필요하지만, 사용자의 접근성을 조금 더 높일 수 있는 방법입니다. 앱을 화이트 라벨링한 경우 기본적으로는 업데이트가 자동으로 적용되지만, 업데이트 내용에 따라 재배포가 필요한 경우도 있습니다.

오늘은 앱을 공유, 테스트 및 배포하는 방법을 알아보았습니다. 이제 드디어 첫 번째 앱을 완성했군요! 앱을 만들었으면 유지 보수를 할 수 있어야 하겠지만, 그 주제는 중급 과정에서 더 심도있게 알아볼 예정입니다. 이제 여러 앱들을 직접 만들면서 경험을 쌓아 나가다 보면 금방 앱시트 중급 개발자가 되실 수 있을 겁니다. 다음 시간에는 앱시트 입문 개발자들이 알아야 할 키 포인트들을 소개해 드리겠습니다. 같이 열심히 공부해 봅시다~!!

반응형
반응형

안녕하세요.

계속해서 커뮤니티 앱을 만들어 보겠습니다. 지금까지는 앱을 만들고 필요한 기능을 추가하는 작업이었다면 이제부터는 앱을 꾸며주는 작업을 진행하게 될 텐데요, 시작하기 전에 이전 글들도 꼭꼭 확인해 주세요!

 

[앱시트 입문] 02. 앱 만들어보기 - (1) 앱 생성

안녕하세요. 이번에는 한 번 직접 앱을 만들어 보면서 앱을 만드는 과정과 완성된 앱의 모습을 확인해 보도록 하겠습니다. 글을 몇 개만 읽으면서 따라해 보시면 앱시트로 앱을 만드는 기본적인

appsheet.tistory.com

 

[앱시트 입문] 03. 앱 만들어보기 - (2) 데이터 자르기

안녕하세요. 저번 글에 이어서 커뮤니티 앱을 계속 만들어 보겠습니다. 만들어진 템플릿 앱의 데이터를 변형해서 유머, 자유, 베스트, 정보, 나눔 의 각 게시글 데이터가 구분되어 표시되도록 설

appsheet.tistory.com

 

[앱시트 입문] 04. 앱 만들어보기 - (3) 댓글과 좋아요

안녕하세요. 저번 글에 이어서 커뮤니티 앱을 계속 만들어 보겠습니다. 저번 시간까지는 템플릿 앱을 만들고, 만들어진 템플릿 앱의 데이터를 변형해서 유머, 자유, 베스트, 정보, 나눔의 각 게

appsheet.tistory.com

오늘은 각 화면(View)의 타입, 이름과 아이콘을 바꾸고, 버튼의 모양과 위치를 조정하고, 글씨체를 바꿔주도록 하겠습니다.

그럼 시작해 볼까요?

 

 

● 화면(View) 꾸미기

화면(View)은 UX 메뉴의 View 탭에서 꾸미기가 가능합니다. 먼저 화면을 하나 선택한 뒤, Display 메뉴를 열어 보면 아래와 같이 아이콘과 화면 이름(Display name)을 지정할 수 있습니다.

적절한 아이콘을 찾아서 선택해 주시면 됩니다. 저는 아래와 같이 메뉴 아이콘을 설정해 주었습니다.

메뉴가 훨씬 눈에 잘 들어오죠?

다음은 뷰 타입을 설정해 보겠습니다. 앱시트의 뷰 타입은 아래와 같습니다.

뷰 타입 설명 예시
Calendar 달력 형식으로 일별, 주별, 월별 일정 확인
Card 데이터 내용과 관련 액션을 묶어서 보여줌
Chart 히스토그램, 도넛 차트 등 데이터 시각화
Dashboard 한 화면에서 여러 뷰를 동시에 확인
(예시는 캘린더 뷰 + 차트 뷰)
Deck 행 데이터를 덱 형식으로 출력
Detail 한 행의 데이터를 상세하게 출력, 이전이나 다음 버튼을 눌러 다른 데이터 확인
Form 앱 사용자의 입력을 받음
Gallery 이미지 위주로 데이터 출력
Map 지도 상에 주소, XY, 좌표 데이터 표시
Onboarding 신규 사용자를 위한 소개 페이지
Table 행 데이터를 테이블 형식으로 출력

원하는 뷰 타입을 고른 후 View options 에서 데이터 표시 방식, 데이터의 정렬 순서 등을 지정해 주시면 됩니다. 저같은 경우 게시판을 보기 위해 Card 뷰를 선택하였습니다.

Card 뷰는 이미지와 같이 Layout이라는 항목이 있는데요, 이 메뉴를 통해 화면에 데이터가 어떻게 표시될지 정할 수 있습니다. 예를 들어 저는 이미지를 넣지 않았기 때문에 이미지를 클릭한 뒤, Column to show 를 None으로 선택해 주었고, Title 란에는 작성자 데이터를 넣어 주었습니다. 설정이 끝난 결과입니다.

여기서 좋아요 수를 표시해 주기 위해 표시를 위한 가상 열을 추가해 주었습니다.

여기서는 CONCATENATE()라는 함수를 사용하여 "좋아요 수: " 라는 텍스트와, 좋아요 갯수를 합쳐서 표시해 주었습니다.

CONCATENATE(): 순서에 따라 입력된 값을 합친 새로운 텍스트를 반환합니다.
  예 - CONCATENATE("Good morning, ", [First Name], "!")
    => 결과: Good morning, Martin!

베스트 게시판에도 CONCATENATE() 함수를 활용하여 '유형 표시' 라는 가상 열을 추가 후 카드에 표시해 주었습니다.

이제 Detail 화면과 Form 화면을 수정해 보겠습니다. 앱시트에서 화면(View)를 하나 생성하면, 시스템에서 자동으로 해당 화면의 데이터를 클릭했을 때 그에 대한 세부 항목을 보여주는 Detail 화면과 새 데이터를 추가하기 위한 Form 화면을 추가해 줍니다. 이런 시스템 뷰는 UX > Views 의 Show system views 버튼을 눌러 확인 가능합니다.

현재 앱의 Detail 페이지는 PID, 좋아요 등 표시할 필요 없는 항목까지 표시해주고 있기 때문에 이를 표시하지 않도록 수정해 주도록 하겠습니다. 방법은 Column order라는 항목에 표시하기 원하는 정보를 순서대로 추가해주면 됩니다.

Display 메뉴를 열어 앱에 표시할 이름도 적절히 변경해 줍니다.

똑같은 방법으로 다른 Detail 및 Form 화면에 대한 Column order 및 표시할 이름도 지정해 줍니다. 완성된 모습은 이와 같습니다.

앱이 드디어 모양새를 갖춰나가고 있네요.

 

 

● 버튼 꾸미기

댓글 작성과 좋아요 버튼의 아이콘을 바꿔 줍니다. Behavior 메뉴의 Actions 탭에서 버튼을 선택한 후 Appearance 메뉴를 열어 원하는 아이콘을 선택해 줍니다.

또, Prominence 메뉴도 원하는 디자인으로 바꿔 줍니다. Display overlay는 우측 하단에 버튼이 고정되는 방식이고, Display prominently는 페이지 상단에 버튼이 고정되며, Display inline은 특정 데이터 컬럼 옆에 버튼이 고정됩니다. 원하는 방식으로 적절히 수정해 주시면 됩니다.

같은 메뉴에서 Show all 버튼을 눌러 시스템 버튼에 대한 설정도 가능합니다.

설정을 마친 화면입니다. 좀더 보기 좋아졌군요.

 

 

● 글씨 꾸미기

마지막으로 글씨체, 글씨 크기와 색깔을 조금 바꿔주겠습니다. 이는 UX 메뉴의 Format Rules 탭에서 설정 가능합니다. 우선 좋아요 수가 눈에 잘 띄지 않아 해당 부분을 먼저 수정해 보겠습니다. New Format Rule 버튼을 눌러 새로운 서식을 생성합니다.

필요하다면 서식을 적용할 조건을 걸어줄 수 있습니다. 예를 들면 좋아요가 10개가 넘는 경우에는 색을 다르게 한다던가 하는 방식으로요. 저는 따로 조건을 넣어주지는 않았습니다. 저는 '좋아요 표시'를 선택하고 서식을 적용해 주었습니다.

위와 같이 텍스트와 함께 표시할 아이콘, 색깔, 크기 및 포맷을 지정해 주었습니다. 변경 결과는 아래와 같습니다.

이런 식으로 앱에 표시되는 글씨를 꾸며줄 수 있습니다. 원하는대로 앱을 꾸며주시면 됩니다.

오늘은 이렇게 앱을 예쁘게 꾸며 보았습니다. 설정 전과 후를 비교하면 엄청난 차이가 있는 것을 보실 수 있을 거예요. 이제 진짜로 앱을 사용할 때가 된 것 같습니다. 다음 시간에는 앱을 공유, 테스트 및 배포하는 방법을 알아보도록 하겠습니다. 같이 열심히 공부해 보았으면 좋겠습니다~

반응형
반응형

안녕하세요.

저번 글에 이어서 커뮤니티 앱을 계속 만들어 보겠습니다. 저번 시간까지는 템플릿 앱을 만들고, 만들어진 템플릿 앱의 데이터를 변형해서 유머, 자유, 베스트, 정보, 나눔의 각 게시글 데이터가 구분되어 표시되도록 설정해 보았습니다.

혹시 저번 글을 못보신 분들이 있다면 아래 링크에서 먼저 내용을 확인해 주세요!

 

[앱시트 입문] 02. 앱 만들어보기 - (1) 앱 생성

안녕하세요. 이번에는 한 번 직접 앱을 만들어 보면서 앱을 만드는 과정과 완성된 앱의 모습을 확인해 보도록 하겠습니다. 글을 몇 개만 읽으면서 따라해 보시면 앱시트로 앱을 만드는 기본적인

appsheet.tistory.com

 

[앱시트 입문] 03. 앱 만들어보기 - (2) 데이터 자르기

안녕하세요. 저번 글에 이어서 커뮤니티 앱을 계속 만들어 보겠습니다. 만들어진 템플릿 앱의 데이터를 변형해서 유머, 자유, 베스트, 정보, 나눔 의 각 게시글 데이터가 구분되어 표시되도록 설

appsheet.tistory.com

오늘은 댓글과 좋아요 기능을 구현해 보도록 하겠습니다. 또, 베스트 게시판에서 좋아요 갯수가 많은 순서대로 표시하도록 수정해 볼게요.

그럼 시작해볼까요?

 

 

● 댓글 구현하기

사실 저희는 이미 데이터를 다 준비해놓은 상황이기 때문에 설정만 잘 해주면 댓글 구현은 끝납니다. 먼저 댓글을 달 수 있게 댓글 달기 버튼을 추가해 주겠습니다.

버튼 추가는 Behavior 메뉴에서 가능한데요, New Action 버튼을 눌러 아래와 같이 새로운 버튼을 추가해 주었습니다.

저는 이 버튼을 눌렀을 때 해당 게시물에 대한 댓글을 작성할 수 있도록 하고 싶은데요, 그래서 Do this 항목에는 App:go to another view within this app 을 선택한 후, Target을 LINKTOFORM("댓글_Form", "PID", [PID]) 로 설정했습니다.

여기서 Target 란에 들어간 부분을 수식(formula)이라고 부르는데요, LINKTOFORM이라는 함수는 다음과 같이 설명이 돼 있습니다.

LINKTOFORM: 한 개 이상의 값을 미리 지정한 상태로 앱에 있는 특정 폼 화면으로 이동합니다.
  예 - LINKTOFORM("Some Form View", "Date", TODAY(), "Color", [_THISROW].[Color])
       => Date 값은 TODAY(), Color 값은 [_THISROW].[Color] 가 입력된 "Some Form View"라는 화면을 실행시킨다

이런 수식(formula) 작성 방법의 경우 별도 글에서 제대로 정리해 드릴 예정입니다. 지금은 일단 따라해보고, 어떤 결과가 나오는지 확인해 보면 좋을 것 같습니다. 적용된 화면은 이렇게 보입니다.

이처럼 '댓글 작성'이라는 버튼이 각 게시물에 표시가 됩니다. 버튼을 누르면, 아래처럼 PID가 1이라는 값으로 채워진 댓글 Form 화면이 보입니다.

내용을 입력하여 댓글을 입력해 보겠습니다. 저장 버튼을 누르면 댓글 등록이 완료되지만 아직 게시글 화면에는 댓글이 표시되지 않고 있네요.

댓글을 표시해주기 위해 Data 메뉴의 Columns 에서 게시글 테이블에 대한 가상 열(Virtual column)을 추가해 주도록 하겠습니다. 등록된 해당 열을 통해 댓글을 불러오면 됩니다.

Add Virtual Column 버튼을 누르면 가상 열이 추가됩니다.

여기에서는 수식(formula)으로 REF_ROWS("댓글", "PID")를 넣어 주었는데요, 댓글 테이블의 행 중 PID가 같은 행들만 리스트로 가져오라는 의미입니다.

REF_ROWS(): 특정 테이블이나 데이터 슬라이스에서 지정한 참조값과 일치하는 행들을 가져옵니다.
  예 - REF_ROWS("Order Details", "Order ID")
      => Order Details 테이블에서 Order ID 가 일치하는 행들을 가져옵니다.

이렇게 댓글을 추가해 주면 게시글 디테일 화면(게시글을 눌렀을 때 나오는 화면)에 댓글이 아래와 같이 표시됩니다.

 

 

● 좋아요 구현하기

좋아요도 댓글과 유사하게 Behavior 메뉴에서 좋아요 라는 버튼을 만들어주도록 하겠습니다.

저는 Data: add a new row to another table using values from this row 를 선택해 주었습니다. 현재 테이블인 게시글 테이블의 값을 이용해서 좋아요 테이블에 새로운 행을 추가하겠다는 의미입니다. [PID], USEREMAIL(), NOW(), 1 과 같이 필요한 값을 입력해준 뒤 저장 버튼을 눌렀습니다.

이처럼 좋아요 버튼이 생겼는데요, 해당 게시글에 대한 좋아요가 몇개인지 확인하기 위해서 새로운 가상 열(Virtual Column)을 추가해 주도록 하겠습니다.

여기서 똑같이 REF_ROWS() 함수를 사용했습니다. 그리고 지금 필요한 것은 좋아요 리스트가 아닌, 좋아요의 갯수이기 때문에 COUNT() 함수를 활용하여 리스트의 갯수만 가져오도록 하겠습니다.

이후 앱을 동기화해주면 아래와 같이 좋아요의 갯수가 표시됩니다.

 

 

● 좋아요가 많은 게시글부터 표시

좋아요를 만들어 주었으니 베스트 게시판을 수정해 보겠습니다. 모든 게시글 중 좋아요가 많은 게시글부터 표시하도록 설정해 보겠습니다. 방법은 생각보다 간단합니다. 먼저 UX 메뉴의 Views 탭으로 간 후, 베스트 를 클릭하여 화면 설정을 열어줍니다. 이후 Sort by, Group by 및 Group aggregate 메뉴를 통해 사용자에게 보여줄 데이터의 순서 및 형식을 조절할 수 있습니다.

이렇게 설정하고 테스트를 위해 정보 게시글에 좋아요를 3개 누르고, 유머 게시글에 좋아요를 2개 누른 후 앱을 동기화해 주었습니다(다른 게시글은 0개). 그랬더니 아래와 같이 화면이 표시되었습니다.

원하는대로 잘 정렬된 것을 확인할 수 있습니다.

오늘은 댓글과 좋아요 기능, 베스트 게시판 정렬을 해보았습니다. 여러 가지 수식이 지금은 낯설게 느껴지시겠지만 공부하고 앱을 만들다 보면 점점 익숙해 지실 거예요! 앱이 지금은 별로 예쁘거나 실용성이 있는 것 같지는 않아서, 다음 시간에는 앱을 좀더 꾸며주도록 하겠습니다. 앱을 잘 꾸미면 사용자 입장에서도 원하는 메뉴를 쉽게 찾아서 볼 수가 있고, 보기에도 예뻐서 더 좋은 앱으로 바뀐답니다. 같이 열심히 공부해 보아요~

반응형
반응형

안녕하세요.

저번 글에 이어서 커뮤니티 앱을 계속 만들어 보겠습니다. 만들어진 템플릿 앱의 데이터를 변형해서 유머, 자유, 베스트, 정보, 나눔 의 각 게시글 데이터가 구분되어 표시되도록 설정해 보는 것이 오늘의 목표입니다.

혹시 저번 글을 못보신 분들이 있다면 아래 링크에서 먼저 내용을 확인해 주세요!

 

[앱시트 입문] 02. 앱 만들어보기 - (1) 앱 생성

안녕하세요. 이번에는 한 번 직접 앱을 만들어 보면서 앱을 만드는 과정과 완성된 앱의 모습을 확인해 보도록 하겠습니다. 글을 몇 개만 읽으면서 따라해 보시면 앱시트로 앱을 만드는 기본적인

appsheet.tistory.com

오늘은 한글화(Localization), 데이터 정리, 데이터 구조 변경(Regenerate Structure), 데이터 자르기(Slice), 화면(View) 만들기 작업을 진행해볼 예정인데요, 누구라도 이해할 수 있도록 자세히 설명해 보도록 하겠습니다.

그럼 시작해볼까요?

 

 

● 기본 설정

앱에 대한 모든 변경 사항은 자동으로 저장되지 않고, 우측 상단의 SAVE 버튼을 눌러야 합니다.

SAVE 버튼을 누를 때마다 앱에 오류가 있지는 않은지 자동으로 검증이 진행되며, 성공적으로 저장 시 앱의 새로운 버전이 생성되게 됩니다. 예를 들어 1.0001 버전에서 저장 시 1.0002 버전이 새로 생기게 되며, 데이터가 남아있는 동안에는 버전 백업이 가능합니다.

1. 앱 이름 변경

왼쪽 상단의 앱 이름을 클릭하여 앱 이름을 변경할 수 있습니다. 저는 커뮤니티 앱이라고 이름을 지었습니다.

2. 로고 및 기본 색상 변경

UX 메뉴의 Brand 탭에서 기본 색상(Primary color)을 빨간 색으로 변경해 주고, 앱 로고 아이콘을 바꿔 주었습니다. 저는 앱시트에서 기본 제공하는 모양으로 바꿨지만, 커스텀 이미지를 업로드하여 사용할 수도 있습니다.

3. 한글화(Localize)

UX 메뉴의 Localize 탭에서 시스템 안내 문구를 커스터마이징 해주었습니다. "Yes : 예", "No : 아니오" 처럼 적당히 원하는 문구를 넣어 주시면 됩니다.

 

 

● 데이터 정리

이제 데이터를 깔끔하게 정리해 보겠습니다. 일단 스프레드 시트의 이름을 '커뮤니티 앱 데이터'로 변경해 주겠습니다. 그 다음으로는 각 시트 이름을 바꿔준 다음 데이터에서 첫번째 행 빼고 다 지워주시면 됩니다. 첫번째 행도 열 이름을 한글로 착착 바꿔볼게요. 저는 아래와 같이 이름을 변경해 주었습니다.

시트 이름 열 이름
게시글 PID, 내용, 링크, 첨부파일, 작성자, 날짜 / 시간, 유형
댓글 CID, PID, 내용, 링크, 첨부파일, 작성자, 날짜 / 시간
좋아요 LID, PID, CID, 좋아요 누른 사람, 날짜 / 시간, 카운트

여기서 게시글 시트에 '유형'이라는 열을 추가해 주었는데요, 이에 대해서는 나중에 설명하겠습니다.

어쨌든 이렇게 앱 개발자가 알아보기 쉬워야 개발도 편하고 사용자들도 쉽게 쓸 수 있습니다. 정리는 언제나 번거롭지만, 언제나 시간을 아껴줍니다.

원본 데이터 이름을 변경했기 때문에 앱시트는 이를 아예 다른 테이블로 인식합니다. 기존의 테이블을 모두 삭제하고 새로운 테이블을 넣어주겠습니다.

추가가 완료된 모습입니다. 앗, 그런데 저 빨간 점들은 뭐죠? 네 맞습니다. 에러입니다. Info에서 목록을 보니 무려 11개의 에러와 5개의 경고 문구가 표시되었는데요, 이미 있었던 데이터를 기준으로 작성된 앱인데 그 데이터를 지우고 새로운 데이터를 추가했으니 에러가 나올 수밖에 없죠. 이럴 때는 에러와 경고가 표시된 항목들을 다 지워주면 됩니다.

항목을 삭제하기 위해서는 Delete 버튼을 누르면 됩니다. Data 메뉴의 Slice 탭, UX 메뉴의 Views와 Format Rules 탭, Behavior 메뉴의 에러가 표시되는 모든 항목들을 다 지워주겠습니다. 그러고 나면 아래와 같이 깔끔한 앱이 완성되죠.

이제야 드디어 제대로 앱을 수정할 준비가 되었네요.

 

 

● 데이터 구성

단언컨데, 앱시트에서 가장 중요한 것은 데이터입니다. 데이터가 어떻게 구성되고 어떤 항목을 포함하는지에 따라 만들어지는 앱이 달라집니다. 저번 글에서 이미 앱시트 데이터가 관계형 데이터베이스라는 것을 언급했었는데요, 정리된 아래의 표를 보시면 댓글 테이블은 게시글 테이블을, 좋아요 테이블은 게시글 테이블과 댓글 테이블을 참조하는 것을 볼 수 있습니다.

시트 이름 열 이름
게시글 PID, 내용, 링크, 첨부파일, 작성자, 날짜 / 시간, 유형
댓글 CID, PID, 내용, 링크, 첨부파일, 작성자, 날짜 / 시간
좋아요 LID, PID, CID, 좋아요 누른 사람, 날짜 / 시간, 카운트

이제 Data 메뉴의 Columns 탭에서 각 열의 세부정보를 설정해줄 건데요, 이 때 3가지 중요한 요소가 있습니다.

1. 데이터 타입(Type)

  : 데이터의 유형. (텍스트, 숫자, Enum 등)

2. 키(Key)

  : 각 데이터를 구분하기 위한 고유값

3. 초기값(Initial value)

  : 해당 열에 데이터가 추가됐을 때의 초기값을 지정합니다.

각 열의 용도에 맞게 아래와 같이 설정해 주었습니다.

시트 이름 열 이름
게시글 PID(Text)[UniqueID()], 내용(LongText), 링크(Url), 첨부파일(File), 작성자(Email)[UserEmail()], 날짜 / 시간(DateTime)[Now()]유형(Enum)
댓글 CID(Text)[UniqueID()], PID(Text), 내용(LongText), 링크(Url), 첨부파일(File), 작성자(Email)[UserEmail()], 날짜 / 시간(DateTime)[Now()]
좋아요 LID(Text)[UniqueID()], PID(Text), CID(Text), 좋아요 누른 사람(Email)[UserEmail()], 날짜 / 시간(DateTime)[Now()], 카운트(Number)

, (타입),[초기값]

보기가 꽤 복잡한데요, 참고용으로만 쓰셨으면 좋겠습니다. 키는 해당 데이터의 ID 열로 지정해 주시는 것이 가장 편합니다. 타입같은 경우에는 상식적으로 작성해 주시면 됩니다. 초기값은 작성 시에는 아래와 같이 수식 작성을 위한 창이 나오는데요, 입력칸에 파란 괄호 안에 있는 값을 그대로 복사 붙여넣기 해주시면 됩니다.

유형의 경우 데이터 타입이 Enum으로 지정되었습니다. Enum은 정해진 목록을 만들어 사용자가 해당 목록 중 하나를 고르게 하고 싶을 때 쓰기 좋은 타입입니다. 왼쪽의 수정 버튼을 눌러 목록 작성이 가능합니다. 저같은 경우 아래와 같이 유머, 자유, 정보, 나눔 의 4개의 게시판 유형 목록을 작성했습니다. 베스트 게시판은 모든 게시판에서 좋아요 수가 많은 글만 가져오기 위한 게시판이라서 따로 목록에 추가하지는 않았습니다.

이제 데이터 구성이 완료되었습니다. 다음으로는 데이터 자르기(Slice)를 통해 각 화면(View)에 표시될 데이터를 구분해 보겠습니다.

 

 

● 데이터 자르기(Slice)

Data 메뉴의 Slice 탭에 가면 New Slice 버튼을 눌러 데이터를 자를 수 있습니다. 저는 아래와 같이 먼저 유머 게시글만을 보기 위한 "유머"라는 이름의 데이터 슬라이스를 생성해 주었습니다.

여기서 데이터를 어떻게 자를지는 Row filter condition 에서 정의할 수 있는데요, 저는 게시글 시트의 데이터 중 [유형] 열이 "유머"인 게시글만 가져올 수 있도록 [유형] = "유머" 라는 수식(formula)을 작성해 주었습니다. Copy 버튼을 눌러 동일한 방식으로 "자유", "정보", "나눔" 데이터 슬라이스를 추가해 주었습니다.

모든 작업이 끝나면 저장 버튼을 꼭 눌러주세요!

 

 

● 화면(View) 만들기

마지막으로 UX 메뉴에서 각 게시글에 대한 화면(View)을 추가해 주도록 하겠습니다. New View 버튼을 눌러 이름 및 데이터, View type을 아래와 같이 지정해 줍니다.

마찬가지 방법으로 자유, 유머, 정보에 대한 화면(View)를 추가해 줍니다. 또, 마지막으로 전체 게시글 시트로 "베스트"라는 이름의 화면(View)를 추가해 줍니다.

이후 Position 이라는 항목을 조정하여 각 화면(View)의 위치를 설정해주면 끝입니다. 데이터가 제대로 나눠지는지 확인하기 위해 원본 데이터 '게시글' 시트에 아래와 같이 항목을 추가해 주었습니다.

PID 내용 링크 첨부파일 작성자 날짜 / 시간 유형
1 유머     korea.appsheet@gmail.com 8/11/2022 17:37:00 유머
2 자유     korea.appsheet@gmail.com 8/12/2022 17:37:00 자유
3 정보     korea.appsheet@gmail.com 8/13/2022 17:37:00 정보
4 나눔     korea.appsheet@gmail.com 8/14/2022 17:37:00 나눔

그럼 지금까지 완성된 앱의 모습을 보시죠!

보면 아시겠지만 디테일 화면 등 내가 만들지 않은 화면도 시스템이 알아서 생성해 줍니다. 개발하는 입장에서 공수를 줄여주는 아주 큰 장점 중에 하나입니다.

오늘은 만들어진 템플릿 앱의 데이터를 변형해서 유머, 자유, 베스트, 정보, 나눔 의 각 게시글 데이터가 구분되어 표시되도록 설정해 보았습니다. 한글화(Localization), 데이터 정리, 데이터 구조 변경(Regenerate Structure), 데이터 자르기(Slice), 화면(View) 만들기 작업을 진행해 보았는데요. 너무 어렵진 않았을까 걱정이네요. 댓글로 의견 주시면 반영해 보도록 하겠습니다! 다음 시간에는 댓글과 좋아요 기능을 구현해 보고 베스트 게시판을 정비하도록 하겠습니다. 같이 열심히 공부해 보아요~

반응형
반응형

안녕하세요.

이번에는 한 번 직접 앱을 만들어 보면서 앱을 만드는 과정과 완성된 앱의 모습을 확인해 보도록 하겠습니다. 글을 몇 개만 읽으면서 따라해 보시면 앱시트로 앱을 만드는 기본적인 방법은 다 파악할 수 있을 거예요. 그만큼 쉽고, 또 간단합니다.

먼저 앱을 만들기 위해서는 아이디어가 있어야 하겠죠? 저는 간단한 커뮤니티 앱을 한 번 만들어보려고 합니다. 유머, 자유, 베스트, 정보, 나눔 게시판을 만들어서 글도 올리고, 좋아요도 누르고 댓글도 달 수 있게 해보겠습니다. 이번 글에서는 앱을 만들고, 만들어진 앱이 어떻게 생겼나 확인해 볼 예정이구요, 다음 글에서는 만들어진 앱을 편집해서 원하는 기능을 넣어볼 생각입니다.

이 글을 읽고 계신 여러분들도 글만 슬쩍 보고 넘기기보다는 같이 앱을 만들어 보았으면 좋겠어요. 아무래도 처음이다 보니까 어색하게 느껴질 수도 있겠지만, 천천히 따라하시다 보면 금방 적응할 수 있을 거예요!

그럼 시작해 볼까요?

 

● 앱시트 접속하기

먼저 아래 배너를 클릭하면 앱시트에 접속하실 수 있습니다.

 

Google AppSheet | Build apps with no code

Use Google AppSheet to build powerful applications that transform your business. Get started today.

about.appsheet.com

앱시트를 사용하기 위해서는 앱시트 계정이 필요한데요, 우측 상단의 Get started 혹은 Sign in 버튼을 눌러 앱시트 계정을 생성하거나 생성된 계정에 로그인할 수 있습니다. 

저같은 경우는 Google 계정으로 로그인을 했습니다. 그 외에 Microsoft 나 Apple 등 다른 계정으로 로그인하셔도 상관 없지만, 처음으로 앱시트를 시작하시는 분들께는 구글 계정을 사용하시는 것을 추천드립니다. 앱시트는 아무래도 Google Drive나 Google Calendar 등 구글 제품들과의 연관성이 좋기 때문에 구글 계정을 써야 더 효율적으로 관리가 가능합니다. 저도 그래서 웬만하면 구글 계정 기준으로 말씀을 드릴테니, 혹시 질문이 있으시면 댓글 남겨주세요!

[참고: Google 계정 만들기]

로그인을 하고 나면 아래와 같이 앱시트에서 내 계정에 대한 권한을 요청하게 됩니다. 구글 드라이브, 특히 스프레드시트에 대한 권한을 요청하는데요, 허용 버튼을 눌러주시면 됩니다.

아래와 같은 홈 화면이 나왔으면 성공입니다.

 

 

● 앱 만들기

앱시트 앱을 만들기 위해서는 데이터가 필요합니다. 먼저 홈 화면에서 Make a new app 버튼을 눌러보겠습니다.

Start with your own data는 미리 준비한 데이터 테이블이 있어야 합니다. 이렇게 처음부터 데이터를 만드는 방법도 있겠지만, Start with a template 에서 적절한 템플릿을 선택하면 좀더 빠르고 쉽게 작업을 할 수가 있습니다. 앱시트에는 수십 개의 템플릿이 있는데요, 아래 사이트에서 Explore 버튼을 눌러 템플릿 앱들을 미리 확인 후 적절한 앱을 복사해서 사용하면 됩니다. 이름을 잘 보고 고르시면 생각보다 금방 원하는 템플릿을 찾을 수 있을 겁니다.

 

AppSheet : mobile apps from spreadsheets : App templates

 

www.appsheet.com

 

 

● 앱 에디터 메뉴

저같은 경우에는 FAQ Directory(클릭 시 템플릿 앱을 직접 확인해볼 수 있습니다) 라는 템플릿을 복사했습니다. 복사를 마치고 나면 아래와 같은 앱 에디터(앱 편집기) 화면이 보일 것입니다. 우선 화면을 좀 살펴보겠습니다.

화면의 왼쪽 부분에는 여러 가지 메뉴들이 있고, 가운데에는 해당 메뉴에서 설정할 수 있는 옵션들을 볼 수 있습니다. 오른쪽에는 제작한 앱에 대한 미리보기 화면을 볼 수 있습니다. 미리보기 상단의 버튼을 눌러 모바일, 태블릿 및 브라우저에서 어떻게 보이는지 확인해 볼 수 있습니다. 그 위에는 공유를 하거나 작업 내용을 저장할 수 있는 버튼이 있습니다.

왼쪽에 위치한 각 메뉴에 대해서 간단히 표로 정리해 보았습니다.

메뉴 이름 설명
Home 앱 개발을 위한 팁, 앱시트 기능에 대한 소개
Info 앱에 간단한 설명 추가, 버전 정보 확인, 기본 앱 경로를 지정, 앱의 전체 구성을 그래프로 확인
Data 데이터 추가, 데이터 속성 정의, 데이터 자르기
UX 실제로 사용자가 보게 될 화면(View) 구성, 앱의 디자인과 표시되는 안내 문구 커스터마이징
Behavior 버튼 생성, 사용자가 버튼을 눌렀을 때 앱의 동작을 결정
Automation 특정 이벤트(데이터 변동에 의한 이벤트, 일정에 의한 이벤트)가 실행되었을 때 자동으로 실행되는 동작들을 정의
Security 로그인 조건, 암호화, 보안 필터(데이터에 대한 선별적 접근) 등 보안 관련 기능
Intelligence Smart Assistant(음성 인식), Prediction(값 예측), OCR(이미지 상의 글자 인식) 와 같은 인공지능 모델을 학습 및 앱에 적용
Manage 앱의 로그인 및 사용 기록 등 앱을 관리하는 데 필요한 로그 확인, 버전 관리, 앱 배포 진행

 

 

● 앱 데이터 확인

그럼 Data 메뉴로 가서 이 앱의 데이터가 어떻게 구성되어 있는지 확인해 보겠습니다. 아래 그림과 같이 Answers, Questions, Votes 의 세 개의 테이블이 등록되어 있네요. 데이터 source 는 구글 드라이브에 있는 Questions 라는 스프레드시트임을 알 수 있습니다.

Answers를 클릭해 보면 아래와 같이 나타납니다.

테이블의 이름이 나와 있고, 사용자들은 이 테이블의 행들을 업데이트, 추가 및 삭제할 수 있습니다. View source 버튼을 누르면 원본 데이터 소스에 접근이 가능합니다. 원본 데이터는 아래와 같이 생겼습니다.

Questions 라는 스프레드시트 파일에 있는 Answers 라는 이름의 시트가 열렸습니다. 여기서 Questions, Answers, Votes는 앱시트에서 각각 별개의 테이블로 인식됩니다. 첫번째 행은 굵은 글씨로 각 열의 이름을 보여주고 있고, 두번째 행부터는 실제 데이터가 들어가 있습니다. 첫번째 열은 ID로 표시되고 있는데요,  이 ID를 통해서 각 행을 구분하거나 참조할 수 있기 때문에 모든 테이블에 꼭 넣어주시는 것을 권장드립니다.

여기서 참조란 무엇일까요? 참조는 다른 테이블의 특정 행을 지정하는 행위입니다. 예를 들어 아래와 같은 Questions 테이블이 있다고 가정해 봅시다.

ID Question
Q1 앱시트 좋나요?
Q2 앱시트 해볼까요?

사용자들이 질문에 응답을 하게 되면 Answers 테이블에 기록이 될 것입니다. 그런데 그 응답은 순서대로 입력된다는 보장도 없고, 한 개의 질문에 대한 여러 개의 응답이 기록될 수도 있죠. 기록된 응답이 어떤 질문에 대한 응답인지 알기 위해서는 참조가 필요합니다.

ID Question Answer
A1 Q1 좋습니다!
A2 Q2 꼭 해보세요!
A3 Q2 추천드려요~

이러한 참조 기능이 포함된 데이터 베이스 구조를 관계형 데이터베이스라고 합니다.

앱시트에서는 이러한 참조 기능과 더불어 데이터 자르기, 화면(View) 생성 등으로 모든 데이터가 연결되어 있습니다. Info 메뉴의 Spec이라는 탭에서 데이터가 어떻게 연결돼 있는지 그래프 형식으로 한 눈에 확인이 가능합니다.

: 테이블 / ◆ : 자른 테이블 / ● : 생성된 화면(View) / → : 데이터 관계

 

오늘은 앱시트에 접속하는 방법, 앱시트 앱을 어떻게 만드는지, 앱 에디터가 어떻게 생겼는지, 앱을 만들기 위해서 어떤 데이터가 필요한지 알아 보았습니다. 아직 템플릿 앱을 확인 안해보신 분들은 여기에서 꼭 확인해 보시기 바랍니다!! 다음 글에서는 만들어진 템플릿 앱의 데이터를 변형해서 유머, 자유, 베스트, 정보, 나눔 의 각 게시글 데이터가 구분되어 표시되도록 설정해 보기로 합죠! 같이 열심히 공부해 보아요~

반응형
반응형

 

안녕하세요.

한국에서는 앱시트를 배우기가 쉽지 않은 것 같아요. 저도 회사에서 앱시트 관련 업무를 맡게 되어 공부를 시작한지 2년정도 되었는데 참고할 만한 사이트가 많지 않아 고생한 기억이 있습니다. 앱시트가 아닌 영어 공부부터 해야 했었죠...

그렇게 고생하며 공부한 결과로, 이제는 블로그를 운영할 만한 나름의 지식을 갖추게 되어 이 글을 쓰게 되었습니다. 다른 분들이 저만큼 고생하지 않도록 앱시트 입문자들을 위한 기초 설명, 샘플 앱, 공식 가이드 문서 번역 및 최신 업데이트 소식 등을 꾸준히 발빠르게 알려드릴 생각입니다.

그럼, 시작해 볼까요?

 

● 앱시트를 소개합니다.

2020년 1월, 구글은 6000만 달러(한화 약 720억 원)에 달하는 가치를 가진 앱시트라는 회사를 인수했습니다는 소식을 알렸습니다. 구글은 앱시트를 "다양한 산업의 많은 기업들이 사용하는 노코드 앱 개발 플랫폼 시장의 선두자"라고 설명했는데요. 앱시트가 대체 뭐길래 구글은 이렇게 많은 돈을 투자하면서 앱시트를 인수했던 걸까요??

 

Helping businesses create and extend applications without coding | Google Cloud Blog

By joining together, we’re helping companies more easily create and extend applications without the need for professional coding skills.

cloud.google.com

앱시트를 한 문장으로 정의하면 다음과 같습니다:

일반 직원도 코드 없이 비즈니스 로직을
자동화하는 앱을 개발할 수 있는 노코드 앱개발 플랫폼

즉, 누구나 비교적 쉽게 업무를 위해 필요한 자동화 작업이 포함된 앱을 개발할 수 있다는 것인데요.

예를 들어 한 사무직 직원이 매주 1. 필요한 값을 수집해서 2. 엑셀 파일을 만들고, 3. 이를 .pdf 파일로 변환하여 4. 스토리지에 저장한 뒤 5. 해당 파일을 첨부하여 보고 메일을 작성해야 한다고 했을 때, 그 직원이 앱시트를 쓰게 되면 1. 필요한 값만 수집 하면 나머지 2~5번의 과정이 자동으로 진행되도록 하는 앱을 간단하게 만들 수 있다는 것이죠.

비즈니스 개발자를 위한 노코드 및 로우코드 플랫폼에 대한 FORRESTER 사의 비교표. 앱시트는 해당 분야의 Leader 중 하나로 선정되었다.

그런데 사실 아무것도 모르는데 앱을 뚝딱 하고 만들어낼 수는 없습니다. 적어도 며칠 정도는 공부를 해 보아야 해요. 그런데 며칠 공부해서 앞으로의 직장 생활이 쭉 편해진다면 그건 꽤 남는 장사가 아닌가 합니다.

그럼 이제부터는 앱시트의 장단점에 대해 설명해 보겠습니다.

 

● 앱시트의 장점

1. 앱 개발 비용 감소

앱시트의 앱 개발 절차

보통 앱 하나를 기존의 코딩 방식으로 구현하려면 2~3개월 정도의 시간과 수천 만원의 돈이 필요합니다. 이렇게 오랜 시간과 많은 돈이 필요한 이유에는 여러 가지가 있겠지만, 가장 근본적인 원인을 꼽자면 앱을 만들기 위해 개발자가 필요하다는 점이죠. 문서를 작성하고, 개발하고 테스트하고 하다 보면 몇 개월이 훌쩍 지나가버립니다.

앱시트를 사용하면 이런 단점이 많이 해소됩니다. 문서를 주고받을 필요 없이, 앱을 필요로 하는 당사자가 앱을 직접 개발할 수 있어서 기존에는 2~3개월 걸리던 작업을 2~3일만 해도 충분하고, 개발 기간이 줄어드는 만큼 개발 비용도 감소해서 70% 정도의 개발 비용을 아낄 수 있다고 하죠. (경우에 따라 더 아낄 수도, 덜 아낄 수도 있겠지만요)

2. 앱 개발의 간편함

모든 노코드 앱이 그렇듯이, 앱시트를 활용하면 아주 간편하게 앱을 개발할 수 있습니다. 또, 앱시트는 노코드 앱 중에서는 자유도가 높은 편이라 같은 기능이라도 다양한 상황에 맞게 변형하여 적용할 수 있습니다. 그리고 음성 인식, 값 예측, OCR(이미지에서 텍스트 인식) 등의 인공 지능 모델도 아주 쉽게 학습시키고 앱에 적용할 수 있습니다.

3. 연동성과 확장성

연동성: 앱시트는 구글 서비스를 포함한 다양한 서비스와 연동이 가능합니다. 전문 개발자가 앱시트에서 개발을 진행하는 경우 구글의 Apps Script 와 연동하여 코드 기반으로 작업을 할 수도 있습니다.

확장성: 앱시트에서 만들어진 앱은 데스크탑 브라우저, 안드로이드, iOS 에서 모두 동작하는 하이브리드 앱입니다. 또한 스프레드시트, 클라우드 저장소에서 동기화되고 있는 엑셀, 다양한 데이터베이스 서버 및 온프레미스 시스템에서 데이터 테이블을 가져와 사용할 수 있습니다.

 

● 앱시트의 단점

1. 생각보다 어렵다

노코드 앱 개발이라길래 블록 쌓기처럼 원하는 기능을 드래그 앤 드롭 하기만 하면 끝일 줄 알았습니다. 근데 생각보다 이것저것 설정해 줘야 할 부분도 많고, 엑셀의 수식을 작성하듯이 FORMULA 를 제대로 작성할 줄 알아야 원하는 앱을 맞들 수 있었습니다. 그 외에도 데이터에 대한 전반적인 이해가 필요하고, 고급 기능을 위해서는 Apps Script나 API 관련 지식이 있어야 해서 비전문가가 처음 제대로 된 앱을 만들려면 일주일 정도는 공부해야 할 것 같아요.

2. 언어의 장벽

앱시트의 기본 언어는 영어입니다. 가이드 문서도 모두 영어고 앱 에디터도 다 영어라서 영어를 못하면 앱시트를 쓰기가 몇 배는 더 힘듭니다. 제가 이 블로그를 만든 이유이기도 하죠. 물론 앱은 Localization이라는 기능을 통해 전면 한글화가 가능합니다.

3. 안되는 건 안된다

앱시트는 모든 노코드 플랫폼이 가지고 있는 한계를 동일하게 가지고 있습니다. 무슨 말이냐면, 앱시트의 디자인 및 기능이 정해진 틀을 벗어날 수가 없다는 점입니다. 예를 들면 클라우드에 업로드하지 않은 로컬 데이터 소스를 활용하거나, 외부 웹 사이트를 앱시트 상에서 표시하는 일은 불가능합니다. 애초에 비즈니스 로직 자동화를 위해 만들어진 플랫폼이니 그 이상의 기능을 원한다면 코드 기반으로 앱을 개발하는게 맞는 것 같아요.

 

● 가격

앱시트에는 Free, Publisher Pro, Starter, Core, Enterprise Standard, Enterprise Plus 까지 총 6개의 요금제가 있습니다. 요금은 달러 기준이라서 달러 환율에 영향을 꽤 많이 받는 편입니다.

Free 티어의 경우 10명까지 무료로 사용할 수 있는 프로토타입 앱을 만들 수 있습니다. 다만 배포 과정은 불가능해서 테스트용 앱이나 개인용 앱을 만들 때 활용할 수 있는 요금제입니다.

Publisher Pro 는 외부 공개용 앱을 만들 때 활용할 만한 요금제입니다. 요금은 사용자 수에 상관 없이 앱 하나 당 한 달에 50 달러입니다. 다만 비즈니스에서 필요로 하는 보안 기능이 없어 약간 아쉬운 느낌입니다.

Starter 부터는 유저 수만큼 요금을 지불해야 하지만, 한 유저가 여러 개의 앱을 개발해서 사용할 수 있어 활용도에 따라 효율성이 높아집니다. 요금은 한 달에 유저 1명 당 5 달러입니다. Starter 요금제도 보안 기능이 없어 아쉬운 느낌이 있습니다.

Core 버전부터는 보안 기능이 들어가게 됩니다. 보안 기능이 왜 이렇게 중요한지는 차차 알려드려 보겠습니다. 요금은 한 달에 유저 1명 당 10 달러입니다. 특이사항으로, Google Workspace Enterprise Plus 버전을 사용하는 사용자들에게는 AppSheet Core 버전이 무료로 제공됩니다.

Enterprise Standard 버전은 스프레드시트나 클라우드 상의 엑셀 외에 세일즈포스, MySQL, AWS DynamoDB, 온프레미스 DB 등 외부 서버에서 테이블을 가져올 수 있습니다. 또 OCR, Prediction model과 같은 머신 러닝 기능을 사용할 수 있으며, 최대 6개월까지 앱 사용 로그를 보관해 줍니다.

Enterprise Plus 버전은 Doc AI 와 같은 고급 인공지능을 사용하는 기능과, 정부 규정 준수에 관련된 정보가 앱에 추가되고, 보다 상위의 리소스가 할당되어 앱이 더 좋은 성능을 내게 됩니다. 또 로그를 2년까지 보관하여 보다 원활한 앱 관리가 가능합니다.

 

앱시트는 Free 티어가 잘 돼 있어서 결제하기 전에 미리 앱을 만들어볼 수 있다는 게 큰 장점인 것 같아요. 회사 차원에서 앱을 개발하여 활용할 수도, 개인 업무 자동화를 위해서도 쓰임새가 많은 앱시트! 해야 할까? 말아야 할까? 고민보다 Go!! 같이 열심히 공부해 보았으면 좋겠습니다~

반응형

+ Recent posts