어플과 앱인벤터(App Inventor)
[출처]앱인벤터 도서(가제), 박지숙, 김홍순
[출처]앱인벤터 도서(가제), 박지숙, 김홍순
🍀앱(App)이란?
2007년 1월 8일 애플사의 스티브 잡스(Steve Jobs)는 세상을 변화시킬 새로운 기기를 하나 소개합니다. 그 기기는 2000년대 최고의 혁신 제품이라고 불리는 바로 스마트폰 혹은 스마트 디바이스입니다. 나아가 스마트폰 내부에 설치되는 응용 소프트웨어(Application Software)를 소개하고 그 기능을 활용하여 메세지 송신, 사진 촬영, 인터넷 서핑, 음악감상, 금융업무처리, 동영상 재생, 스케줄 관리, 게임 등의 다양한 일들을 할 수 있을 것이라고 말했습니다. 즉, 이전에는 하나의 기기가 하나의 소프트웨어로 작동되며 하나의 일을 했다면, 스마트 디바이스라는 기기 하나로 여러가지 응용 소프트웨어를 활용하여 다양한 일을 처리할 수 있는 시대가 열리게 된 것입니다. 그리고 그 스마트 디바이스에 사용되는 소프트웨어를 어플리케이션(줄여서 앱)이라고 부르기 시작했습니다.
사실 응용 소프트웨어(Application Software)라는 스마트폰이 나올 당시 만들어진 단어는 아닙니다. 응용 소프트웨어의 단어를 이해하기 위해서는 프로그램(Program)이 무엇인지 알아야 합니다. 프로그램이란 특정 문제를 해결하기 위해 특정한 명령어(소프트웨어 언어)로 설계된 알고리즘의 집합을 의미합니다. 조금 쉽게 설명하면 기계에게 명령을 하기위해 기계가 알아들을 수 있는 말로 작성해놓은 글이라 생각하면 될 듯합니다.
이런 프로그램을 일반적으로 시스템 프로그램(System program, 이하 OS)과 응용 프로그램(Appication, 이하 App)으로 구분합니다. 스마트폰에서의 시스템 프로그램은 우리가 알고 있는 안드로이드, IOS 등을 의미합니다. 스마트폰이 나오기 이전에도 응용프로그램이라는 말이 쓰이긴 하였지만, 우리는 그것을 '프로그램'이라고 이야기 하곤 했습니다. 현재 한국에서 사용하는 보편적 인식은 데스크탑 컴퓨터 혹은 노트북에 사용되는 응용 소프트웨어를 프로그램이라 부르게 되었고, 스마트폰에서 사용하는 응용프로그램은 앱 혹은 어플리케이션이라 부르게 되었습니다. 하지만 결국 모든 시스템 소프트웨어를 제외한 모든 프로그램은 응용 소프트웨어라고 생각하면 됩니다.
🍀앱(App)의 기능과 초보자를 위한 앱 개발툴
인간의 삶을 변화시킨 다양한 기능들(번역, 음악재생, 음성 검색, 금융 앱, SNS앱, 게임관련 앱, 날씨 및 지하절 정보 앱, 사용자 맞춤 자동화 기능앱 등)이 포함되어 있으며, 앞으로 더 많고 다양한 기술들이 접목되어 앱으로 생산될 것입니다. 2010년 초 중반에는 일반 사람은 어플리케이션 제작 자체를 하는 것에 엄두를 내지 못하였습니다. 하지만 지금은 누구나 모바일 앱 스토어(애플 스토어, 안드로이드 스토어)를 통해 검색하고 다운로드하고 사용할 수 있으며, 누구든지 애플리케이션을 개발해 스토어에 등록하고 이를 세계를 대상으로 판매할 수 있는 환경에 접근할 수 있습니다. 어플리케이션 개발은 특별한 교육을 받은 개발자만의 영역이었지만, 다양한 컴퓨터 언어가 발전하듯이 앱 개발 플랫폼 또한 발전하여 코딩을 잘 알지 못하는 일반 사람들도 앱을 개발할 수 있도록 도와주는 플랫폼이 보급되었습니다. 코드의 사용 없이 초보자를 위한 앱개발 툴(Tool)은 아래와 같이 여러 종류가 있습니다.
가장 대표적인 앱 개발 툴이 MIT 미디어랩의 앱인벤터(App inventor)입니다. 마이크로소프트 파워 앱스라는 개발 툴은 30일 무료 평가판이 지나면 유료 구독을 해야합니다. 또한 구글 앱시트 같은 경우도 월 50달러의 비용을 내야 사용할 수 있습니다. 하지만 앱이벤터(App inventor)는 입문자가 사용하는 가장 기초적인 앱개발 툴이자, 블록 기반 인터페이스를 제공하여 코딩 없이 앱을 개발할 수 있도록 하는 장점이 있습니다. 그리고 가장 큰 장점은 무료이기에 누구나 사용할 수 있습니다.
🍀앱 인벤터란(App Inventor)?
MIT 앱 인벤터(App invertor, 이하 앱인벤터)는 직관적이면서 시각적인 프로그래밍 환경으로 설계된 앱개발 툴입니다. 특별한 프로그래밍(Java, C++, Python 등)언어를 사용하지 않고 안드로이드 기기용 앱을 만들 수 있는 개발툴입니다. 앱 인벤터는 드래그 앤 드롭 인터페이스와 블록 기반 프로그래밍을 사용하므로 프로그래밍을 처음 접하는 사람들이 더 쉽게 앱 개발에 도전할 수 있습니다.
앱 인벤터가 어떻게 발전하고 활용되었는지 알아보겠습니다. 앱 인벤터는 2010년 12월 구글(Google, 이하 구글)에 의해 처음 개발되었습니다. 또한, 앱 인벤터는 MIT 컴퓨터 과학 및 공학 교수인 할 아벨슨(Hal Abelson)과 구글의 소프트웨어 개발자인 마크 프리드먼(Mark Friedman)에 의해 주도되어 개발되었습니다. 이러한 앱인벤터는 ‘프로그래머가 아닌 사람들이 안드로이드 기기를 위한 모바일 앱을 제작할 수 있도록 그 도구를 만드는 것’이 초기 개발 목적이었습니다. 2011년이 되고 구글은 더이상 앱인벤터를 적극적으로 지원하지 않을 것이라 발표하였습니다. 하지만 앤인벤터 이용자들이 문제없이 사용할 수 있도록 서비스는 유지할 것이라고 발표하였습니다.
[앱인벤터 개발진]https://appinventor.mit.edu/explore/our-team
이후 2012년 3월 앱 인벤터 툴 개발 및 보수 프로젝트를 MIT에서 이어받아 관리하고 있습니다. 최근 몇년 동안 앱 인벤터는 새로운 구성요소와 통합, 새로운 튜토리얼 추가, 사용자 지원을 위한 온라인 커뮤티니 등 많은 업데이트가 되었습니다. 나아가 교육과 취미 활동에 널리 활용되었으며, 현재 학교와 대학에서 프로그래밍을 가르치는 툴로 활용되고 있습니다. 아래는 앱 인벤터의 특징을 정리한 표입니다.
🍀앱 인벤터의 특징
드래그 앤 드롭 인터페이스: 사용자는 버튼, 레이블 및 텍스트 상자와 같은 구성 요소를 인터페이스로 끌어다 놓아 앱에 추가할 수 있습니다.
블록 기반 프로그래밍: 사용자는 코드를 작성하는 대신 블록을 함께 연결하여 앱에 기능을 추가할 수 있습니다.
기본 컴퓨턴트 제공: App Inventor에는 버튼, 레이블, 텍스트 상자 등 다양한 기본 제공 구성 요소가 포함되어 있어 다양한 앱을 만들 수 있습니다.
에뮬레이터로 테스트 가능(안드로이드 OS): 사용자는 에뮬레이터에서 앱을 테스트하여 안드로이드 기기에서 어떻게 보이고 작동하는지 확인할 수 있다.
웹 기반 개발 툴: 웹 기반이므로 사용자가 인터넷에 연결된 모든 컴퓨터에서 액세스할 수 있습니다.
오픈소스 개발 툴: 사용자가 소스 코드에 액세스하고 수정할 수 있습니다.
다양한 앱 개발 가능: 게임, 교육용 앱, 비즈니스 앱 등과 같은 다양한 앱을 만드는 데 사용할 수 있습니다.
튜토리얼 제공: App Inventor에는 사용자가 소프트웨어를 사용하고 첫 번째 앱을 만드는 방법을 배울 수 있도록 도와주는 여러 가지 기본 제공 튜토리얼이 포함되어 있습니다.
🍀앱 개발 과정
앱 구상: 아이디어 , 시나리오 산출, 기능 리스트 작성 유사 앱 분석, 개발 팀 조직
기획 및 디자인: 화면 플로우 작성, 와이어 프레임 작성, 상세 기능 리스트 작성, 개발 툴 및 코딩 언어 선택, 앱 아키텍처 설계(네이티브 앱, 모바일 앱, 하이브리드 앱), 지원 플랫폼 결정
개발: 개발 환경 세팅, 초기 프로토타입 제작
테스트: 개발자, 디바이스, 사용자 테스트 진행
출시 및 배포: 배포용 앱 빌드, 마켓 등록 및 심사, 홍보활동
왼쪽의 앱 개발 단계에서 교육현장에서 활용이 가능한 것과 그렇지 않은 부분이 있다. 일단 '앱 구상, 기획 및 디자인, 개발(개발에서 초기 프로토타입)'까지는 가능하다. 하지만 실제 출시는 자금이 필요하며 학생들의 학사 일정을 고려했을 때 어려운 부분이 있을 수 있다. 예를 들어 출 시후 심사 탈락을 하면 수정해야 하는 기간이 필요한데 학생들은 개인 학습일정이 있기 때문에 장기 프로젝트로 앱 개발 및 등록을 할 수 는 없다. 나아가 홍보 활동은 교육 현장에서 어려움이 있다. 따라서 학습 목표는 '앱 개발 과정과 시스템의 이해 그리고 개발 과정 체험실습'정도까지 넣는 것이 좋다.
🍀앱 개발 전 실습_유사 앱
7.앱 인벤터 사이트 연결