Scrappy - 친구들과 나만을 위한 작은 앱 만들기

2 days ago 1

  • Scrappy는 비전문가도 손쉽게 직접 작은 앱을 만들 수 있도록 돕는 홈메이드 소프트웨어 제작 도구
  • 대형 상용 앱이나 엔터프라이즈 앱과 달리, 개인적이고 창의적인 소규모 문제를 자유롭게 해결할 수 있음
  • 캔버스 기반 UI와 간편한 코드 편집, 실시간 협력 및 공유 기능을 제공해 비프로그래머도 활용 가능함
  • 모든 앱(스크랩) 은 기본적으로 멀티플레이어 환경이며, 계정 생성 없이 즉시 사용과 협업이 가능함
  • AI 코드 생성이나 기존 도구와 달리, Scrappy는 사용자 직접 조작과 소유권을 강조함

소개 및 배경

  • 대부분의 소프트웨어는 대중 시장 판매용이거나 대규모 맞춤형 앱이 중심임
  • 그러나 실제 개개인의 필요를 채우는 소규모, 개인 맞춤형 앱은 매우 드묾
  • Scrappy는 누구나 친구 및 가족을 위해 간단하고 창의적인 앱을 직접 만들 수 있도록 돕는 연구 프로토타입
  • Scrappy의 목표는 프로그래밍 전문성이 없어도, 더 많은 사람들이 창의적이고 개인화된 소프트웨어를 만들 수 있는 비전을 구체적으로 제시하는 것

Scrappy란 무엇인가

  • Scrappy에서 만든 앱은 Scrapp이라 부름
  • 대표적인 예시:
    • 초등학생을 위한 산수 연습 앱: 난이도 조절 가능
    • 지역 행사 참석자 카운터: 여러 입구에서 참가자 출입 관리
    • 회의비용 계산 시계: 실시간 회의 비용 산출
    • 주간 집안일 관리: 구성원별로 일정 유연 관리 가능

Scrappy에서 앱을 만드는 경험

  • Scrappy는 Figma, Miro, Google Slides와 유사한 무한 캔버스에서 버튼, 텍스트필드 등 오브젝트를 배치함
  • Inspector 패널에서 속성을 직접 수정할 수 있으며, 버튼 등에는 JavaScript 코드도 연결 가능함
  • 앱 제작은 드래그/드롭, 속성 수정, 코드 삽입을 단계적으로 반복하며 완성

주요 특징:

  • 기본 동작 구성: 필드와 버튼을 놓고 즉각적인 동작 연결 가능
  • 반응형 수식: 특정 조건에 반응하는 실시간 속성 변경 구현
  • 멀티플레이어 동기화: 상태가 항상 실시간으로 저장, 동기화됨
  • 라이브 편집: 실행과 편집 구분 없이 항상 실시간 수정 가능
  • 선택적 공유: 앱의 특정 일부분만 별도로 공유 및 연결 가능
  • 가시적 데이터 조작: 스프레드시트처럼 데이터를 보면서 디버깅 및 수정 가능

Scrappy를 개발한 이유

  • Scrappy는 사용자 주도의 프로그래밍을 실현하는, “small computing”, “casual programming”, “home-cooked software”같은 트렌드와 관련됨
  • 기존의 시각적 프로그래밍(블록, 노드-와이어 기반)과는 다른 길을 택해, 직관적 조작과 스크립팅을 결합
  • HyperCard, Visual Basic, 동시적 온라인 미디어 등에서 영감을 얻었으며, 생산성 캠퍼스 도구와 실시간 협업(구글 독스, Figma 등)의 경험을 중요하게 삼음.
  • Scrappy는 대규모 상용 앱이나 AI 자동 생성방식과는 달리, 사용자가 직접 제어하며, 개인화·재미·창의성을 극대화함
  • 코드를 직접 생성하지 않고도, 더 쉽고 인간친화적인 앱 제작 경험을 제공함.

Scrappy의 대상 사용자

  • 업무 프로세스 최적화자: 복잡한 업무 흐름을 전문가 도움 없이 개선하고 싶은 사람
  • 교사와 학생: 부수적 기술(커맨드라인, 환경설정) 없이 프로그래밍 본질에 집중 가능
  • 취미 개발자: 대중 앱의 복잡함을 벗어나 빠르게 여러 프로젝트 탐구 희망자
  • DIY 지향자: 집, 취미처럼 자신만의 앱을 직접 만들고 싶은 사용자

현재, Scrappy로 완전 초심자가 앱을 만드는 것은 아직 어려움(일부 JavaScript 지식 필요), 하지만, 공유와 리믹스는 비프로그래머도 가능함.

Scrappy에서 만들기 좋은 앱은?

  • 친구/지인과 공유: 대다수 Scrapp은 여러 사용자가 실시간 공동작업에 적합함
  • 지속적 수정 및 개선: 앱 실행 중에도 즉시 수정 가능, 배포/빌드 과정 없음
  • 소규모 계산 또는 조작: 복잡한 시스템보다는 공유 문서+약간의 컴퓨팅에 효과적임
  • 사용자 마찰 최소화: 계정 만들기 등 불필요한 과정 없이 링크만으로 접근 및 사용 가능
  • 신뢰할 수 있는 소수 사용자: 권한 제어나 미션 크리티컬이 필수라면 적합하지 않음

앱 아이디어 예시: 맞춤형 플래시카드, 회의 아젠다, 온라인 워크숍 관리, 가족 게시판, 여행 계획표 등

Scrappy vs 대중 앱

대중적인 앱을 찾을 수 없거나 적합한 것이 없는 경우, Scrappy로 직접 만들어 공유할 수 있음. Scrappy의 이점:

  • 필요한 기능만 가짐: 불필요한 요소 없음
  • 개인적인 정성: 직접 만든 앱은 의미와 애착 높음
  • 재미있게 수정 가능: 색상, 레이아웃을 자유롭게 꾸미고 유머도 추가 가능
  • 쉬운 리믹스/공유: 다른 사용자가 쉽게 수정 및 재활용 가능
  • 협업 중심 설계: 다수 사용자가 동시에 조작 및 편집 가능
  • 즉시 사용: 계정 가입 없이 링크 클릭만으로 바로 사용 가능
  • 데이터 소유권 명확: 데이터는 로컬에 저장되어, 온전히 사용자가 제어함

Scrappy vs AI 기반 앱 생성

AI가 앱을 자동 생성할 수 있지만, Scrappy의 장점은 이해 용이성, 실시간 협업, 창의적 소유감에 있음

  • 쉬운 이해 구조: 복잡한 코드 없이 시각적 오브젝트 기반
  • 실시간 협력 지원: 여러 사용자가 동시에 협업 및 수정 가능
  • 더 많은 재미와 창의성: 즉각적인 피드백, 능동적 수정의 즐거움을 제공함

Scrappy vs HyperCard 및 후속 도구

  • 인터넷 친화적 공유: Scrappy 앱은 링크만으로 온라인 공유 가능
  • 실시간 협업 환경: 동시 편집/실행 지원
  • 현대적 UI 및 인터랙션: 무한 캔버스, 다양한 오브젝트 지원
  • JavaScript 스크립팅: 현대적이며 보편적인 언어로 동작
  • 더 다양한 인터랙티브 오브젝트: 문자열, 숫자, 날짜, JSON 등 지원
  • 반응형 수식 및 상태 연결: 스프레드시트와 비슷한 동적 관계 설정 가능

향후 계획

  • 프로그래머가 아닌 사용자를 위한 진입장벽 낮추기
    • 코드 자동완성, 더 쉬운 디버깅, 관계 시각화, 이해하기 쉬운 에러 메시지, AI 기반 어시스턴트
    • 쉽고 빠른 공유, 공개 갤러리, 모바일 지원 강화
  • 기능 강화 및 확장
    • 컬렉션 및 데이터 처리 기능 강화, 반복적인 오브젝트 관리, 리유저블 컴포넌트 도입
    • Scrappy 확장성(새 오브젝트 지원), 개념적 일관성 개선 등

Read Entire Article