KR102261152B1 - 앱 생성 장치 - Google Patents

앱 생성 장치 Download PDF

Info

Publication number
KR102261152B1
KR102261152B1 KR1020190103832A KR20190103832A KR102261152B1 KR 102261152 B1 KR102261152 B1 KR 102261152B1 KR 1020190103832 A KR1020190103832 A KR 1020190103832A KR 20190103832 A KR20190103832 A KR 20190103832A KR 102261152 B1 KR102261152 B1 KR 102261152B1
Authority
KR
South Korea
Prior art keywords
app
information
terminal
module
conversion module
Prior art date
Application number
KR1020190103832A
Other languages
English (en)
Other versions
KR20210023528A (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 KR1020190103832A priority Critical patent/KR102261152B1/ko
Publication of KR20210023528A publication Critical patent/KR20210023528A/ko
Application granted granted Critical
Publication of KR102261152B1 publication Critical patent/KR102261152B1/ko

Links

Images

Classifications

    • 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/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44584Portable applications, i.e. making applications self-contained, e.g. U3 standard
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명의 앱 생성 장치는 사용자의 단말기로부터 제1 정보 및 제2 정보를 획득하는 통신부; 상기 제1 정보를 이용해 제1 서버에 존재하는 제3 정보를 획득하는 획득부; 상기 제3 정보를 상기 제2 정보에 맞춰 변환시켜 제4 정보를 생성하는 변환부; 상기 단말기에 설치 가능한 동시에 상기 제4 정보를 획득할 수 있는 펜씨 앱(fancy app)을 생성하는 생성부;를 포함할 수 있다.

Description

앱 생성 장치{APPARATUS FOR CREATING APPLICATION}
본 발명은 앱을 자동으로 생성하는 장치에 관한 것이다.
최근 스마트폰의 등장과 시장 성장은 휴대 단말기 시장이 더 이상 하드웨어 중심이 아닌 소프트웨어 중심으로 변화하고 있는 것을 말해주고 있다. 휴대 단말기를 포함하는 모바일 인터넷에서 콘텐츠와 서비스에 대한 고객 수요가 증가하면서 하드웨어 중심의 휴대 단말기가 더 이상 소비자들에게 어필하지 못하고 있는 실정이다.
또한, 소프트웨어 중심으로의 변화는 사업자들에게 콘텐츠, 서비스 및 OS 라이선싱, 광고 등 수익모델의 다양화와 함께 콘텐츠와 서비스를 유통할 수 있는 어플리케이션 생태계의 확장을 일으키고 있다.
하지만, 현재의 어플리케이션 생태계는 소프트웨어 개발자 위주로 흐르고 있어서 훨씬 더 큰 콘텐츠란 입장에서의 시장을 놓치고 있는데, 이는 현재의 앱 생태계의 문제점은 유통자의 참여와 다루기 쉬운 저작 도구를 갖추지 못하고 있다는 것이다.
콘텐츠를 유통하기 위한 생태계는 다음과 같은 조건을 갖출 필요가 있다.
우선, 규모 측면에서 콘텐츠 생산자가 뛰어들기 위해서는 일정 이상의 소비자가 있어야 하고, 콘텐츠 생산자의 지분과 권력 측면에서 콘텐츠 유통업자는 독점계약을 통해 많은 수익을 가져가지 않아야 하며, 커뮤니티 측면에서 콘텐츠를 소비하고 생산하는 사람들 간의 커뮤니티 형성이 필요하고, 유통자의 참여 측면에서 유통 그룹의 참여뿐만 아니라 개인의 참여가 가능한 자유로운 유통 시장의 형성이 필요하며, 저작도구 측면에서 다루기 쉬운 저작도구를 제작함으로써 유통 속도를 증가시키고 콘텐츠의 양을 키울 수 있도록 할 필요가 있다.
하지만, 현재 앱 생태계 중에서 개발자가 아닌 사람들을 위한 다루기 쉬운 저작도구를 제공하는 생태계는 미비한 실정이다.
앱 저작 도구와 관련된 기술로 한국공개특허공보 제10-2013-0091989호에는 모바일 어플리케이션 저작을 위한 방법 및 모바일 단말기가 개시되어 있는데, 이에 의하면 화면 크기가 제약된 모바일 단말기 상에서 사용자가 모바일 어플리케이션을 용이하고 효율적으로 저작할 수 있도록 하고 있다.
한국공개특허공보 제10-2013-0091989호
본 발명은 앱을 자동으로 생성하는 앱 생성 장치를 제공하기 위한 것이다.
본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 앱 생성 장치는 사용자의 단말기로부터 제1 정보 및 제2 정보를 획득하는 통신부; 상기 제1 정보를 이용해 제1 서버에 존재하는 제3 정보를 획득하는 획득부; 상기 제3 정보를 상기 제2 정보에 맞춰 변환시켜 제4 정보를 생성하거나, 상기 제4 정보를 생성할 수 있는 변환 모듈을 생성하는 변환부; 상기 단말기에 설치 가능한 동시에 상기 제4 정보를 획득할 수 있는 펜씨 앱(fancy app)을 생성하는 생성부;를 포함할 수 있다.
본 발명의 앱 생성 장치는 사용자의 단말기로부터 URL(uniform resource locator)이 획득되고 상기 단말기로부터 앱 생성이 요청되면, 상기 단말기에 설치되고 실행시 상기 URL이 가리키는 홈페이지에 접근하고 상호 작용할 수 있는 하이브리드 앱 또는 웹앱을 자동 생성할 수 있다.
본 발명의 앱 생성 장치는 사용자의 단말기로부터 앱 생성과 관련된 제1 정보가 획득되면, 앱의 생성에 필요한 제2 정보를 단말기로부터 자동으로 직접 획득할 수 있다.
예를 들어, 본 발명의 앱 생성 장치는 사용자가 요청하는 홈페이지에 자동으로 접속하는 앱을 자동 생성할 수 있다. 앱의 자동 생성을 위해서는 사용자가 직접 입력한 URL 뿐만 아니라, 단말기의 해상도 정보와 같은 다양한 제2 정보가 추가로 필요하다. 본 발명의 앱 생성 장치는 전문적인 지식이 없는 사용자가 파악하기 곤란한 각종 제2 정보를 단말기로부터 직접 획득할 수 있다.
본 발명의 앱 생성 장치는 기획득된 제1 정보를 이용해서 제1 서버에 존재하는 제3 정보를 획득하고, 제3 정보를 제2 정보에 맞춰 제4 정보로 변환할 수 있다. 본 발명의 앱 생성 장치는 제4 정보를 획득할 수 있는 펜씨 앱(fancy app)을 자동으로 생성할 수 있다.
해당 펜씨 앱은 구글 앱 스토어, 애플 앱 스토어와 같은 앱 마켓에 등록되는 여부에 상관없이 사용자의 단말기에 직접 제공될 수 있다. 본 실시예에 따르면, 펜씨 앱은 불특정다수에게 공개되지 않는 사용자만의 고유 앱이 될 수 있다.
펜씨 앱은 네이티브 앱의 장점 중 서버와의 상호 작용을 통해 로그인 상태의 유지가 가능하며, 푸쉬 알림 등의 각종 알림 서비스를 제공받을 수 있으며, 결제가 가능한 장점이 있다.
사용자는 URL만 입력하면, 자신이 원하는 홈페이지에 접근할 수 있는 앱을 다운받아 자신의 단말기에 설치할 수 있다. 다시 말해, 사용자는 앱 생성과 관련된 지식이 전무하더라도, URL의 제공을 통해 앱을 자동 생성할 수 있다. 해당 앱은 홈페이지의 바로가기 아이콘과 대비하여 홈페이지 서버(제1 서버)와 상호 작용이 가능한 장점이 있다.
도 1은 본 발명의 앱 생성 장치를 나타낸 블록도이다.
도 2는 통신부로부터 단말기로 제공되는 앱 생성 메뉴를 나타낸 개략도이다.
도 3은 단말기에 설치된 펜씨 앱을 나타낸 개략도이다.
도 4는 펜씨 앱의 실행 초기 화면을 나타낸 개략도이다.
이하, 첨부된 도면들을 참조하여 본 발명에 따른 실시예를 상세히 설명한다. 이 과정에서 도면에 도시된 구성요소의 크기나 형상 등은 설명의 명료성과 편의상 과장되게 도시될 수 있다. 또한, 본 발명의 구성 및 작용을 고려하여 특별히 정의된 용어들은 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 한다.
본 명세서에 기재된 '앱(App)'은 '애플리케이션(application)'의 약어일 수 있다.
도 1은 본 발명의 앱 생성 장치를 나타낸 블록도이다.
도 1에 도시된 펜씨업 서버(100)(fancy up server)가 본 발명의 앱 생성 장치에 해당될 수 있다.
펜씨업 서버(100)는 단말기(90), 제1 서버(10), 제2 서버(20)와 통신할 수 있다.
도 1에서 앱 생성 장치에 해당하는 펜씨업 서버(100)는 통신부(110), 획득부(130), 변환부(150), 생성부(170)를 포함할 수 있다.
본 발명의 앱 생성 장치는 앱을 자동으로 생성할 수 있다.
앱은 네이티브 앱, 웹앱, 하이브리드 앱을 포함할 수 있다.
네이티브 앱(Native App)은 iOS, 안드로이드OS 등 각 OS에 맞는 언어로 앱을 개발하는 것을 말한다. 스마트폰에 설치하는 앱은 고객이 자신이 원하는 것만 골라 설치한다는 점에서 일종의 '러브마크'라고 할 수 있다.
웹앱(Web App)은 PC나 스마트폰 등 단말기(90)의 기종에 관계없이 아무 단말기(90)에서나 같은 콘텐츠를 볼 수 있도록 해 주는 시스템을 말한다. HTML5를 기반으로 하며 모바일 게임을 비롯한 콘텐츠업체들을 중심으로 빠르게 확산되고 있다.
하이브리드 앱(Hybrid mobile application)이란 기본 기능은 HTML 등의 웹 문서로 구현하고, 패키징은 아이폰, 안드로이드 등 모바일 운영 체제(OS)별로 구현하는 앱을 지칭할 수 있다.
하이브리드 앱은 모바일 웹(웹앱)과 기존 네이티브 앱의 장점을 모두 가진다. 먼저 HTML, 종속 스타일 시트(CSS: Cascading Style Sheets), 자바스크립트(JavaScript) 등 웹 표준 기술을 사용하여 웹 페이지를 구현하고, 안드로이드(Android)나 아이폰(iOS) 개발 환경에서 웹 브라우저로 해당 웹 페이지들을 로딩하여 OS 환경에 맞게 빌드(build)하여 만든다. 스마트폰이 활성화되면서 사용자 모바일 기기에 동작되는 앱 서비스의 필요성이 대두되었다. 모바일 OS별로 제작해야 하는 앱(native app)은 제작 기간이 길고 개발 및 유지보수 비용 등의 부담이 크다. 반면 모바일 웹은 OS별로 코드를 개발할 필요가 없고, HTML5 같은 언어로도 고급 표현이 가능하다. 이에 모바일 웹과 앱의 장점을 통합하여 개발하는 하이브리드 앱 방식이 관심을 받게 되었다. 제한은 있지만 기존 앱(native app)의 기능을 대부분 탑재할 수 있다. 예를 들어 모바일 웹에서는 지원되지 않는 푸시 알림 기능이 하이브리드 앱에서는 지원된다. 하이브리드 앱은 웹 문서들을 서버 내에 두고 서비스하는 방식과 기본적인 웹 문서들을 사용자 기기에 다운로드하여 저장한 뒤 오프라인 상태에서도 이용하는 방식이 있다.
하이브리드 앱은 네이티브 앱(Native APP)과 모바일 웹(WEB)의 장점을 모두 합친 형태라고 볼 수 있다. 예를 들어 네이티브 앱은 구동 속도가 빠르고 인터렉티브한 사용자 환경이 제공되어서 가장 좋은 성능을 내지만 OS 및 기기별로 특정 어플리케이션의 개발만 가능하고, 모바일 웹에 비해 개발비용이 많이 들고 개발기간도 상대적으로 길다는 단점이 있다. 또한, 네이티브 앱은 업데이트 및 수정과 관리가 어렵고 OS별 프로그래밍 언어를 습득해야 하기 때문에 OS별 동일 어플리케이션 개발이 매우 어려우며, 빠른 구동속도에 비해서 스마트폰 등 단말기(90)의 개별 특징을 잘 이해하고 있어야만 개발이 가능하다.
한편, 모바일 웹은 네이티브 앱에 비해서 개발기간이 짧고 웹 개발 지식으로도 개발이 가능하며 업데이트 및 수정 변경이 용이하고 어떤 OS에도 접근이 가능하기 때문에 스마트폰뿐만 아니라 PC 단말기(90) 상에서도 실행이 가능하다. 모바일 웹은 인터넷을 통해 접속하기 때문에 구동이 느리고 스마트폰의 하드웨어 기능인 GPS, 가속 능력을 사용하지 못하고 브라우저를 통한 2차 접근이라 접근성이 낮다는 문제점이 있다.
따라서, 상기와 같은 장점들을 결합한 하이브리드 앱은 기기에 상관없는 어플리케이션을 만들면서 내부구조와 사용자 인터페이스 및 카메라나 단말기(90) 센서 조작과 같은 하드웨어적인 기능을 사용할 수 있는 장점이 있다. 따라서 하이브리드 앱에서 사용이 되는 언어가 웹상에서 많이 사용하는 자바스크립트와 HTML5, CSS가 많이 사용되고 있으며 그것만으로도 충분히 좋은 어플리케이션을 만들 수 있지만 더욱 개발이 쉬우면서 보기 좋게 만들기 위해서 모바일 프레임워크를 많이 사용하게 된다.
여기서 상기 HTML 과 CSS는 마크업 언어라고도 하는데 문서가 웹에서 보여지기 위한 문서의 논리적인 구조(웹사이트에서 문서의 형태)를 만드는 역할을 담당한다. 즉, HTML은 구조를 만들고 CSS는 그 구조를 꾸며주는 역할을 하는 것이다. 상기 두 가지로 웹사이트를 충분하게 만들 수 있지만 정적인 웹사이트가 된다. 즉, 콘텐츠가 바뀌지 않고 마크업으로 정해놓은 내용만 보여지게 되는 것이다. 이때 자바스크립트(javascript)는 상기 웹사이트를 동적으로 만들어준다.
자바스크립트는 스크립트 언어라고 하는데 브라우저가 컴파일을 하고 이해하는 브라우저용 프로그래밍 언어라고 할 수 있다. 즉, 자바스크립트는 문서객체모델(DOM : Document Object Model)에 접근하여 자바스크립트가 가진 여러 가지 기능의 API를 통해 문서에 포함된 여러 객체와 해당 객체의 메소드 및 속성에 접근하여 많은 기능을 구현할 수 있도록 한다. 예컨대 상기와 같이 자바스크립트 API를 이용해 HTML5에서는 더 이상 객체(object) 태그를 사용하지 않고도 오디오와 비디오 파일을 핸들링 할 수 있게 된다.
한편 각 모바일 디바이스(모바일 단말기(90))의 프레임워크에서는 웹 화면을 띄울 수 있는 웹뷰(webview)를 제공하는데, 상기 웹뷰에서 단말기(90) 정보나 단말기(90) 기능이 필요할 때 자바스크립트 API에서 메소드 호출 형식으로 네이티브 코드에 정의해놓은 메소드(객체 지향 프로그래밍 언어에서 사용하는 용어로서 특정 기능을 수행하는 함수나 프로시져에 해당)를 불러다 쓸 수 있다.
그런데 하이브리드 앱은 특성상 모바일 디바이스의 플랫폼에 따라 동일한 기능을 구현하는 자바스크립트 코드가 분리되는 이슈가 존재한다. 예컨대 동일한 기능을 수행하기 위한 자바스크립트 코드를 안드로이드의 플랫폼과 iOS 플랫폼에 따라 다르게 구성되어야 하는 것이다.
이에 따라 서버에 페이지를 두고 실행하는 방식으로 어플리케이션을 구현할 경우 서버 혹은 클라이언트에서 자바스크립트의 분기 처리를 하는 복잡한 과정이 필요하다. 예컨대, 서버 방식의 경우 서버에서 사용자 브라우저의 정보를 액세스하고 이를 플랫폼(예 : 안드로이드 or iOS 등)에 따라 필요한 자바스크립트 파일을 HTML 문서 내에 스트립트 태그로 삽입하여 클라이언트로 전송한다. 한편 클라이언트 방식의 경우 사용자 브러우저의 정보를 액세스하고 플랫폼에 따라 필요한 자바스크립트 파일을 스크립트 태그 내에 정확한 주소와 함께 기술하여 동적으로 로딩할 수 있다.
이상에서 소개된 네이티브 앱, 웹앱, 하이브리드 앱은 각각 정도의 차이가 있으나, 각종 전문 지식이 없는 사용자가 제작하기에는 무리가 있다.
본 발명은 예를 들어 홈페이지의 URL(uniform resource locator)만 입력되면, 해당 홈페이지에 접근할 수 있는 앱을 자동으로 생성해주는 환경을 제공할 수 있다. 앱의 자동 생성은 통신부(110), 획득부(130), 변환부(150), 생성부(170)에 의해 수행될 수 있다.
통신부(110)는 단말기(90), 제1 서버(10), 제2 서버(20)와 유무선 통신할 수 있다.
통신부(110)는 사용자의 단말기(90)로부터 제1 정보 및 제2 정보를 획득할 수 있다. 이때, 제1 정보는 사용자가 스마트폰, PC 등의 단말기(90)의 입력 장치를 통해 직접 입력한 입력 정보에 해당할 수 있다. 통신부(110)는 제1 정보가 획득되면, 단말기(90)의 앱 구동 환경에 해당하는 제2 정보를 단말기(90)로부터 직접 획득할 수 있다. 다시 말해, 통신부(110)는 사용자의 입력을 요구하지 않고, 단말기(90)와의 통신을 통해 제2 정보를 자동으로 획득할 수 있다. 물론, 별도의 추가 옵션을 단말기(90)에 제공하여, 제2 정보의 자동 제공 또는 수동 제공을 선택할 수 있는 권한이 사용자에게 부여되어도 무방하다.
통신부(110)에 따르면, 앱 생성에 필요한 정보 중 사용자로부터 획득하는 정보는 오로지 제1 정보로 국한될 수 있다. 사용자의 입력 정보가 제1 정보로 제한되므로, 본 발명의 앱 생성 장치는 제한된 제1 정보를 기초로 앱을 자동 제작하는 틀만 갖추면 된다. 따라서, 방대한 정보를 입력으로 요구하는 앱 생성과 비교하여, 앱 생성에 대한 자동 생성의 어려움이 완화될 수 있다.
획득부(130)는 제1 정보를 이용해 제1 서버(10)에 존재하는 제3 정보를 획득할 수 이다. 일 예로, 제1 정보가 URL(uniform resource locator)을 포함하는 경우, 제1 서버(10)는 해당 URL이 가리키는 홈페이지의 관리 서버(홈페이지 서버)를 포함할 수 있다. 획득부(130)는 URL을 이용해서 해당 홈페이지에 접속하고, 메뉴 구성, 해상도 등의 홈페이지 정보를 획득할 수 있다. 이때, 홈페이지 정보가 제3 정보에 해당할 수 있다.
변환부(150)는 제3 정보를 제2 정보에 맞춰 변환시킬 수 있다. 일 예로, 변환부(150)는 제3 정보에 해당하는 홈페이지의 화면을 제2 정보에 해당하는 해상도에 맞게 확대하거나 축소할 수 있다. 또는 제2 정보의 해상도에 맞게 홈페이지의 화면을 재구성할 수 있다. 예를 들어, 원래 홈페이지의 특정 메뉴가 상단에 존재할 수 있다. 이때, 스마트폰에서 한손 조작이 용이하도록 해당 특정 메뉴를 하단 등의 다른 위치로 이동시키는 것이 화면의 재구성에 해당될 수 있다.
제2 정보의 해상도에 맞게 확대 또는 축소된 홈페이지 화면, 제2 정보의 해상도에 맞게 재구성된 홈페이지 화면이 제4 정보에 해당할 수 있다.
제3 정보는 변환부(150)에 의해 제2 정보에 맞춰 변환될 수 있으며, 제2 정보에 맞춰 변환된 제3 정보가 제4 정보에 해당될 수 있다. 결국, 변환부(150)는 제4 정보를 생성할 수 있다. 또는 변환부(150)는 제4 정보를 생성할 수 있는 변환 모듈을 생성할 수 있다.
변환부(150)는 제4 정보를 단말기(90)로 제공하거나, 제2 정보 및 제3 정보가 입력되면 제4 정보를 생성하는 변환 모듈을 생성부(170)에 제공할 수 있다.
생성부(170)는 단말기(90)에 설치 가능한 동시에 제4 정보를 획득할 수 있는 펜씨 앱(fancy app)을 생성할 수 있다.
일 예로, 펜씨 앱은 PC나 스마트폰에 설치 가능한 응용 프로그램 패키지를 포함할 수 있다. 안드로이드 응용 프로그램 패키지의 예로 펜씨 앱은 APK 파일일 수 있다. 마이크로소프트사의 윈도우즈 관련 응용 프로그램 패키지의 예로 펜씨 앱은 EXE 파일일 수 있다.
생성부(170)에 의해 펜씨 앱이 생성되면, 통신부(110)는 각종 앱이 등록되는 앱 마켓을 경유하지 않고 단말기(90)로 펜씨 앱을 직접 전송할 수 있다. URL 등의 제1 정보는 사용자 본인이 관심을 갖는는 일종의 개인 정보에 가까운 성격을 가질 수 있다. 따라서, 제1 정보가 투영된 제4 정보를 획득할 수 있는 펜씨 앱은 개인 정보의 보호를 위해 앱 마켓에 등록되지 않는 것이 유리할 수 있다. 또한, 앱 마켓에 앱을 등록하고 다운받을 수 있는 상태가 되기까지는 일정한 시간이 요구된다. 따라서, 앱 마켓을 경유하게 되면 펜씨 앱을 실시간으로 제공받지 못하는 문제가 있다. 본 실시예에 따르면, 펜씨 앱이 앱 마켓을 경유하지 않고 곧바로 단말기(90)에 제공되므로, 사용자는 펜씨 앱이 생성된 즉시 펜씨 앱을 받아서 단말기(90)에 설치할 수 있다.
펜씨 앱은 단말기(90)에 설치된 상태에서 실행되면 제4 정보를 획득할 수 있다. 예를 들어, 펜씨 앱은 통신부(110)와의 통신을 통해 변환부(150)로부터 제4 정보를 획득하는 통신 모듈을 포함할 수 있다. 또는 펜씨 앱은 직접 제4 정보를 생성하는 변환 모듈을 포함할 수 있다.
생성부(170)는 변환 모듈 및 통신 모듈 중 적어도 하나를 펜씨 앱에 포함시킬 수 있다.
변환 모듈은 단말기(90)에 설치된 펜씨 앱이 실행되면, 제3 정보를 제2 정보에 맞춰 제4 정보로 변환시킬 수 있다. 변환 모듈이 탑재된 펜씨 앱은 일단 단말기(90)에 설치된 후에는 본 발명의 앱 생성 장치를 이용하지 않고 스스로 동작될 수 있다.
통신 모듈은 단말기(90)에 설치된 펜씨 앱이 실행되면, 통신부(110)로 제1 정보를 송신하고, 생성부(170)로부터 제4 정보를 수신할 수 있다. 통신 모듈이 탑재된 펜씨 앱은 통신부(110)와의 통신을 통해 제4 정보를 획득할 수 있다.
펜씨 앱에 변환 모듈이 탑재되는 경우, 생성부(170)는 구동 모듈을 펜씨 앱에 변환 모듈과 함께 탑재시킬 수 있다.
구동 모듈은 단말기(90)에 설치된 펜씨 앱이 실행되면, 제2 정보 및 제3 정보를 획득해서 변환 모듈에 제공하고, 변환 모듈을 동작시킬 수 있다. 구동 모듈은 자신이 설치된 단말기(90)로부터 제2 정보를 획득하고, 제1 서버(10)로부터 제3 정보를 획득할 수 있다.
제2 정보는 단말기(90)의 해상도 정보 및 단말기(90)의 운영 체제 정보 중 적어도 하나를 포함할 수 있다.
변환 모듈은 단말기(90)의 해상도에 맞게 제3 정보를 변환시키는 제1 모듈, 단말기(90)의 운영 체제에 맞게 제3 정보를 변환시키는 제2 모듈을 포함할 수 있다.
하이브리드 앱 또는 웹앱의 경우, 홈페이지 화면 정보는 운영 체제에 상관없이 적용될 수 있다. 그러나, 적어도 해당 홈페이지 화면을 표시하는 화면 프레임 등은 JAVA SDK(소프트웨어 개발 키트, Software Development Kit), CORDOVA SDK 등의 툴을 이용해서 운영 체제에 맞춰서 제작될 수 있다. 이때, 화면 프레임 역시 제3 정보에 포함될 수 있다.
생성부(170)는 사용자에 의해 URL이 입력되면, 단말기(90)에서 실행시 URL이 가리키는 홈페이지에 접근할 수 있는 펜씨 앱을 생성할 수 있다. 펜씨 앱은 네이티브 앱, 웹앱, 하이브리드 앱 중 하나를 포함할 수 있다.
생성부(170)는 제1 서버(10)와 상호 작용하는 상호 작용 모듈을 펜씨 앱에 추가할 수 있다.
단말기(90)에 펜씨 앱이 설치되면, 상호 작용 모듈은 펜씨 앱의 실행 여부에 상관없이 제1 서버(10)와 통신할 수 있다.
상호 작용 모듈은 펜씨 앱의 실행 여부에 상관없이 제1 서버(10)에 단말기(90) 위치 정보 또는 로그인 정보를 제공하거나, 제1 서버(10)로부터 알림 서비스를 제공받을 수 있다. 또한, 상호 작용 모듈은 변환 모듈의 입력 소스가 되는 URL을 최상위 주소로 하는 범위 내에서 사용자가 이용한 하위 주소를 기억할 수 있다.
펜씨 앱의 최초 실행시 최상위 주소에 해당하는 URL에 해당하는 홈페이지가 단말기(90)에 표시될 수 있다. 이때의 홈페이지는 PC 버전의 해상도, 메뉴 등이 스마트폰에 맞춰서 변환된 것일 수 있다. 사용자가 해당 홈페이지 내에서 메뉴 등을 선택하면 메뉴와 관련된 하위 주소로 이동된다. 하위 주소로 이동된 상태에서 펜씨 앱이 종료될 수 있다. 이때, 상호 작용 모듈은 펜씨 앱이 종료된 시점의 하위 주소를 기억할 수 있다. 추후, 사용자가 다시 펜씨 업을 실행하면, 상호 작용 모듈은 기억된 하위 주소를 추출해서 변환 모듈에 제공할 수 있다. 상호 작용 모듈에 따르면, 사용자는 펜씨 앱 재실행시 기존에 자신이 머물런던 마지막에 주소로 바로 접속할 수 있다.
제1 정보가 URL(uniform resource locator)이고, 제2 정보가 단말기(90)의 해상도 정보, 단말기(90)의 운영 체제 정보 중 적어도 하나를 포함할 때, 앱 생성 장치는 다음과 같이 동작할 수 있다.
먼저, 획득부(130)는 URL이 가리키는 홈페이지(정보)를 획득할 수 있다. 변환부(150)는 단말기(90)의 해상도에 맞게 홈페이지를 변환시키거나, 단말기(90)의 운영 체제에 맞게 홈페이지를 변환시키는 변환 모듈을 생성할 수 있다.
생성부(170)는 펜씨 앱에 변환 모듈을 추가할 수 있다. 변환 모듈이 추가된 펜씨 앱은 통신부(110)를 통해 단말기(90)에 전달될 수 있다.
통신부(110)는 단말기(90)로부터 펜씨 앱의 이름 정보, 아이콘 이미지, 앱 내의 추가 이미지, 푸싱 파일 중 적어도 하나를 추가 획득할 수 있다.
생성부(170)는 이름 정보, 아이콘 이미지, 추가 이미지, 푸싱 파일 중 적어도 하나를 펜씨 앱에 추가할 수 있다.
도 2는 통신부(110)로부터 단말기(90)로 제공되는 앱 생성 메뉴를 나타낸 개략도이다.
도 2에 도시된 앱 생성 메뉴는 통신부(110)로부터 수신되고, 단말기(90)의 디스플레이에 표시된 것일 수 있다.
제1 정보에 해당하는 URL의 입력 메뉴 r, 앱의 이름 정보를 입력하는 입력 메뉴 n, 아이콘 이미지의 입력 메뉴 i, 추가 이미지의 입력 메뉴 p, 푸싱 파일의 입력 메뉴 f가 앱 생성 메뉴를 통해 제공될 수 있다.
앱의 이름 정보는 펜씨 앱 아이콘의 하단에 표시되는 펜씨 앱의 이름을 나타낼 수 있다.
아이콘 이미지는 단말기(90)에 설치될 때 단말기(90)에 표시되는 펜씨 앱의 이미지를 나타낼 수 있다.
추가 이미지는 펜씨 앱의 실행시 펜씨 앱의 초기 화면을 나타낼 수 있다.
푸싱 파일은 펜씨 앱의 실행시 자동으로 실행되는 별도의 파일을 나타낼 수 있다.
생성부(170)는 이름 정보, 아이콘 이미지, 추가 이미지, 푸싱 파일이 입력되지 않으면, 기본적으로 세팅된 기본값을 이용해서 펜씨 앱을 생성할 수 있다.
도 3은 단말기(90)에 설치된 펜씨 앱을 나타낸 개략도이다.
사용자가 앱의 이름 정보 입력 메뉴 n을 통해 '펜씨업소프트'라고 입력한 경우, 펜씨 앱에는 '펜씨업소프트'라는 표시 이름이 부여될 수 있다.
사용자가 아이콘 이미지 입력 메뉴 i를 통해 특정 아이콘을 입력한 경우, 펜씨 앱은 해당 아이콘의 형상으로 형성될 수 있다.
도 4는 펜씨 앱의 실행 초기 화면을 나타낸 개략도이다.
사용자가 추가 이미지 입력 메뉴 p를 통해 특정 이미지를 입력한 경우, 펜씨 앱의 실행시 초기 화면으로 특정 이미지가 표시될 수 있다.
추가 이미지의 표시 이후, 제3 정보가 변환된 제4 정보가 단말기(90)를 통해 표시될 수 있다.
이상에서 설명된 웹 생성 장치는 사용자의 단말기(90)로부터 URL(uniform resource locator)이 획득되고 해당 단말기(90)로부터 앱 생성이 요청되면, 단말기(90)에 설치되고 실행시 URL이 가리키는 홈페이지에 접근하고 상호 작용할 수 있는 하이브리드 앱 또는 웹앱을 자동 생성할 수 있다. 이때, 웹 생성 장치는 웹앱 또는 하이브리드 앱이 등록될 수 있는 앱 마켓을 경유하지 않고, 해당 단말기(90)로 하이브리드 앱 또는 웹앱을 직접 송신할 수 있다.
웹앱 또는 하이브리드 앱을 생성하는 앱 생성 장치는 펜씨업 SDK로 명명된 자체 SDK, CORDOVA SDK, 안드로이드 SDK, IOS SDK 등의 소프트웨어툴 또는 해당 툴을 이용해서 제작된 프로그램툴로 형성될 수 있다. 본 발명의 통신부(110), 획득부(130), 변환부(150), 생성부(170) 중 적어도 하나는 해당 소프트웨어툴, 프로그램툴의 형태로 마련될 수 있다. 일부 소프트웨어툴 또는 프로그램툴은 펜씨업 서버(100)와 별개로 마련된 제2 서버(20)에 마련될 수 있다. 펜씨업 서버(100)는 앱 생성에 필요한 프로그램툴이 존재하는 제2 서버(20)와 통신해서 필요한 리소스, 라이브러리 등을 획득할 수 있다.
앱 생성 장치에 해당하는 펜씨업 서버(100)는 코드 생성 룰 정의 수단, 웹 앱 코드 생성 수단을 포함할 수 있다.
코드 생성 룰 정의 수단은 각 파일들을 생성할 디렉토리, 파일명, 파일 타입, 파일을 생성하기 위해 호출할 호출함수 등을 포함하는 코드 생성 룰을 정의할 수 있다. 여기서, 디렉토리는 생성된 파일들이 저장될 장소일 수 있고, 파일명은 생성된 파일의 명칭일 수 있다. 파일 타입은 js, html 등 사용자에 의해 선정된 파일의 타입일 수 있다. 호출함수는 웹 애플리케이션의 데이터 구조에 접근하여 반환된 결과값을 해당 코드(내용, 문자열)로 생성하는 함수일 수 있다.
코드 생성 룰 정의 수단에서 정의된 코드 생성 룰은 템플릿 형태로 저장될 수 있다.
웹 앱 코드 생성 수단은 웹 애플리케이션에 대한 페이지 구조를 정의하고, 코드 생성 룰 정의 수단에서 정의된 코드 생성 룰을 이용하여 각 페이지에 해당하는 정적 구성요소 파일과 동적 구성요소 파일을 생성한다. 여기서, 정적 구성 요소는 HTML, CSS 등을 포함할 수 있고, 동적 구성요소는 페이지, 이벤트, 위젯 등과 같이 동적으로 동작하는 요소로서, 예컨대 JS 등을 포함할 수 있다.
웹 앱 코드 생성 수단은 페이지 구조 정의 모듈, 구성요소 파일 생성 모듈을 포함할 수 있다.
페이지 구조 정의 모듈은 웹 애플리케이션을 이루는 페이지들의 정적 구성요소 또는 동적 구성요소들을 포함하는 페이지 구조를 정의할 수 있다.
구성요소 파일 생성 모듈은 코드 생성 룰을 이용하여 각 페이지에 해당하는 정적 구성요소 파일 또는 동적구성요소 파일을 생성한다. 즉, 구성요소 파일 생성 모듈은 코드 생성 룰을 이용하여 페이지 구조 정의 모듈에서 정의된 각 페이지에 대한 정적 구성요소 파일 또는 동적 구성요소 파일의 로직을 구현하고, 구현된 로직의 호출함수를 호출하여 반환된 결과값을 코드(내용, 문자열)로 생성하며, 생성된 코드를 상기 로직에 정의된 파일명 및 파일타입으로 해당 디렉토리에 저장할 수 있다.
예컨대, main, view, comment, mypage 총 4개의 페이지로 구성된 웹앱의 경우, 구성요소 파일 생성모듈은 main 페이지의 정적 구성요소 파일 또는 동적 구성요소 파일을 생성, view 페이지의 정적 구성요소 파일 또는 동적 구성요소 파일을 생성, comment 페이지의 정적 구성요소 파일 또는 동적 구성요소 파일을 생성, mypage 페이지의 정적 구성요소 파일 또는 동적 구성요소 파일을 생성할 수 있다. 이때, 구성요소 파일 생성모듈은 각 페이지의 정적 구성요소 파일 또는 동적 구성요소 파일을 각 페이지에서 정의된 파일타입으로 생성하고, 생성된 파일들을 각 페이지에서 정의된 파일명으로 해당 디렉토리에 저장할 수 있다.
일 예로, 코드 생성 룰 정의 수단 및 웹 앱 코드 생성 수단을 갖는 생성부(170)에 의해 생성된 펜씨 앱은 정적인 요소와 동적인 요소를 모두 가질 수 있다. 정적인 요소는 홈페이지 정보 또는 변환 모듈을 포함할 수 있다. 동적인 요소는 상호 작용 모듈을 포함할 수 있다.
이상에서 본 발명에 따른 실시예들이 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 범위의 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 다음의 특허청구범위에 의해서 정해져야 할 것이다.
10...제1 서버 20...제2 서버
90...단말기 100...펜씨업 서버
110...통신부 130...획득부
150...변환부 170...생성부

Claims (12)

  1. 사용자의 단말기로부터 URL(uniform resource locator)을 포함하는 제1 정보 및 상기 단말기의 해상도 정보 및 상기 단말기의 운영 체제 정보를 포함하는 제2 정보를 획득하는 통신부;
    상기 제1 정보를 이용해 제1 서버에 존재하는 제3 정보를 획득하는 획득부;
    상기 제3 정보를 상기 제2 정보에 맞춰 변환시켜 제4 정보를 생성하거나, 상기 제4 정보를 생성할 수 있는 변환 모듈을 생성하는 변환부;
    상기 단말기에 설치 가능한 동시에 상기 제4 정보를 획득할 수 있는 앱을 생성하는 생성부;를 포함하며,
    상기 앱은 상기 단말기에서 실행시 상기 URL이 가리키는 홈페이지에 접근하고 상호 작용할 수 있는 앱 생성 장치.
  2. 제1항에 있어서,
    상기 생성부에 의해 상기 앱이 생성되면,
    상기 통신부는 각종 앱이 등록되는 앱 마켓을 경유하지 않고 상기 단말기로 상기 앱을 직접 전송하는 앱 생성 장치.
  3. 제1항에 있어서,
    상기 생성부는 변환 모듈 및 통신 모듈 중 적어도 하나를 상기 앱에 포함시키고,
    상기 변환 모듈은 상기 단말기에 설치된 상기 앱이 실행되면, 상기 제3 정보를 상기 제4 정보로 변환하며,
    상기 통신 모듈은 상기 단말기에 설치된 상기 앱이 실행되면, 상기 통신부로 상기 제1 정보를 송신하고, 상기 생성부로부터 상기 제4 정보를 수신하는 앱 생성 장치.
  4. 제1항에 있어서,
    상기 변환부는 상기 제3 정보를 상기 제2 정보에 맞춰 변환시키는 변환 모듈을 생성하고,
    상기 생성부는 상기 앱에 상기 변환 모듈, 상기 단말기에 설치된 상기 앱이 실행되면 상기 제2 정보 및 상기 제3 정보를 획득해서 상기 변환 모듈에 제공하고 상기 변환 모듈을 동작시키는 구동 모듈을 함께 탑재시키는 앱 생성 장치.
  5. 제4항에 있어서,
    상기 변환 모듈은 상기 단말기의 해상도에 맞게 상기 제3 정보를 변환시키는 제1 모듈, 상기 단말기의 운영 체제에 맞게 상기 제3 정보를 변환시키는 제2 모듈을 포함하는 앱 생성 장치.
  6. 제1항에 있어서,
    상기 생성부는 상기 사용자에 의해 상기 URL이 입력되면, 상기 단말기에서 실행시 상기 URL이 가리키는 홈페이지에 접근할 수 있는 상기 앱을 생성하는 앱 생성 장치.
  7. 제6항에 있어서,
    상기 생성부는 상기 제1 서버와 상호 작용하는 상호 작용 모듈을 상기 앱에 추가하고,
    상기 단말기에 상기 앱이 설치되면, 상기 상호 작용 모듈은 상기 앱의 실행 여부에 상관없이 상기 제1 서버와 통신하며,
    상기 상호 작용 모듈은 상기 앱의 실행 여부에 상관없이 상기 제1 서버에 상기 단말기 위치 정보 또는 로그인 정보를 제공하거나, 상기 제1 서버로부터 알림 서비스를 제공받는 앱 생성 장치.
  8. 제1항에 있어서,
    상기 획득부는 상기 URL이 가리키는 홈페이지를 획득하고,
    상기 변환부는 상기 단말기의 해상도에 맞게 상기 홈페이지를 변환시키거나, 상기 단말기의 운영 체제에 맞게 상기 홈페이지를 변환시키는 변환 모듈을 생성하며,
    상기 생성부는 상기 앱에 상기 변환 모듈을 추가하는 앱 생성 장치.
  9. 제1항에 있어서,
    상기 통신부는 상기 단말기로부터 상기 앱의 이름 정보, 아이콘 이미지, 앱 내의 추가 이미지, 푸싱 파일 중 적어도 하나를 추가 획득하고,
    상기 생성부는 상기 이름 정보, 상기 아이콘 이미지, 상기 추가 이미지, 상기 푸싱 파일 중 적어도 하나를 상기 앱에 추가하는 앱 생성 장치.
  10. 제1항에 있어서,
    상기 통신부는 상기 사용자가 입력한 입력 정보에 해당하는 상기 제1 정보가 획득되면, 상기 단말기의 앱 구동 환경에 해당하는 상기 제2 정보를 상기 단말기로부터 직접 획득하는 앱 생성 장치.
  11. 삭제
  12. 삭제
KR1020190103832A 2019-08-23 2019-08-23 앱 생성 장치 KR102261152B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190103832A KR102261152B1 (ko) 2019-08-23 2019-08-23 앱 생성 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190103832A KR102261152B1 (ko) 2019-08-23 2019-08-23 앱 생성 장치

Publications (2)

Publication Number Publication Date
KR20210023528A KR20210023528A (ko) 2021-03-04
KR102261152B1 true KR102261152B1 (ko) 2021-06-04

Family

ID=75174978

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190103832A KR102261152B1 (ko) 2019-08-23 2019-08-23 앱 생성 장치

Country Status (1)

Country Link
KR (1) KR102261152B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101659494B1 (ko) 2015-04-07 2016-09-23 주식회사 위시링크 서버에서 관리 가능한 네이티브 어플리케이션 제공 방법 및 그 어플리케이션
US20170032050A1 (en) 2015-07-30 2017-02-02 Wix.Com Ltd. System integrating a mobile device application creation, editing and distribution system with a website design system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130091989A (ko) 2012-02-09 2013-08-20 한국전자통신연구원 모바일 어플리케이션 저작을 위한 방법 및 모바일 단말기
KR20150094863A (ko) * 2014-02-11 2015-08-20 주식회사 톡스 메인앱에서 서브앱을 생성하기 위한 시스템 및 그 방법
KR20160108731A (ko) * 2015-03-06 2016-09-20 (주)투엠지티 온라인 쇼핑몰 어플리케이션을 생성하고 온라인 쇼핑몰 어플리케이션의 접속 정보를 분석하는 방법 및 장치
KR101892702B1 (ko) * 2016-09-05 2018-10-04 바이플러그 주식회사 멀티 플랫폼을 지원하는 앱 저작 서버, 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101659494B1 (ko) 2015-04-07 2016-09-23 주식회사 위시링크 서버에서 관리 가능한 네이티브 어플리케이션 제공 방법 및 그 어플리케이션
US20170032050A1 (en) 2015-07-30 2017-02-02 Wix.Com Ltd. System integrating a mobile device application creation, editing and distribution system with a website design system

Also Published As

Publication number Publication date
KR20210023528A (ko) 2021-03-04

Similar Documents

Publication Publication Date Title
US7756905B2 (en) System and method for building mixed mode execution environment for component applications
US20120159310A1 (en) Method for converting mobile web application into native application and apparatus using the same
US20100281475A1 (en) System and method for mobile smartphone application development and delivery
US8930824B2 (en) Facilitating propagation of user interface patterns or themes
CN101599015A (zh) 一种组件解析的方法和系统
CN106997298A (zh) 一种应用资源获取方法及装置
CN109240697A (zh) 调用处理方法及装置、存储介质
CN101957756A (zh) 一种智能移动终端程序快速生成系统及方法
Panigrahy Xamarin Mobile Application Development for Android
CN101876998B (zh) 一种实现数据编辑的方法和系统
CN108319474B (zh) 一种页面信息生成方法、装置和设备
CN112214202B (zh) 一种无须写代码的手机程序开发系统
CN101964742B (zh) 一种网络开放能力使用方法、系统和装置
KR102261152B1 (ko) 앱 생성 장치
KR102261153B1 (ko) 앱 생성 방법
JP7014960B2 (ja) 情報処理装置、サーバ、その処理方法及びプログラム
CN114281335A (zh) 视图生成方法和相关设备
Wettinger et al. Streamlining APIfication by generating APIs for diverse executables using any2API
KR100859595B1 (ko) 모바일 매쉬-업 서비스 제공 시스템 및 방법
Kovalenko PhoneGap By Example
CN112199090A (zh) 信息流处理方法、装置以及计算机可读存储介质
TWM511643U (zh) 植基於ajax技術的數據集中控管系統
Zdun Xml-based dynamic content generation and conversion for the multimedia home platform
CN118057305A (zh) 交互数据处理方法、装置、电子设备和存储介质
Pham REACT CONCURRENT MODE: MECHANISMS, PATTERNS AND APPLICATION

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant