KR101161946B1 - 스마트폰 어플리케이션 제작 시스템 및 그 방법 - Google Patents

스마트폰 어플리케이션 제작 시스템 및 그 방법 Download PDF

Info

Publication number
KR101161946B1
KR101161946B1 KR1020100026346A KR20100026346A KR101161946B1 KR 101161946 B1 KR101161946 B1 KR 101161946B1 KR 1020100026346 A KR1020100026346 A KR 1020100026346A KR 20100026346 A KR20100026346 A KR 20100026346A KR 101161946 B1 KR101161946 B1 KR 101161946B1
Authority
KR
South Korea
Prior art keywords
template
application
smartphone
processing unit
image
Prior art date
Application number
KR1020100026346A
Other languages
English (en)
Other versions
KR20110107146A (ko
Inventor
김민성
김대순
Original Assignee
(주)아이윈디
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)아이윈디 filed Critical (주)아이윈디
Priority to KR1020100026346A priority Critical patent/KR101161946B1/ko
Publication of KR20110107146A publication Critical patent/KR20110107146A/ko
Application granted granted Critical
Publication of KR101161946B1 publication Critical patent/KR101161946B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 스마트폰 어플리케이션 제작 시스템에 관한 것으로, 웹 페이지 상에 하나 이상의 스마트폰 어플리케이션의 템플릿을 표시함으로써 인터넷을 통해 접속한 클라이언트로 하여금 템플릿을 선택하도록 하는 템플릿 선택처리부; 템플릿이 선택되면, 인터넷을 통해 접속한 클라이언트로 하여금 웹 페이지 상에서 어플리케이션 화면상에 표시될 텍스트를 입력받거나, 어플리케이션 화면상에 표시될 컨텐츠를 획득하기 위한 XML링크를 입력받거나, 템플릿의 세부설정을 위한 인터페이스를 제공하는 기능 선택처리부; 웹 페이지 상에 비용 결제를 위한 인터페이스를 제공하는 과금처리부; 어플리케이션의 시작화면 이미지, 버튼 이미지 또는 컨텐츠용 이미지를 선정하거나 입력받는 이미지 입력처리부; 하나 이상의 스마트폰 플랫폼에 대하여 각각 하나 이상의 템플릿에 해당하는 소스코드를 저장하되, 상기 템플릿에 추가될 수 있는 각각의 기능에 해당하는 소스코드를 더 저장하는 소스코드 저장부; 상기 소스코드 저장부로부터 상기 선택된 플랫폼 및 선택된 템플릿에 해당하는 소스코드를 인출하고 상기 이미지 입력처리부를 통해 입력된 이미지 파일에 관한 정보를 소스코드에 삽입한 후 스마트폰용 어플리케이션 실행파일을 컴파일하는 컴파일 처리부; 및 상기 스마트폰 플랫폼을 에뮬레이트함으로써 상기 컴파일 처리부에 의해 컴파일된 실행파일을 실행하고, 실행되는 모습을 동영상으로 생성하여 웹 페이지 상에서 상기 클라이언트로 제공하는 동영상 제공부;를 구비하는 것을 특징으로 한다.

Description

스마트폰 어플리케이션 제작 시스템 및 그 방법{SMART-PHONE APPLICATION DEVELOPMENT SYSTEM AND DEVELOPING METHOD THEREOF}
본 발명은 인터넷 상에서 몇가지 조건을 간단하게 선택하는 것만으로 자동으로 스마트폰용 어플리케이션을 생성하여, 배포하는 시스템에 관한 것이다.
이미 수년전부터 윈도우CE, 심비안 플랫폼의 스마트폰이 시장에서 유통되어 왔으나, 사용방법의 불편함과 어플리케이션 유통의 실패로 인하여 상업적인 성공을 거두지 못했던 것이 사실이다.
그러나, 최근 미국 애플사와 구글사에서 내놓은 스마트폰 플랫폼은 기존의 스마트폰 플랫폼과 달리 어플리케이션의 설치와 배포가 용이하고, 스마트폰에 최적화된 SDK를 이용하여 쉽게 어플리케이션을 개발할 수 있을 뿐 아니라, 개발된 어플리케이션의 크기가 상대적으로 작고 기능도 간단한 편이어서 시장의 큰 방향을 얻고 있다.
특히, 애플사와 구글사의 플랫폼 기반 스마트폰용 어플리케이션들 가운데는 마치 웹 사이트처럼 몇 개의 페이지로 구성되며, 터치스크린을 이용해 터치하는 것만으로 간단하게 조작이 가능한 것이 많다.
그럼에도 불구하고, 어플리케이션의 개발은 여전히 종래의 퍼스널 컴퓨터 환경이나 마이크로 소프트사의 윈도우 CE, 윈도우 모바일 환경과 마찬가지로 개별적으로 개발사에 의뢰하여 진행하여야 하므로 막대한 개발비용과 개발기간이 소요되는 것이 일반적이었다.
본 발명은 이러한 종래기술의 문제점을 해소하기 위하여 안출된 것으로 스마트폰용 어플리케이션의 규격화를 통해, 웹 상에서 몇가지의 설정을 하는 것만으로 자동으로 커스터마이징된 스마트폰용 어플리케이션의 개발이 가능한 스마트폰 어플리케이션 제작 시스템 및 그 방법의 제공을 그 목적으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명에 의한 스마트폰 어플리케이션 제작 시스템은 웹 페이지 상에 하나 이상의 스마트폰 어플리케이션의 템플릿을 표시함으로써 인터넷을 통해 접속한 클라이언트로 하여금 템플릿을 선택하도록 하는 템플릿 선택처리부;
템플릿이 선택되면, 인터넷을 통해 접속한 클라이언트로 하여금 웹 페이지 상에서 어플리케이션 화면상에 표시될 텍스트를 입력받거나, 어플리케이션 화면상에 표시될 컨텐츠를 획득하기 위한 XML링크를 입력받거나, 템플릿의 세부설정을 위한 인터페이스를 제공하는 기능 선택처리부;
웹 페이지 상에 비용 결제를 위한 인터페이스를 제공하는 과금처리부;
어플리케이션의 시작화면 이미지, 버튼 이미지 또는 컨텐츠용 이미지를 선정하거나 입력받는 이미지 입력처리부;
하나 이상의 스마트폰 플랫폼에 대하여 각각 하나 이상의 템플릿에 해당하는 소스코드를 저장하되, 상기 템플릿에 추가될 수 있는 각각의 기능에 해당하는 소스코드를 더 저장하는 소스코드 저장부;
상기 소스코드 저장부로부터 상기 선택된 플랫폼 및 선택된 템플릿에 해당하는 소스코드를 인출하고 상기 이미지 입력처리부를 통해 입력된 이미지 파일에 관한 정보를 소스코드에 삽입한 후 스마트폰용 어플리케이션 실행파일을 컴파일하는 컴파일 처리부; 및
상기 스마트폰 플랫폼을 에뮬레이트함으로써 상기 컴파일 처리부에 의해 컴파일된 실행파일을 실행하고, 실행되는 모습을 동영상으로 생성하여 웹 페이지 상에서 상기 클라이언트로 제공하는 동영상 제공부;를 구비하는 것을 특징으로 한다.
한편, 상기와 같은 목적을 달성하기 위한 본 발명에 의한 스마트폰 어플리케이션 제작 방법은 인터넷을 통해 접속한 클라이언트로 웹 상에서 하나 이상의 스마트폰 플랫폼 또는 스마트폰 어플리케이션의 템플릿을 표시하는 제 110 단계;
클라이언트가 어느 하나의 플랫폼 또는 템플릿을 선택하면 웹 상에서 어플리케이션 화면상에 표시될 텍스트를 입력받거나, 어플리케이션 화면상에 표시될 컨텐츠를 획득하기 위한 XML링크를 입력받거나, 템플릿의 세부설정을 위한 인터페이스를 제공하는 제 120 단계;
기 저장된 각 템플릿별 소스코드 가운데 상기 제 110 단계에서 선택된 플랫폼 또는 템플릿에 해당하는 소스코드를 인출하되, 상기 제 120 단계에서 세부설정된 내용에 대응하는 소스코드를 더 인출하여 반영하며, 상기 제 120 단계에서 입력받은 텍스트 또는 XML링크를 반영하는 제 130 단계;
스마트폰용 어플리케이션 실행파일을 컴파일하는 제 140 단계;
상기 스마트폰 플랫폼을 에뮬레이트하여 상기 컴파일된 스마트폰용 어플리케이션 실행파일을 실행하는 제 150 단계;
상기 선택된 템플릿에 대응하여 기 저장된 입력값을 인출하여 상기 실행된 스마트폰용 어플리케이션에 인가하는 제 160 단계;
상기 스마트폰용 어플리케이션의 동작화면을 캡쳐함으로써 동영상을 생성하는 제 170 단계; 및
상기 생성된 동영상을 상기 클라이언트로 제공하는 제 180 단계;로 이루어지는 것을 특징으로 한다.
상기와 같은 본 발명에 의하면, 사용자가 웹 상에서 간단하게 몇가지를 설정하는 것만으로도 스마트폰용 어플리케이션이 자동으로 개발되므로 개발비용이 크게 낮아진다는 효과가 있으며,
어플리케이션의 구동 동영상을 웹 상에서 실시간으로 확인하고, 설정을 조금씩 변경함으로써 어플리케이션 개발과 관련한 하등의 지식이 없는 상태에서도 마치 직접 개발하는 것처럼 손쉽게 피드백을 줄 수 있다는 효과가 있다.
뿐만 아니라, 객체지향 프로그래밍 환경에서 검증된 소스코드를 조합하여 사용함으로써 컴파일시의 에러 발생율을 현저하게 낮출 수 있어 어플리케이션 개발의 자동화를 구현할 수 있으며,
패키지 형태로 판매되지 않는 스마트폰 어플리케이션의 배포 특성상 사용자들은 어플리케이션을 의뢰하여 개발한다고 하여도 이를 배포할 루트가 전혀 없었는데, 본 발명에 의하면 개발부터 배포에 이르는 모든 과정이 자동으로 처리된다는 효과가 있다.
도 1은 본 발명에 의한 스마트폰 어플리케이션 제작 시스템이 인터넷 상에서 연결되는 관계를 설명하는 망 구성도이며,
도 2는 본 발명에 의한 스마트폰 어플리케이션 제작시스템의 구성을 나타내는 기능블록도이며,
도 3은 클라이언트가 웹 상에서 스마트폰 플랫폼을 선택하는 모습을 예시적으로 도시하는 화면예시도이며,
도 4는 클라이언트가 웹 상에서 템플릿을 선택하는 모습을 예시적으로 도시하는 화면예시도이며,
도 5는 클라이언트가 웹 상에서 컴파일된 어플리케이션의 구동 동영상을 확인하는 모습을 나타내는 화면예시도이며,
도 6은 배포서버를 통해 어플리케이션이 배포되는 모습을 나타내는 참고도이며,
도 7은 본 발명에 의한 스마트폰 어플리케이션 제작 방법을 시계열적으로 나타낸 플로우차트이다.
이하에서는 첨부하는 도면을 참조하여 본 발명에 의한 스마트폰 어플리케이션 제작 시스템 및 그 방법을 상세히 살펴보기로 한다.
도 1에 도시된 바에 의하면 클라이언트(1)는 인터넷 망을 통해 스마트폰 어플리케이션 제작 시스템(100)이 제공하는 웹 페이지(2)로 접속한다. 즉, 클라이언트(1)는 스마트폰 어플리케이션 제작 시스템(100)에 직접 접속하는 대신 웹을 경유해서 스마트폰 어플리케이션 제작 시스템(100)으로 정보를 입력하거나, 수신한다.
즉, 클라이언트(1)는 웹 페이지에 접속하여 정보를 입력하거나 수신할 수 있는 장치라면 족하며, 웹 브라우저(Web Browser)가 구동되는 퍼스널 컴퓨터(Personal Computer)나 랩탑(Laptop), UMPC(Ultra Mobile PC), 풀 브라우징이 가능한 스마트폰(Smart Phone) 등이 될 수 있다.
한편, 웹 페이지(2)는 스마트폰 어플리케이션 제작 시스템(100)이 직접 호스팅할 필요는 없으며 별도의 웹 서버(미도시)를 통해 호스팅 되어도 무방하다.
이외에도, VAN(Value Added Network)사 서버(3) 및 배포서버(4) 또한 인터넷 망에 연결됨을 알 수 있다. VAN사 서버(3)는 상기 웹 페이지(2) 상에 구현된 신용카드 결제 모듈 등을 통해 클라이언트(1)가 결제할 경우 신용카드 번호와 결제금액 등의 정보를 수신하여 결제가 이루어지도록 처리한다.
배포서버(4)는 별도로 살펴보겠으나, 본 발명에 의한 스마트폰 어플리케이션 제작 시스템(100)에 의하여 생성된 스마트폰용 어플리케이션을 배포한다.
도 2에 도시된 바에 의하면, 본 발명에 의한 스마트폰 어플리케이션 제작 시스템(100)은 플랫폼 선택처리부(101), 템플릿 선택처리부(102), 기능 선택처리부(103), 과금 처리부(104), 이미지 입력처리부(105), 소스코드 저장부(106), 컴파일 처리부(107), 동영상 제공부(108), 부가정보 입력처리부(109) 및 배포처리부(110)를 구비한다.
스마트폰은 크게 노키아의 심비안, 애플사의 아이폰, 마이크로소프트사의 윈도우 모바일, 구글사의 안드로이드 플랫폼으로 나눠진다.
각 플랫폼마다 특성이나 개발환경은 각각 상이하지만 모두 객체지향 프로그래밍 환경에서 어플리케이션 개발이 이루어진다.
그리고, 스마트폰용 어플리케이션은 플랫폼에 무관하게 상대적으로 낮은 해상도와 작은 화면, 퍼스널 컴퓨터에 비해 떨어지는 컴퓨팅 파워의 이유로 대체로 스마트폰 하드웨어를 이용하여 복잡한 연산처리를 하여 결과물을 돌려주는 것보다는 간단한 정보나 이미지를 보여준다거나, 무선인터넷 망에 접속하여 기 저장된 링크로 접속하여 정보를 보여주는 등의 상대적으로 단순하고 제한된 기능을 하는 경우가 많다.
게다가, 버튼이나 슬라이드 바, 아이콘 등과 같이 SDK를 이용하여 구현할 수 있는 사용자 인터페이스 구성 콤포넌트들 또한 상대적으로 단순하여, 어플리케이션이 가질 수 있는 사용자 인터페이스는 형태나 기능에 따라 몇 가지로 분류하는 것도 가능하다.
스마트폰 어플리케이션들의 특성을 위와 같이 정의한다면, 객체지향 프로그래밍 환경이면서 상대적으로 단순하고 제한적 기능을 한다는 점에 착안하여 각 기능별로 소스코드를 모듈 형태로 미리 작성해두었다가 이들을 조합하여 컴파일함으로써 조금씩 다른 어플리케이션을 만들 수 있다.
그리고, 사용자 인터페이스가 형태나 기능에 따라 몇가지로 분류하는 것이 가능하므로 이들을 각각 템플릿 형태로 만들어 사용자로 하여금 선택하도록 하는 것에 의해 기 저장된 다수의 소스코드 모듈들 가운데 어떤 조합을 할 것인가를 결정할 수 있다.
소스코드 저장부(106)는 이와 같이 기능별로 모듈 형태로 작성된 소스코드들을 저장한다. 이때, 각 플랫폼마다 개발환경과 SDK가 상이하므로 상기 소스코드 저장부(106)는 각각의 플랫폼마다 별도로 소스코드들을 저장하여야 함은 물론이다.
한편, 플랫폼 선택처리부(101)는 웹 페이지(2) 상에 하나 이상의 스마트폰 플랫폼을 도시하되, 클라이언트(1)를 통해 해당 웹 페이지(2)에 접속한 사용자로 하여금 어떤 플랫폼에서 구동되는 어플리케이션을 제작할 것인지를 선택하도록 한다.
도 3은 클라이언트(1)의 웹 브라우저에 표시된 웹 페이지(2) 화면을 예시적으로 도시하고 있는데, 이에 의하면 웹 페이지(2) 상에 아이폰, 윈도우 모바일, 안드로이드의 세가지 플랫폼이 표시되어 있으며 사용자는 그 가운데 어느 하나를 선택할 수 있다.
사용자가 어느 하나의 플랫폼을 선택하면, 템플릿 선택처리부(102)는 선택된 플랫폼에 속하는 하나 이상의 템플릿을 웹 페이지(2) 상에 시각적으로 표시함으로써 사용자로 하여금 어느 하나를 선택하도록 한다.
이때, 템플릿이란 사용자 인터페이스의 형태나 기능에 따라서 분류된 것으로 실제 어플리케이션이 제작되었을 때 어떤 모습을 하고 있을 것인지를 나타낸다.
도 4는 도 3에서 사용자가 "아이폰"을 선택하였을 때, "아이폰" 플랫폼에 해당하는 템플릿들을 도시하고 있다.
한편, 이러한 템플릿 가운데 어느 하나가 선택되면, 선택된 템플릿과 같은 형태의 어플리케이션을 제작하기 위하여 상기 소스코드 저장부(106)에 저장된 다수의 모듈형태의 소스코드들 가운데 어떤 조합이 선택되어야 하는지가 결정된다.
즉, 템플릿은 도 4에 도시된 것처럼 몇가지의 예시적인 어플리케이션 화면의 형태로 사용자에게 보여지는데, 각 템플릿은 다시 말해 몇가지의 기능들의 조합으로 이뤄질 수 있으며, 따라서 각 기능에 대응하는 소스코드들을 조합하여 컴파일 하는 것에 의하여 템플릿과 같은 어플리케이션의 제작이 가능하다.
그러나, 템플릿은 컨텐츠가 빠져있는 어플리케이션의 뼈대에 해당할 뿐이어서, 커스터마이징된 어플리케이션의 제작을 위해서는 어플리케이션에 포함될 컨텐츠의 추가와 기능들을 세부적으로 설정이 필요하다.
기능 선택처리부(103)는 이를 위하여 인터넷을 통해 웹 페이지(2)에 접속한 클라이언트(1)로부터 첫째, 어플리케이션의 실행시 화면에 표시될 텍스트를 입력받으며, 둘째, 어플리케이션의 실행시 화면에 표시될 컨텐츠를 무선통신 방식에 의하여 획득할 수 있는 XML링크의 입력을 받으며, 마지막으로 상기 템플릿 선택처리부(102)에 의해 제공되는 템플릿의 기능들을 세부적으로 설정한다.
사용자는 클라이언트(1)의 웹 브라우저를 통해 웹 페이지(2)에 접속하고, 웹 페이지(2)에 제공되는 텍스트 박스에 직접 입력하거나, 기 작성한 텍스트 파일을 업로드하는 것에 의하여 텍스트를 입력할 수 있다. 어플리케이션은 웹 사이트처럼 몇 개의 페이지로 이뤄질 수 있는데, 이러한 경우 페이지별로 텍스트를 입력할 수 도 있다.
한편, 사용자는 클라이언트(1)를 이용하여 웹 페이지(2)에 접속하여 어플리케이션의 화면에 표시될 컨텐츠를 획득하기 위한 XML링크를 입력할 수 있다. 예를 들어, 어플리케이션의 실행시 스마트폰이 무선통신 방식에 의하여 트위터(Twitter) 서버에 접속하여 특정 ID와 관련하여 업데이트된 항목들을 획득, 화면에 표시한다거나, 스트리밍 서버로 접속하여 동영상을 스트리밍 받아 재생하는 등의 기능을 수행할 수 있는데 이러한 기능은 정형화된 소스코드에 XML링크와 ID 및 패스워드와 같은 인자(필요시)를 추가하는 것에 의해 구현될 수 있다.
즉, 도 4와 같은 화면에서 사용자가 선택한 템플릿이 특정 url에 접속하여 해당 url의 컨텐츠를 표시하는 기능을 포함한다면, 사용자는 해당 기능이 실행될 수 있도록 필요한 XML링크와 ID, 패스워드를 입력하여야 한다.
물론, 트위터나 유튜브(Youtube) 등 널리 알려진 링크는 상기 기능 선택처리부(103)가 미리 저장함으로써 사용자의 명시적인 입력절차를 생략하도록 할 수도 있다.
이외에도 사용자는 웹 페이지(2)에 접속하여 템플릿을 통해 제공되는 기능들을 세부적으로 설정할 수 있다. 도 4의 예에서 우측의 템플릿 화면을 보면, 4개의 탭을 가지고 있음을 확인할 수 있는데 이들 각각의 탭은 아직 그 명칭이 정해지지 않은 채 first tab, second tab 등과 같이 표시되어 있다.
사용자는 이러한 탭의 명칭을 웹 상에서 자신이 원하는 것으로 변경하는 것에 의하여 기능을 설정할 수 있다.
상기와 같은 플랫폼 선택처리부(101), 템플릿 선택처리부(102) 및 기능 선택처리부(103)는 웹 상에서 사용자로부터 필요한 정보를 획득하기 위한 수단으로 웹 인터페이스를 제공하게 된다.
한편, 이와 같이 사용자로부터 어플리케이션의 커스터마이징을 위한 정보들이 입력되면, 컴파일 처리부(107)는 소스코드 저장부(106)로부터 선택된 플랫폼, 템플릿에 해당하는 소스코드를 인출하고, 입력된 텍스트, XML 링크 및 기능설정값을 소스코드에 반영하여 컴파일 함으로써 상기 선택된 플랫폼에서 구동될 수 있는 어플리케이션을 생성할 수 있다. 사용자가 입력하거나 설정한 값을 소스코드에 반영하는 것은 컴파일 처리부(107)가 소스코드에 해당 내용이 입력될 위치를 미리 기억하였다가 각각 사용자로부터 입력받는 것이어서 용이하게 구현될 수 있다.
그런데, 이때 어플리케이션들은 단순한 텍스트 형태의 정보 이외에 그래픽 이미지를 다수 포함하므로 이미지 입력처리부(105)는 적절한 이미지 데이터를 수집하거나 입력받는다.
이를 위하여 이미지 입력처리부(105)는 사용자가 입력한 텍스트에 포함된 키워드를 이용하여 기 저장된 다수의 이미지 파일 또는 클립아트 가운데 적절한 것을 자동으로 선택할 수도 있으며, 사용자로 하여금 웹 상에서 직접 업로드하도록 할 수도 있으며 또는 도 2에 도시된 바와 같이 개발자 또는 그래픽 디자이너로부터 입력받을 수도 있을 것이다.
한편, 이와 같이 이미지 데이터의 입력까지 완료되면 컴파일 처리부(107)가 스마트폰용 어플리케이션을 컴파일할 준비가 모두 완료된다.
이윽고 컴파일 처리부(107)는 소스코드를 컴파일하여 한 차례 실행파일을 생성하는데, 이것으로 배포용 실행파일의 생성을 완료하는 것이 아니며 사용자의 의도에 부합하게 제대로 어플리케이션이 제작되었는지를 확인받는다.
이를 위하여 동영상 제공부(108)는 상기 선택된 플랫폼에 해당하는 에뮬레이터를 구동하고, 생성된 어플리케이션 실행파일을 에뮬레이터를 통해 실행시킨다. 그리고, 실행된 어플리케이션에 소정의 입력값을 인가한다.
스마트폰용 어플리케이션들은 실행되면 사용자의 터치스크린 터치를 기다리며 대기하는데, 동영상 제공부(108)는 상기 선택된 템플릿 마다 미리 정해진 입력값들을 저장하였다가 이를 상기 어플리케이션으로 인가함으로써 마치 사용자가 어플리케이션을 실제 사용하는 것과 효과를 거둘 수 있다.
즉, 도 4의 예에서 우측의 템플릿은 4개의 탭이 있어, 이를 채택한 스마트폰 어플리케이션은 각 탭이 태핑되면 해당 탭에 포함된 컨텐츠를 화면에 표시함으로써 동작하게 된다. 따라서, 동영상 제공부(108)는 해당 템플릿의 각 탭의 좌표를 미리 저장하였다가 터치스크린의 해당 좌표에 해당하는 영역이 터치되었을 때의 입력값을 상기 에뮬레이터를 통해 실행된 어플리케이션으로 각각 순차적으로 인가함으로써 어플리케이션이 실제 돌아가는 모습을 확인할 수 있다.
이러한 동영상 제공부(108)는 이와 같이 어플리케이션이 실행되어 동작하는 모습을 캡쳐함으로써 동영상 파일을 생성한다.
그리고, 상기 웹 페이지(2)에 접속한 클라이언트(1)로 생성된 동영상을 도 5에 도시된 바와 같이 스트리밍 방식으로 제공한다.
즉, 이와 같은 과정을 거침으로써 사용자는 웹 페이지(2) 상에서 템플릿을 선택하고 몇 가지의 기능을 선택하거나 입력한 후, 컴파일과 동영상이 자동으로 생성되는데 소요되는 몇 분 가량을 대기하면 웹 페이지(2) 상에서 어플리케이션이 실행되는 화면을 미리 볼 수 있게 된다.
이후, 사용자는 재차 기능선택처리부(103)를 통해 기능을 변경하거나, 텍스트를 추가하는 등의 세부설정을 달리할 수 있을 것이며, 이러한 과정이 몇 차례 반복되어 사용자가 웹 페이지(2) 상에서 어플리케이션의 제작이 완료되었음을 확인하면 그 시점에서 컴파일 처리부(107)가 마지막으로 생성한 실행파일이 최종본이 된다.
한편, 부가정보 입력처리부(109)는 이와 같이 생성되는 스마트폰용 어플리케이션에 관한 부가정보를 사용자로부터 입력받는다. 사용자는 클라이언트(1)를 통해 웹 페이지(2)에 접속한 상태에서 생성된 어플리케이션에 관한 부가정보를 입력하는데, 부가정보에는 어플리케이션의 명칭, 어플리케이션에 대한 소개, 어플리케이션이 속하는 카테고리, 저작자, 버전정보, 검색 키워드, 판매가격, 사용등급 및 배포국가 가운데 하나 또는 그 이상이 포함된다.
어플리케이션의 명칭은 배포서버(4)에 등록할 때 또는 스마트폰의 화면에 텍스트 형태로 표시되는 명칭을 말하며, 어플리케이션에 대한 소개는 해당 어플리케이션의 내용이나 특징을 설명하는 텍스트(또는 이미지를 더 포함할 수 있다.)로서 배포서버(4)에 등록되어 다른 사용자들이 해당 어플리케이션을 구매하기에 앞서 읽어보게 된다.
배포서버(4)에서 어플리케이션의 배포시 게임, 학습, 업무용 등등 몇 가지의 카테고리를 나누어 배포하게 되는데 어플리케이션이 속하는 카테고리는 이를 의미하며, 저작자는 어플리케이션이 저작물에 해당하므로 저작권을 갖는 자를 나타내며, 버전정보는 소프트웨어의 업데이트, 패치시마다 올라가는 버전정보를 의미한다.
한편, 사용자들은 배포서버(4)에 접속하여 구입하고자 하는 적당한 어플리케이션을 검색하기 위해 키워드를 입력하는데 검색 키워드는 이를 말하며, 판매가격은 상기 어플리케이션이 배포서버(4)에서 판매될 때의 가격을 의미하며, 사용등급은 가령 17세 이상 사용가와 같이 등급의 제한이 있을 경우 이를 의미한다.
그리고, 배포국가는 배포서버(4)가 국가별로 별도의 서버나 계정을 통해서만 배포하는 경우 어느 국가에서 배포할 것인지를 나타낸다.
한편, 부가정보 입력처리부(109)가 웹 상에서 사용자로부터 이러한 부가정보를 입력받으면, 배포처리부(110)는 배포서버(4)로 접속하여 상기 컴파일 처리부(107)에 의해 생성된 실행파일 최종본을 업로드하되, 상기 입력된 부가정보를 함께 상기 배포서버(4)로 전송한다.
도 6은 상기와 같은 과정을 거쳐 어플리케이션들이 배포서버(4)에 등록된 모습을 보여주고 있다. 도 6의 우측 상단에 도시된 어플리케이션은 그 명칭이 KoreaNationalTreasure이며, 저작자는 iWindy, 공표일자는 2009년 5월 31일, 가격은 무료임을 알 수 있다.
한편, 우측 하단에 도시된 어플리케이션은 가격이 0.99달러임을 알 수 있는데, 배포서버(4)는 어플리케이션의 판매시 수익을 일부 수수료를 제하고 어플리케이션을 등록한 자에게 되돌려 준다.
이를 위하여 부가정보 입력처리부(109)는 사용자로부터 계좌정보를 더 입력받을 수 있으며, 배포처리부(110)는 동일 사용자에 대해 처음 한 차례 계좌정보를 배포서버(4)에 등록한다.
한편, 상기와 같은 과정을 거쳐 사용자는 단순히 웹 페이지(2) 상에서 템플릿을 선택하고 몇 가지 정보를 입력하는 것만으로 자신만의 스마트폰 어플리케이션의 생성에서 배포까지를 자동으로 서비스 받을 수 있게 된다.
이때, 이러한 서비스에 소요되는 비용의 결제를 위해 과금처리부(104)는 웹 페이지(2) 상에 신용카드 결제 모듈등을 연결한다. 이에 의하여 사용자는 웹 페이지(2) 상에서 신용카드 번호와 비밀번호 등을 입력하는 것에 의해 비용을 결제할 수 있다. 신용카드 결제의 경우 별도의 VAN사 서버(3)를 경유하여 이루어짐은 공지사실에 속한다.
이하에서는 도 7을 참조하여 상기와 같은 구성을 갖는 본 발명에 의한 스마트폰 어플리케이션 제작 시스템에서 스마트폰 어플리케이션이 제작되는 과정을 시계열적으로 살펴보기로 한다.
도 7에 도시된 바에 의하면, 우선 클라이언트(1)가 인터넷을 통해 스마트폰 어플리케이션 제작 시스템(100)에 접속시 스마트폰 어플리케이션 제작 시스템(100)은 도 3에 도시된 바와 같이 제작하고자 하는 스마트폰의 플랫폼 선택화면을 클라이언트(1)로 제공하고, 플랫폼이 선택되면 도 4에 도시된 바와 같이 스마트폰용 어플리케이션의 템플릿 선택화면을 클라이언트(1)로 제공한다(S110).
이때, 제작가능한 스마트폰 플랫폼이 하나인 경우라면 플랫폼의 선택화면 제공은 생략하여도 무방하다.
이후, 플랫폼을 선택한 클라이언트(1)가 템플릿을 선택하면, 스마트폰 어플리케이션 제작 시스템(100)은 클라이언트(1)로 텍스트나 XML링크 입력을 위한 템플릿 세부설정을 위한 인터페이스를 웹 상에서 제공한다(S120).
클라이언트(1)가 텍스트나 XML링크를 입력하고, 템플릿의 세부설정을 마치면, 스마트폰 어플리케이션 제작 시스템(100)은 기 저장된 각 템플릿별 소스코드 가운데 선택된 플랫폼 또는 템플릿에 해당하는 소스코드를 인출하되, 상기 S120 단계에서 세부설정된 내용에 대응하는 소스코드를 더 인출하여 기 인출된 소스코드에 반영하고, 상기 S120 단계에서 입력받은 텍스트 또는 XML링크를 반영함으로써 소스코드를 완성한다(S130).
이후, 스마트폰용 어플리케이션 실행파일을 컴파일하여 실행파일을 제작한다(S140).
한편, 스마트폰 어플리케이션 제작 시스템(100)은 상기 선택된 스마트폰 플랫폼의 에뮬레이터를 구동하고, 상기 S140 단계에서 제작된 실행파일을 실행시킨다(S150).
스마트폰 어플리케이션 제작 시스템(100)은 템플릿마다 소정의 입력값을 미리 저장하고 있는데, 상기 실행중인 스마트폰용 어플리케이션에 적용된 템플릿에 해당하는 입력값을 인출하여 이를 상기 실행중인 스마트폰용 어플리케이션에 인가한다(S160).
그리고, 스마트폰용 어플리케이션의 동작화면을 캡쳐함으로써 동영상을 생성하여, 상기 클라이언트(1)로 제공한다(S170).
동영상을 확인한 클라이언트(1)가 최종적으로 어플리케이션 제작을 승인하면, 스마트폰 어플리케이션 제작 시스템(100)은 상기 클라이언트(1)로부터 생성된 스마트폰용 어플리케이션에 관련된 부가정보 또는 계좌정보를 입력받는다(S180).
그리고, 인터넷을 통해 배포서버(4)로 접속하여 상기 컴파일된 실행파일을 업로드하되, 상기 입력받은 부가정보 또는 계좌정보를 더 업로드한다(S190).
이상 몇 가지의 실시예를 들어 본 발명을 살펴보았으나 이러한 실시예는 예시의 목적을 위해 개시된 것이고, 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것임은 물론, 이는 하기의 특허청구범위를 벗어나지 아니하는 것으로 해석되어야 한다.
1 : 클라이언트 2 : 웹 페이지
3 : VAN사 서버 4 : 배포서버
100 : 스마트폰 어플리케이션 제작 시스템(100)
101 : 플랫폼 선택처리부 102 : 템플릿 선택처리부
103 : 기능 선택처리부 104 : 과금 처리부
105 : 이미지 입력처리부 106 : 소스코드 저장부
107 : 컴파일 처리부 108 : 동영상 제공부
109 : 부가정보 입력처리부 110 : 배포처리부

Claims (13)

  1. 웹 페이지 상에 하나 이상의 스마트폰 어플리케이션의 템플릿을 표시함으로써 인터넷을 통해 접속한 클라이언트로 하여금 템플릿을 선택하도록 하는 템플릿 선택처리부;
    템플릿이 선택되면, 인터넷을 통해 접속한 클라이언트로 하여금 웹 페이지 상에서 어플리케이션 화면상에 표시될 텍스트를 입력받거나, 어플리케이션 화면상에 표시될 컨텐츠를 획득하기 위한 XML링크를 입력받거나, 템플릿의 세부설정을 위한 인터페이스를 제공하는 기능 선택처리부;
    하나 이상의 스마트폰 플랫폼에 대하여 각각 하나 이상의 템플릿에 해당하는 소스코드를 저장하되, 상기 템플릿에 추가될 수 있는 각각의 기능에 해당하는 소스코드를 더 저장하는 소스코드 저장부; 및
    웹 페이지 상에 비용 결제를 위한 인터페이스를 제공하는 과금처리부;
    어플리케이션의 시작화면 이미지, 버튼 이미지 또는 컨텐츠용 이미지를 선정하거나 입력받는 이미지 입력처리부;
    상기 소스코드 저장부로부터 상기 선택된 플랫폼 및 선택된 템플릿에 해당하는 소스코드를 인출하고 상기 이미지 입력처리부를 통해 입력된 이미지 파일에 관한 정보를 소스코드에 삽입한 후 스마트폰용 어플리케이션 실행파일을 컴파일하는 컴파일 처리부; 및
    상기 스마트폰 플랫폼을 에뮬레이트함으로써 상기 컴파일 처리부에 의해 컴파일된 실행파일을 실행하고, 실행되는 모습을 동영상으로 생성하여 웹 페이지 상에서 상기 클라이언트로 제공하는 동영상 제공부;를 더 구비하는 것을 특징으로 하는 스마트폰 어플리케이션 제작 시스템.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제 1 항에 있어서,
    상기 동영상 제공부는 각 템플릿마다 소정의 입력값을 미리 저장하였다가, 상기 에뮬레이트된 스마트폰 플랫폼에서 실행되는 실행파일에 인가하되, 상기 실행파일이 인가된 입력값을 처리하는 화면을 캡쳐함으로써 동영상을 생성하는 것을 특징으로 하는 스마트폰 어플리케이션 제작 시스템.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 인터넷을 통해 접속한 클라이언트로 웹 상에서 하나 이상의 스마트폰 플랫폼 또는 스마트폰 어플리케이션의 템플릿을 표시하는 제 110 단계;
    클라이언트가 어느 하나의 플랫폼 또는 템플릿을 선택하면 웹 상에서 어플리케이션 화면상에 표시될 텍스트를 입력받거나, 어플리케이션 화면상에 표시될 컨텐츠를 획득하기 위한 XML링크를 입력받거나, 템플릿의 세부설정을 위한 인터페이스를 제공하는 제 120 단계;
    기 저장된 각 템플릿별 소스코드 가운데 상기 제 110 단계에서 선택된 플랫폼 또는 템플릿에 해당하는 소스코드를 인출하되, 상기 제 120 단계에서 세부설정된 내용에 대응하는 소스코드를 더 인출하여 반영하며, 상기 제 120 단계에서 입력받은 텍스트 또는 XML링크를 반영하는 제 130 단계;
    스마트폰용 어플리케이션 실행파일을 컴파일하는 제 140 단계;
    상기 스마트폰 플랫폼을 에뮬레이트하여 상기 컴파일된 스마트폰용 어플리케이션 실행파일을 실행하는 제 150 단계;
    상기 선택된 템플릿에 대응하여 기 저장된 입력값을 인출하여 상기 실행된 스마트폰용 어플리케이션에 인가하는 제 160 단계;
    상기 스마트폰용 어플리케이션의 동작화면을 캡쳐함으로써 동영상을 생성하여, 상기 클라이언트로 제공하는 제 170 단계;를 포함하는 것을 특징으로 하는 스마트폰 어플리케이션 제작 방법.
  12. 삭제
  13. 제 11 항에 있어서,
    상기 클라이언트로부터 상기 생성된 스마트폰용 어플리케이션에 관련된 부가정보 또는 계좌정보를 입력받는 제 180 단계; 및
    인터넷을 통해 배포서버로 접속하여 상기 컴파일된 실행파일을 업로드하되, 상기 입력받은 부가정보 또는 계좌정보를 더 업로드하는 제 190 단계;를 더 포함하는 것을 특징으로 하는 스마트폰 어플리케이션 제작 방법.
