앱 인벤터2 - 앱 인벤터2란 무엇인가?
본문 바로가기

용어 정리, 이슈/과학&기술

앱 인벤터2 - 앱 인벤터2란 무엇인가?

728x90

1. 앱(모바일 애플리케이션)이란?

1-1. 앱(모바일 애플리케이션)이란?

앱(app) 혹은 모바일 애플리케이션(mobile application)은 스마트폰, 태블릿 컴퓨터(약칭 : 태블릿), 스마트워치와 같은 모바일 장치(손 등으로 들고 다닐 수 있는 장치)에서 작동할 수 있도록 디자인된 컴퓨터 프로그램 혹은 응용(application) 소프트웨어를 말한다. 이런 앱은 데스크톱 컴퓨터에서 직접 실행하도록 설계된 데스크톱 응용 소프트웨어나 모바일 장치가 아닌 모바일 웹 브라우저에서 실행되는 웹사이드를 모바일 기기의 화면 크기로 줄여 보여주는 웹 애플리케이션(web app)과 대조를 이룬다. 여기서 웹앱은 앱의 한 유형이지만, 

 

이미 알고 있겠지만, 이러한 앱은 모바일 기기가 등장하고 그 기기에서 이메일, 캘린더, 연락처 DB와 같은 생산성 지원을 위해 만들어졌지만, 앱에 대한 대중의 수요는 모바일 게임, 자동화 체계(공장 자동화, 시설 자동화 등), GPS 및 위치 기반 서비스, 주문 추적, 티켓 구매와 같은 다른 영역으로 빠르게 확장되어 현재 수백만 개의 앱을 유/무료로 이용할 수 있으며, 많은 앱들이 인터넷 접속을 필요로 하고 있다. 이렇게 다양한 앱들은 보통 디지털 유통 플랫폼의 한 종류인 앱 스토어(app store, 아이폰의 앱스토어, 삼성의 갤럭시 스토어, 구글의 플레이 스토어 등)에서 모바일 기기로 다운로드할 수 있다.

 

1-2. 모바일 앱 개발과 고려 사항

이러한 앱을 개발하는 과정모바일 앱 개발(mobile app development)이라고 한다.

 

모바일 기기들은 이전에 주로 개발되었던 데스크톱 응용 소프트웨어보다 성능이 떨어지는 편이지만, 배터리로 작동해 무선으로 사용할 수 있으며, 위치 및 카메라, 마이크 등과 같은 기능이 부가적으로 설치되어 있어 사용할 하드웨어가 많다는 장점이 있다. 우선 모바일 기기용 앱을 개발하려면 앞서 말했던 특징들을 포함해 해당 기기의 특징이나 소프트웨어적인 규격을 고려해야 한다.

 

그리고 전문화된 통합 개발 환경(IDE) 소프트웨어를 사용해야 한다.

모바일 앱은 에뮬레이터를 사용해 개발 환경(DE) 내에서 먼저 테스트한 후 나중에 현장 테스트를 거친다. 이 때 에뮬레이터는 개발자가 물리적으로 접근할 수 없는 휴대폰에서 애플리케이션을 테스트하는 가성비 좋은 방법들을 제공한다.

 

모바일 UI 설계도 필수다.(프론트엔드)

모바일 UI는 제약 조건, 맥락, 화면, 입력 및 이동성을 디자인 윤곽으로 간주하는데, 이 말은 사용자의 손으로 해당 모바일 앱을 터치할 때 사용자의 의도와 앱의 진행성(입력-계산-출력)이 일치하는가를 뼈대로 잡는다는 말이다. 이 UI가 잘 된다면 사용자 친화성과 사용자 이해도가 커지게 되고, 그 모바일 앱을 통해 얻는 UX를 좋게 평가하게 된다.

 

UI도 UI지만, 서버, 데이터를 관리하는(백엔드) 부분도 중요하다.

어떤 명령이 입력되면 그 명령을 데이터화 시켜 서버에 저장해야 하는 필요도 생긴다. 그럴 때 그런 서버나 데이터를 관리해서 데이터 라우팅, 보안, 인증, 권한 부여, 오프라인 작업 및 서비스 조정을 좀 더 쉽게 만들어주면 앱의 성능이 확 올라가게 된다. 이 기능성은 모바일 앱 서버, 서비스형 모바일 백엔드(MBaaS), 서비스 지향 아키텍쳐(SOA) 인프라 구조 등 다양한 미들웨어 구성요소에서 지원되기에 이 부분도 개발자라면 참고해두면 좋다.

 

2. 앱 인벤터2

2-1. 앱 인벤터2

앱 인벤터2 로고 (출처 : ai2.appinventor.mit.edu)

MIT 앱 인벤터(MIT App Inventor)2010년부터 원래 구글이 제공하다가 현재는 MIT가 제공/관리하는 구글 계정이 필요한 웹앱 통합 개발 환경(IDE)이다.

컴퓨터 프로그래밍에 익숙하지 않은 사람도 사용하기 쉽도록 스크래치(Scratch)와 같은 GI(그래픽 인터페이스)나 스타로고 TNG(StarLogo TNG)의 UI를 사용해 시각 객체들을 드래그 앤 드롭해 안드로이드 및 아이폰 장치에서 실행할 앱을 만들 수 있다.

앱 인벤터2 사용 화면 (출처 : ai2.appinventor.mit.edu)

앱 인벤터(App Inventor  2)는 처음엔 구글이 개발하고 이를 MIT나 하버드 대학 등 미국의 주요 고등교육기관에서 학습도구로 사용되다가 2010년 7월 일반인들도 사용할 수 있게 공개했고, 같은 해 12월에는 공식적으로 출시했다.

앱 인벤터 클래식(앱 인벤터 1)의 블록 에디터 화면 (출처 : MIT)

그러나 구글은 2011년 해당 IDE의 소스 코드를 공개하고 서버를 종료해 앱 인벤터를 더 이상 사용할 수 없게 되었다.

 

그러나 운이 좋게도 원 앱 인벤터 제작자들 중 MIT 교수가 MIT 모바일 학습 센터를 설립할 자금을 제공하며, 2012년 3월 MIT에서 운영하게 된 앱 인벤터 2(App Inventor  2)가 출시되었다. 그와 동시에 이 IDE의 원형이었던 앱 인벤터는 앱 인벤터 클래식(App Inventor Classic)으로 이름을 변경했다.

앱 인벤터2 화면 디자인의 예(좌측)와 앱 인벤터 블록 프로그래밍의 예(우측)

여기에서는 앱 인벤터2가 제공하는 부품인 컴포넌트(component)를 이용해 앱 화면을 디자인하고 디자인에 사용된 각 컴포넌트가 수행해야 하는 기능을 블록 코딩(block coding)하는 방식으로 프로그래밍하기 때문에 초보자들도 쉽게 사용할 수 있다.

MIT AI2 Companion (출처 : 구글플레이)

그 이후 핸드폰에 MIT AI2 Companion이라는 어플을 다운받거나, PC에 에뮬레이터를 다운받아 직접 자신이 디자인하고 설계한 앱 프로그램을 테스트할 수도 있다. 이 때도 세가지 방법으로 MIT AI2의 웹앱과 Compainion 어플을 연결시킬 수 있다.

 

2-2. PC에 다운로드한 에뮬레이터에서 테스트하기

첫째는 앱 인벤터2 aiStarter 다운로드 사이트(https://appinventor.mit.edu/explore/ai2/setup-emulator.html)에 접속해 프로그램을 다운받고 실행하면 된다. 그 상태에서 앱 개발 화면에서 에뮬레이터를 클릭하면 아래와 같이 바로 해당 PC에서 전화기 UI를 가진 에뮬레이터가 뜨고, 여기에서 바로 만든 어플을 실행해볼 수 있다.

이 방법은 자신의 모바일기기에 어플을 다운받지 않아도 되며 같은 PC에서 사용하기 PC용 테스팅에 적합하다는 장점이 있지만, 진동 울리기와 같이 실제 모바일 기기에서만 할 수 있는 기능들을 테스트하지 못한다는 단점이 있다.

 

2-3. 모바일 기기에 다운로드한 어플에서 USB를 이용해 테스트하기

방법은 위와 같다. 앱 인벤터2 aiStarter 다운로드 사이트(https://appinventor.mit.edu/explore/ai2/setup-emulator.html)에 접속해 프로그램을 다운받고 USB와  MIT AI2 Companion를 다운받은 핸드폰을 연결한 뒤 다운받은 프로그램을 실행하면 된다. 그러면 모바일 기기에 깔린 어플을 통해 자신이 만든 앱을 테스트할 수 있다.

 

이 방법은 진동 울리기와 같이 실제 모바일 기기에서만 할 수 있는 기능들을 테스트할 수 있다는 것과 WiFi 등 인터넷 연결에 덜 민감하다는 장점이 있지만, 자신의 모바일기기와 PC에 각각 어플과 프로그램을 다운로드 받아야 하는 번거로움이 생긴다.

 

2-4. 같은 WiFi 환경 내에서 QR코드를 이용해 어플 AI 컴패니언으로 바로 테스트하기

MIT AI2 Companion (출처 : 구글플레이)

앞서 소개한 어플 MIT AI2 Companion을 다운로드한 뒤, AI 컴패니언을 클릭해 연결시키면, 

이렇게 QR코드 스캔 혹은 영문 코드 직접 입력을 통해 바로 어플로 테스트해볼 수 있다. 이는 어플 하나만 깔고, 자기가 원하는 곳이면 어디서든 같은 WiFi가 연결된 PC와 연동해 작업할 수 있다는 장점이 있지만, 그 WiFi 이용량에 따른 속도 저하 등의 문제가 발생할 수 있다.

 

이런 어플에서 익힐 수 있는 것들을 이 <앱 인벤터2> 시리즈로 정리해보려고 한다.

반응형