KR1020100026346A 2010-03-24 2010-03-24 스마트폰 어플리케이션 제작 시스템 및 그 방법 KR101161946B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100026346A KR101161946B1 (ko) 2010-03-24 2010-03-24 스마트폰 어플리케이션 제작 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100026346A KR101161946B1 (ko) 2010-03-24 2010-03-24 스마트폰 어플리케이션 제작 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20110107146A KR20110107146A (ko) 2011-09-30
KR101161946B1 true KR101161946B1 (ko) 2012-07-04

Family

ID=44956657

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100026346A KR101161946B1 (ko) 2010-03-24 2010-03-24 스마트폰 어플리케이션 제작 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101161946B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150041352A (ko) 2013-10-08 2015-04-16 에스케이플래닛 주식회사 웹 앱 생성 장치 및 방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101373550B1 (ko) * 2012-01-11 2014-03-13 (주)마상소프트 네트워크 기반의 플랫폼 시스템
KR101410356B1 (ko) * 2012-01-31 2014-07-01 이달수 부가기능의 설정을 위한 템플릿 제공 시스템
KR101511101B1 (ko) * 2012-08-16 2015-04-13 권오석 스마트폰을 위한 개인화된 쇼핑몰 애플리케이션 제작 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
KR101613293B1 (ko) 2014-06-13 2016-04-18 (주)라원크리에이티브 휴대 단말용 앱 생성 장치 및 이를 이용한 앱 서비스 방법
KR101505473B1 (ko) * 2014-08-29 2015-03-26 이훈규 동영상 광고 생성 장치, 이의 제어 방법 및 컴퓨터 프로그램이 기록된 기록 매체
KR101712609B1 (ko) * 2014-12-30 2017-03-08 엔에이치엔엔터테인먼트 주식회사 초기 정보를 제공하는 클라우드 서비스 방법 및 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182910A (ja) * 2000-12-11 2002-06-28 Sharp Corp アプリケーション開発方法及びアプリケーション開発環境システム
JP2004527016A (ja) * 2000-09-06 2004-09-02 オラクル・インターナショナル・コーポレイション オンラインでのアプリケーション開発

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004527016A (ja) * 2000-09-06 2004-09-02 オラクル・インターナショナル・コーポレイション オンラインでのアプリケーション開発
JP2002182910A (ja) * 2000-12-11 2002-06-28 Sharp Corp アプリケーション開発方法及びアプリケーション開発環境システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150041352A (ko) 2013-10-08 2015-04-16 에스케이플래닛 주식회사 웹 앱 생성 장치 및 방법

Also Published As

Publication number Publication date
KR20110107146A (ko) 2011-09-30

Similar Documents

Publication Publication Date Title
US11853728B2 (en) System integrating a mobile device application creation, editing and distribution system with a website design system
KR101161946B1 (ko) 스마트폰 어플리케이션 제작 시스템 및 그 방법
Panhale Beginning hybrid mobile application development
Deitel et al. Android for programmers: an app-driven approach
Masiello et al. Mastering React Native
KR102122451B1 (ko) 애플리케이션의 개발을 지원하는 플랫폼의 동작 방법 및 플랫폼을 제공하는 서버
CN105765527A (zh) 用于定制的软件开发包(sdk)的方法和装置
CN105814539A (zh) 用于代码虚拟化和远程进程调用生成的方法和装置
US20200285450A1 (en) System for providing instant preview of a mobile application under development
KR20140026815A (ko) 하이브리드 앱 제공 시스템 및 제공 방법
Shrivastava Learning Salesforce Einstein
Bretet Spring mvc cookbook
Alor-Hernández Frameworks, Methodologies, and Tools for Developing Rich Internet Applications
Sommer Comparison and evaluation of cross-platform frameworks for the development of mobile business applications
Peppers Xamarin 4. x Cross-Platform Application Development
US20210334092A1 (en) System For Providing Instant Preview Of A Mobile Application Under Development
Phan Ionic 2 Cookbook
Daniel Apple Watch App Development
Giametta Pro Flex on Spring
Ali DEVELOPING E-COMMERCE WEBSITE WITH AN E-PAYMENT SYSTEM.
Nechifor phoneplex–Mobile Phone E-Commerce Website: Technical Report
Mahmud Easy order app: making food ordering system easier and simpler
Sedliak et al. PHP Ajax Cookbook
Guarino Magento 2 Beginners Guide: Discover what you need to know to build your own profitable online stores using the power of Magento 2!
Nair et al. Building Mobile Applications Using Kendo UI Mobile and ASP. NET Web API

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150423

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee