KR20140118397A - 컴퓨터에서 실행 가능한 어플리케이션 패키지를 생성하는 방법, 이를 수행하는 컴퓨터 실행 장치 및 이를 저장한 기록 매체 - Google Patents

컴퓨터에서 실행 가능한 어플리케이션 패키지를 생성하는 방법, 이를 수행하는 컴퓨터 실행 장치 및 이를 저장한 기록 매체 Download PDF

Info

Publication number
KR20140118397A
KR20140118397A KR1020130034223A KR20130034223A KR20140118397A KR 20140118397 A KR20140118397 A KR 20140118397A KR 1020130034223 A KR1020130034223 A KR 1020130034223A KR 20130034223 A KR20130034223 A KR 20130034223A KR 20140118397 A KR20140118397 A KR 20140118397A
Authority
KR
South Korea
Prior art keywords
package
platform
application
template
application package
Prior art date
Application number
KR1020130034223A
Other languages
English (en)
Other versions
KR101489199B1 (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 KR20130034223A priority Critical patent/KR101489199B1/ko
Priority to US14/221,772 priority patent/US20140298318A1/en
Publication of KR20140118397A publication Critical patent/KR20140118397A/ko
Application granted granted Critical
Publication of KR101489199B1 publication Critical patent/KR101489199B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

컴퓨터에서 실행 가능한 어플리케이션 패키지 생성 방법은 컴퓨터 실행 장치에서 수행된다. 상기 컴퓨터에서 실행 가능한 어플리케이션 패키지 생성 방법은 플랫폼에 중립적인 어플리케이션 패키지를 수신하는 단계, 대상 플랫폼에 해당하는 플랫폼 패키지 템플릿을 검색하고, 검색된 플랫폼 패키지 템플릿에 상기 어플리케이션 패키지를 삽입하여 프리패키지(Pre-Package)를 생성하는 단계, 및 상기 생성된 프리패키지에 대하여 리패키징을 수행하여 상기 대상 플랫폼에 종속적인 어플리케이션 패키지를 생성하는 단계를 포함한다. 따라서, 사용자는 플랫폼에 구애받지 않고 다양한 어플리케이션 패키지를 생성할 수 있다.

Description

컴퓨터에서 실행 가능한 어플리케이션 패키지를 생성하는 방법, 이를 수행하는 컴퓨터 실행 장치 및 이를 저장한 기록 매체{COMPUTER-EXCUTABLE APPLICATION PACKAGING METHOD, COUMPUTER-EXCUTABLE DEVICE AND STORAGE MEDIA PERFORMING THE SAME}
본 발명은 어플리케이션 패키지를 생성하는 방법 및 이를 수행하는 단말에 관한 것으로, 보다 상세하게는, 플랫폼에 구애받지 않고 다양한 어플리케이션 패키지를 생성할 수 있는 방법, 이를 수행하는 단말 및 이를 저장한 기록 매체에 관한 것이다.
스마트폰(SmartPhone) 사용이 대중화되면서, 많은 개발사들이 스마트폰 시장에 참여하면서 다양한 모바일 플랫폼이 생기게 되었다. 모바일 플랫폼은 모바일 OS(Operating System)로 불리기도 하며, 모바일 장치나 정보 기기를 제어하는 운영 체제이다. 모바일 플랫폼은 데스크탑 컴퓨터나 노트북을 제어하는 윈도우와 같은 운영 체제와 유사하나, 무선 버전의 광대역 및 지역 연결, 모바일 멀티미디어 포맷과 다양한 입력 방식을 처리하는 데 비중을 두고 있다. 현재 가장 흔하게 사용되는 모바일 플랫폼으로는 심비안, 안드로이드, IOS, 블랙베리 OS, 모바일 윈도우, 리눅스, 바다 등이 있다.
종래 모바일 어플리케이션 개발 방법은 각각의 모바일 플랫폼에서 제공하는 Native(고유의) 개발 환경을 사용하여 해당 모바일 플랫폼에 종속적인 어플리케이션을 생성하는 것만이 가능하였다. 이에 개발자가 여러 모바일 플랫폼을 지원하는 어플리케이션을 개발하기 위해서는 대상 플랫폼 별로 개발 장비를 구비하고 각각 환경에 맞는 기술을 사용하여 어플리케이션을 개발하여야 했다.
한국공개특허 제10-2012-0014389호(2012.02.17.)는 비주얼 제작환경과 제작된 어플리케이션을 스마트폰 운영체제별로 적합하도록 프로그램 소스코드를 자동으로 변환한 후 사용자에게 응용 어플리케이션을 제공하는 스마트폰 어플리케이션 제작 솔루션에 관한 것이다.
한국공개특허 제10-2012-0042291호(2012.05.03.)는 모바일 웹페이지를 개발함에 있어서 개발자들이 모든 모바일 단말에서 재생하고자 하는 웹페이지에 관한 크로스 플랫폼 모바일 소스를 생성할 수 있는 크로스 플랫폼 모바일 소스를 생성하는 방법에 관한 것이다.
그러나, 이러한 선행기술들과 같이 OSMU(One Source Multi Use) 기반으로 모바일 어플리케이션을 개발할 수 있도록 지원하는 하이브리드(Hybrid) 모바일 어플리케이션 개발 방법은 최종 패키지를 생성하기 위해 어플리케이션을 실행하고자 하는 해당 플랫폼으로 업무 환경을 전환해야 하는 문제점을 여전히 가지고 있다. 결국, 하이브리드 모바일 어플리케이션 개발 방법은 지원하려는 모바일 플랫폼의 전용 개발 장비를 구비해야 한다는 점에서 초기 개발 환경의 구축 비용이 높은 문제점을 해결하지 못하였다.
한국공개특허 제10-2012-0014389호 한국공개특허 제10-2012-0042291호
본 발명은 어플리케이션 패키지와 패키지 템플릿을 리패키징하여 모바일 플랫폼에 구애받지 않고 다양한 어플리케이션 패키지를 생성할 수 있는 컴퓨터에서 실행 가능한 어플리케이션 생성 방법, 이를 수행하는 컴퓨터 실행 장치 및 이를 저장한 기록매체를 제공하고자 한다.
본 발명은 플랫폼 고유의 기본 어플리케이션을 포함하는 패키지 템플릿을 제공하여 컴퓨터 장치의 모든 기능을 활용할 수 있는 컴퓨터에서 실행 가능한 어플리케이션 생성 방법, 이를 수행하는 컴퓨터 실행 장치 및 이를 저장한 기록매체를 제공하고자 한다.
본 발명은 어플리케이션 패키지 생성과 배포 과정의 단일화를 통해 모바일 어플리케이션 개발 환경의 구축 비용을 절감할 수 있는 컴퓨터에서 실행 가능한 어플리케이션 생성 방법, 이를 수행하는 컴퓨터 실행 장치 및 이를 저장한 기록매체를 제공하고자 한다.
본 발명은 어플리케이션 패키지를 이용하여 플랫폼만 상이한 동일 어플리케이션을 용이하게 관리할 수 있는 컴퓨터에서 실행 가능한 어플리케이션 생성 방법, 이를 수행하는 컴퓨터 실행 장치 및 이를 저장한 기록매체를 제공하고자 한다.
실시예들 중에서, 컴퓨터에서 실행 가능한 어플리케이션 패키지를 생성하는 방법은 플랫폼에 중립적인 어플리케이션 패키지를 수신하는 단계; 대상 플랫폼에 해당하는 플랫폼 패키지 템플릿을 검색하고, 검색된 플랫폼 패키지 템플릿에 상기 어플리케이션 패키지를 삽입하여 프리패키지(Pre-Package)를 생성하는 단계; 및 상기 생성된 프리패키지에 대하여 리패키징을 수행하여 상기 대상 플랫폼에 종속적인 어플리케이션 패키지를 생성하는 단계를 포함한다.
일 실시예에서, 상기 프리패키지를 생성하는 단계는 상기 플랫폼 패키지 템플릿을 수신하여 압축 해제하는 단계; 및 상기 압축 해제된 플랫폼 패키지 템플릿의 삽입 포인트를 검출하여 상기 어플리케이션 패키지와의 결합 여부를 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 대상 플랫폼 패키지 템플릿의 삽입 포인트를 검출하여 상기 어플리케이션 패키지와의 결합 여부를 결정하는 단계는 상기 압축 해제된 플랫폼 패키지 템플릿의 적어도 하나의 삽입 포인트와 상기 어플리케이션 패키지 각각의 결합 여부를 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 어플리케이션 패키지와의 결합 여부를 결정하는 단계는 상기 결합이 가능하면 상기 어플리케이션 패키지를 상기 삽입 포인트에 각각 삽입하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 어플리케이션 패키지와의 결합 여부를 결정하는 단계는 상기 어플리케이션 패키지 내 코드들을 각각 상기 대상 플랫폼의 종속 코드들과 각각 매칭하고, 매칭된 상기 어플리케이션 패키지 내 코드를 상기 플랫폼 종속 코드로 치환하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 어플리케이션 패키지는 적어도 일부에서 HTML5(Hyper Text Markup Language 5)와 자바스크립트(Java Script)로 구현된 소스 코드를 포함할 수 있다.
일 실시예에서, 상기 어플리케이션 패키지는 이미지와 텍스트(Text) 중 적어도 하나를 포함하는 어플리케이션 리소스를 더 포함할 수 있다.
일 실시예에서, 상기 플랫폼 패키지 템플릿은 상기 대상 플랫폼에 대한 고유 라이브러리와 연동하고 상기 대상 플랫폼에서 해당 어플리케이션이 동작하는데 필수적인 종속 코드를 포함할 수 있다.
일 실시예에서, 상기 플랫폼 패키지 템플릿은 상기 리패키징 진행 과정에서 압축 해제되며 상기 어플리케이션 패키지에 대한 적어도 하나의 삽입 포인트를 포함할 수 있다.
일 실시예에서, 상기 플랫폼 패키지 템플릿은 상기 어플리케이션 패키지의 사용 분야와 사용 분야에 따라 요구되는 필수적인 기능을 기초로 단계적으로 분류된 적어도 하나의 하위 패키지 템플릿을 더 포함할 수 있다.
일 실시예에서, 상기 대상 플랫폼에 종속적인 어플리케이션 패키지를 생성하는 단계는 상기 대상 플랫폼에서 실행 가능한 포맷으로 압축하는 것을 특징으로 할 수 있다.
실시예들 중에서, 컴퓨터 실행 장치는 플랫폼에 중립적인 어플리케이션 패키지를 수신하는 어플리케이션 패키지 수신부; 대상 플랫폼에 해당하는 플랫폼 패키지 템플릿을 검색하고, 검색된 플랫폼 패키지 템플릿에 상기 어플리케이션 패키지를 삽입하여 프리패키지(Pre-Package)를 생성하는 프리패키징부; 및 상기 생성된 프리패키지에 대하여 리패키징을 수행하여 상기 대상 플랫폼에 종속적인 어플리케이션 패키지를 생성하는 어플리케이션 패키지 생성부를 포함한다.
일 실시예에서, 상기 프리패키징부는 상기 플랫폼 패키지 템플릿을 수신하여 압축 해제하고, 상기 압축 해제된 플랫폼 패키지 템플릿의 삽입 포인트를 검출하여 상기 어플리케이션 패키지와의 결합 여부를 결정할 수 있다.
일 실시예에서, 상기 프리패키징부는 상기 압축 해제된 플랫폼 패키지 템플릿의 적어도 하나의 삽입 포인트와 상기 어플리케이션 패키지 각각의 결합 여부를 결정할 수 있다.
일 실시예에서, 상기 프리패키징부는 상기 결합이 가능하면 상기 어플리케이션 패키지를 상기 삽입 포인트에 각각 삽입할 수 있다.
일 실시예에서, 상기 프리패키징부는 상기 어플리케이션 패키지 내 코드들을 각각 상기 대상 플랫폼의 종속 코드들과 각각 매칭하고, 매칭된 상기 어플리케이션 패키지 내 코드를 상기 플랫폼 종속 코드로 치환할 수 있다.
일 실시예에서, 상기 어플리케이션 패키지는 적어도 일부에서 HTML5(Hyper Text Markup Language 5)와 자바스크립트(Java Script)로 구현된 소스 코드를 포함할 수 있다.
일 실시예에서, 상기 어플리케이션 패키지는 이미지와 텍스트(Text) 중 적어도 하나를 포함하는 어플리케이션 리소스를 더 포함할 수 있다.
일 실시예에서, 상기 플랫폼 패키지 템플릿은 상기 대상 플랫폼에 대한 고유 라이브러리와 연동하고 상기 대상 플랫폼에서 해당 어플리케이션이 동작하는데 필수적인 종속 코드를 포함할 수 있다.
일 실시예에서, 상기 플랫폼 패키지 템플릿은 상기 리패키징 진행 과정에서 압축 해제되며 상기 어플리케이션 패키지에 대한 적어도 하나의 삽입 포인트를 포함할 수 있다.
일 실시예에서, 상기 플랫폼 패키지 템플릿은 상기 어플리케이션 패키지의 사용 분야와 사용 분야에 따라 요구되는 필수적인 기능을 기초로 단계적으로 분류된 적어도 하나의 하위 패키지 템플릿을 더 포함할 수 있다.
일 실시예에서, 상기 어플리케이션 패키지 생성부는 상기 대상 플랫폼에서 실행 가능한 포맷으로 압축할 수 있다.
실시예들 중에서, 컴퓨팅 실행 장치에서 수행되는 컴퓨터 프로그램을 기록한 기록매체는 플랫폼에 중립적인 어플리케이션 패키지를 수신하는 기능; 대상 플랫폼에 해당하는 플랫폼 패키지 템플릿을 검색하고, 검색된 플랫폼 패키지 템플릿에 상기 어플리케이션 패키지를 삽입하여 프리패키지(Pre-Package)를 생성하는 기능; 및 상기 생성된 프리패키지에 대하여 리패키징을 수행하여 상기 대상 플랫폼에 종속적인 어플리케이션 패키지를 생성하는 기능을 포함한다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 컴퓨터에서 실행 가능한 어플리케이션 생성 방법과 이와 관련된 기술들은 어플리케이션 패키지와 패키지 템플릿을 리패키징하여 모바일 플랫폼에 구애받지 않고 다양한 어플리케이션 패키지를 생성할 수 있다.
본 발명의 일 실시예에 따른 컴퓨터에서 실행 가능한 어플리케이션 생성 방법과 이와 관련된 기술들은 플랫폼 고유의 기본 어플리케이션을 포함하는 패키지 템플릿을 제공하여 컴퓨터 장치의 모든 기능을 활용할 수 있다.
본 발명의 일 실시예에 따른 컴퓨터에서 실행 가능한 어플리케이션 생성 방법과 이와 관련된 기술들은 어플리케이션 패키지 생성과 배포 과정의 단일화를 통해 모바일 어플리케이션 개발 환경의 구축 비용을 절감할 수 있다.
본 발명의 일 실시예에 따른 컴퓨터에서 실행 가능한 어플리케이션 생성 방법과 이와 관련된 기술들은 어플리케이션 패키지를 이용하여 플랫폼만 상이한 동일 어플리케이션을 용이하게 관리할 수 있다.
도 1은 본 발명의 일 실시예에 따른 컴퓨터에서 실행 가능한 어플리케이션 패키지를 생성하는 개념도이다.
도 2는 본 발명의 일 실시예에 따른 컴퓨터 실행 장치를 설명하는 블록도이다.
도 3은 컴퓨터에서 실행 가능한 어플리케이션 패키지를 생성하는 방법을 설명한 흐름도이다.
도 4는 어플리케이션 패키지를 압축 해제된 플랫폼 패키지 템플릿에 삽입하는 과정을 설명한 예시도이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시 예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시 예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시 예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.
한편, 본 발명에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한, 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명의 일 실시예에 따른 컴퓨터에서 실행 가능한 어플리케이션 패키지를 생성하는 개념도이다.
컴퓨터 실행 장치(120)는 어플리케이션 패키지(110)을 수신하여 사용자에 의해 선택된 모바일 플랫폼에 대응하는 해당 플랫폼 패키지 템플릿(121)에 추가하고, 이를 리패키징하는 과정을 통하여 해당 플랫폼에 종속적인 어플리케이션 패키지(130)를 생성한다.
일 실시예에서, 어플리케이션 패키지(110)는 하이브리드 어플리케이션 패키지에 해당할 수 있다. 하이브리드 어플리케이션 패키지는 OSMU(One Source Multi Use) 기반으로 어플리케이션을 개발할 수 있는 개발환경에서 생성된 소스 또는 리소스의 집합에 해당한다.
도 2는 본 발명의 일 실시예에 따른 컴퓨터 실행 장치(120)를 설명하는 도면이다.
도 2을 참조하면, 컴퓨터 실행 장치(120)는 어플리케이션 패키지 수신부(210), 플랫폼 패키지 템플릿 저장부(220), 프리패키징부(230), 어플리케이션 패키지 생성부(240) 및 제어부(250)를 포함한다.
컴퓨터 실행 장치(120)는 어플리케이션 패키지(110)를 플랫폼 패키지 템플릿(121)을 이용하여 특정 모바일 플랫폼에 종속적인 어플리케이션 패키지(130)를 생성한다. 예를 들어, 컴퓨터 실행 장치는 서버(Server), 데스크톱(Desktop) 또는 노트북(Laptop) 에 해당할 수 있다.
컴퓨터 실행 장치(120)는 컴퓨터가 읽을 수 있는 기록 매체로 구현된 어플리케이션 패키지 생성 프로그램을 제공할 수 있다. 여기에서, 제공은 컴퓨터 프로그램의 배포, 가상 또는 클라우드 컴퓨팅 환경에서의 컴퓨터 프로그램 실행을 포함할 수 있다.
어플리케이션 패키지 수신부(210)는 어플리케이션 패키지(110)를 수신한다. 여기에서, 어플리케이션 패키지(110)는 플랫폼에 중립적인 어플리케이션 패키지로, 보다 구체적으로, 다양한 플랫폼에 호환될 수 있는 어플리케이션 패키지에 해당할 수 있다.
일 실시예에서, 어플리케이션 패키지(110)는 적어도 일부에서 HTML5(Hyper Text Markup Language 5)와 자바스크립트(Java Script)로 구현된 소스 코드를 포함할 수 있다. 여기에서, HTML5는 웹 문서를 만들기 위한 기본 프로그래밍 언어인 HTML의 최신규격으로, 엑티브X(Active X)를 설치하지 않아도 동일한 기능을 구현할 수 있고, 플래시(flash)나 실버라이트(Silverlight), 자바FX(JAVA FX) 없이도 웹 브라우저(web browser)에서 화려한 그래픽 효과를 낼 수 있다. 소스 코드는 소프트웨어 내용을 프로그래밍 언어로 나타낸 설계도에 해당할 수 있다.
일 실시예에서, 상기 어플리케이션 패키지(110)는 이미지, 텍스트(Text) 및 외부의 특정 어플리케이션 또는 내부의 특정 라이브러리를 통해 해석될 수 있는 이진 파일(Binary File) 중 적어도 하나를 포함하는 어플리케이션 리소스를 더 포함할 수 있다.
일 실시예에서, 어플리케이션 패키지 수신부(210)는 하이브리드 어플리케이션을 지원해주는 개발환경을 포함할 수 있다. 개발환경은 특정 언어로 개발된 모바일 어플리케이션 소스가 특정 모바일 플랫폼에서 동작할 수 있도록 빌드, 패키징 및 런타임에 관한 툴을 제공한다.
플랫폼 패키지 템플릿 저장부(220)는 다양한 모바일 플랫폼들에 각각 대응되는 플랫폼 패키지 템플릿(121)을 저장하고, 제어부(250)의 제어에 따라 프리패키징부(230)에 플랫폼 패키지 템플릿(121)를 제공한다.
여기에서, 제어부(250)는 사용자 또는 다른 장치로부터 수신한 특정 플랫폼에 종속적인 어플리케이션 패키지 생성 요청에 따라 이에 상응하는 플랫폼 패키지 템플릿(121)을 선택하고, 플랫폼 패키지 템플릿 저장부(220)에 해당 플랫폼 패키지 템플릿(121)을 프리패키징부(230)에 제공하도록 제어할 수 있다.
템플릿은 어떤 도식이나 서식에서 자주 사용되는 기본 골격에 해당할 수 있다. 예를 들어, 템플릿은 스프레드시트(Spread Sheet)에서 사용자가 데이터를 입력만 하면 되도록 각종 데이터 처리를 위해 만들어진 표의 일정한 구조에 해당할 수 있고, 그래픽 프로그램에서 자주 사용하기 위해 미리 정해 놓은 그림이나 이미지의 일정한 패턴에 해당할 수 있으며, 프로그램에서 자주 사용되는 명령어를 따로 저장해 놓은 목록에 해당할 수 있다.
플랫폼 패키지 템플릿 저장부(220)는 모바일 플랫폼에 대응되는 플랫폼 패키지 템플릿(121)을 저장할 수 있다. 예를 들어, 플랫폼 패키지 템플릿 저장부(220)는 안드로이드에 대응되는 안드로이드 플랫폼 패키지 템플릿, IOS에 대응되는 IOS 플랫폼 패키지 템플릿, 윈도우에 대응되는 윈도우 플랫폼 패키지 템플릿을 저장할 수 있다.
플랫폼 패키지 템플릿(121)은 특정 모바일 플랫폼에서 실행 가능한 기본 어플리케이션의 패키지 형태에 해당할 수 있으며, 어플리케이션이 특정 모바일 플랫폼에서 동작할 수 있도록 최소한의 네이티브 언어(Native Language)로 구현될 수 있다.
일 실시예에서, 플랫폼 패키지 템플릿(121)은 특정 플랫폼에 대한 고유 라이브러리와 연동하고 특정 플랫폼에서 해당 어플리케이션이 동작하는데 필수적인 종속 코드(340)를 포함할 수 있다. 또한, 플랫폼 패키지 템플릿(121)은 특정 플랫폼에 대한 사용자 인터페이스(User Interface, UI)를 포함할 수 있다.
플랫폼 패키지 템플릿(121)은 어플리케이션의 사용 분야별로 각각 분류될 수 있는 하위 패키지 템플릿을 포함할 수 있다.
보다 구체적으로, 플랫폼 패키지 템플릿(121)은 어플리케이션의 사용 분야, 1차 기능 및 2차 기능을 고려하여 단계적으로 분류된 하위 패키지 템플릿을 포함할 수 있다.
여기에서, 사용 분야는 게임, 교육, 교통, 금융, 멀티미디어, 커뮤니케이션 등과 같이 어플리케이션이 사용될 수 있는 분야에 해당한다.
1차 기능은 분야별로 어플리케이션에 요구되는 필수적인 기능에 해당하며, 2차 기능은 1차 기능을 보다 세분화한 기능에 해당한다. 예를 들어, 어플리케이션 A가 교육 분야에 해당되고 문서 작성에 관련된 경우, 어플리케이션 A에 필수적으로 필요한 1차 기능은 문서 작성 기능, 스펠 체킹(Spellchecking) 기능 각각에 해당할 수 있으며, 문서 작성 기능에 대한 2차 기능은 테이블 생성 기능, 차트 생성 기능에 해당할 수 있다.
하위 패키지 템플릿은 앞서 설명한 2차 기능을 제공할 수 있도록 네이티브 언어로 구현된 소스 또는 리소스의 집합에 해당할 수 있고, 2차 기능에 따라 각각 분류될 수 있다.
예를 들어, 하위 패키지 템플릿은 문서 작성 프로그램 중 테이블 생성 기능을 포함하는 문서 패키지 템플릿, 게임 프로그램 중 3D 활성화 기능을 포함하는 게임 패키지 템플릿, 교육 프로그램 중 마이크 입력 및 음원 반복 재생 기능을 포함하는 어학 패키지 템플릿에 해당할 수 있다.
이를 통해, 공용 언어로 작성된 어플리케이션이 해당 실행되는 장치(예를 들어, 모바일 단말)의 모든 기능을 제어하거나 활용하지 못했던 문제점을 최소화 할 수 있다.
플랫폼 패키지 템플릿(121)은 테이터를 저장할 때 압축을 하거나 압축을 풀어주는 개방 표준인 ZIP과 같은 포맷으로 구현될 수 있다. 일 실시예에서, 플랫폼 패키지 템플릿(121)은 리패키징 진행 과정에서 압축 해제되며 어플리케이션 패키지(110)에 대한 적어도 하나의 삽입 포인트를 포함할 수 있다.
플랫폼 패키지 템플릿(121)은 압축 포맷으로 구현됨으로써, 장치 내 저장, 관리, 배포가 용이하며, 압축 포맷에 사용자별 접근 권한을 부여하여 플랫폼 패키지 템플릿(121) 구성에 대한 임의 변경을 방지할 수 있다.
플랫폼 패키지 템플릿(121)은 해당 모바일 플랫폼의 버전 업(Version-Up)에 따라 갱신될 수 있다.
프리패키징부(230)는 어플리케이션 패키지(110)와 특정 플랫폼 패키지 템플릿(121)을 기초로 특정 프리패키지를 생성한다. 보다 구체적으로, 프리패키징부(230)는 특정 플랫폼이 선택되면 선택된 플랫폼에 대응되는 플랫폼 패키지 템플릿(121)을 검색하고, 검색된 플랫폼 패키지 템플릿(121)을 프리패키징부(230) 내부의 특정 공간에 복사하여 압축을 해제하며, 어플리케이션 패키지(110)를 압축 해제된 패키지 템플릿(121)에 삽입하여 프리패키지를 생성할 수 있다.
프리패키징부(230)는 플랫폼 패키지 템플릿(121)에 어플리케이션 패키지(110)를 삽입하여 프리패키지(Pre-Package)를 생성한다. 여기에서, 프리패키지는 리패키징이 완료되기 전 단계의 1차 생성물에 해당할 수 있다. 예를 들어, 어플리케이션 패키지 생성부(240)는 압축 해제된 플랫폼 패키지 템플릿에 어플리케이션 패키지(110)의 소스 및 리소스를 삽입하여 프리패키지를 생성할 수 있다.
일 실시예에서, 프리패키징부(230)는 선택된 플랫폼에 대응되는 플랫폼 패키지 템플릿(121)을 수신하여 압축 해제하고, 압축 해제된 패키지 템플릿(121)의 삽입 포인트(330)를 검출하여 어플리케이션 패키지(110)와의 결합 여부를 결정할 수 있다. 여기에서, 삽입 포인트(330)는 플랫폼 패키지 템플릿(121)이 포함하고 있던 기본 어플리케이션에, 부가하려는 기능이나 특징이 삽입 또는 치환될 수 있는 공간이나 영역을 가르키는 포인트 또는 그 영역 자체에 해당할 수 있다.
예를 들어, 프리패키징부(230)는 사용자A에 의해 선택된 안드로이드 OS에 대응하여 플랫폼 패키지 템플릿 저장부(220)로부터 안드로이드 플랫폼 패키지 템플릿(121)을 수신할 수 있고, 압축 해제를 통해 안드로이드 플랫폼 패키지 템플릿(121)에 포함되어 있던 안드로이드용 라이브러리 X와 안드로이드용 인터페이스 Y 및 안드로이드 고유 언어로 생성된 소스 Z를 생성해 낼 수 있으며, 어플리케이션 패키지(110)에 포함된 소스 S와 리소스 P가 결합될 수 있는지 여부를 판단할 수 있다.
일 실시예에서, 프리패키징부(230)는 압축 해제된 특정 플랫폼 패키지 템플릿(121)의 적어도 하나의 삽입 포인트(Insertion Point)(330)와 어플리케이션 패키지(110) 각각의 매칭 여부를 결정할 수 있다.
도 4는 어플리케이션 패키지(110)를 압축 해제된 플랫폼 패키지 템플릿(121)에 삽입하는 과정을 설명한 예시도이다.
도 4를 참조하면, 압축 해제된 플랫폼 패키지 템플릿(121)은 적어도 하나의 삽입 포인트(410)를 포함하고 있다. 어플리케이션 패키지(110)는 적어도 하나의 코드(소스 또는 리소스)를 포함할 수 있다. 여기에서, 삽입 포인트(410)은 특정 기능을 포함하는 코드가 삽입될 수 있는 영역에 해당할 수 있으며, 예를 들어, 코드에서는 동영상 재생 기능 포함하는 코드가 삽입될 수 있는 영역에 해당할 수 있고, 또 다른 예를 들어, 이미지와 같은 리소스의 경우 폴더 내에서 배치될 위치에 해당할 수 있다.
프리패키징부(230)는 삽입 영역(410)과 어플리케이션 패키지(110) 구성요소 각각의 특성, 기능, 구현 형태 등을 고려하여 매칭 여부를 결정할 수 있다. 예를 들어, 삽입 영역 X, Y와 하이브리드 어플리케이션 소스 A 및 리소스 B가 있는 경우, 프리패키징부(230)는 삽입 영역 X와 리소스 B를 매칭할 수 있다.
일 실시예에서, 프리패키징부(230)는 압축 해제된 특정 플랫폼 패키지 템플릿(121)의 삽입 영역(330)과 어플리케이션 패키지(110) 각각이 매칭되면 어플리케이션 패키지(110)를 상기 매칭된 삽입 영역(330)에 각각 삽입할 수 있다.
예를 들어, 삽입 영역 X와 하이브리드 어플리케이션 소스 A가 매칭되고, 삽입 영역 Y와 리소스 B가 각각 매칭된 경우, 삽입 영역 X, Y에 소스 A, 리소스 B를 각각 순서대로 삽입할 수 있다.
일 실시예에서, 프리패키징부(230)는 어플리케이션 패키지(110) 내 코드들을 각각 대상 플랫폼의 종속 코드들과 매칭하고, 매칭이 이루어지면 어플리케이션 패키지(110) 내 코드들을 플랫폼 종속 코드로 치환할 수 있다. 여기에서, 플랫폼 종속 코드는 해당 플랫폼에서 어플리케이션을 실행하기 위해서 필수적으로 요구되는 코드에 해당할 수 있으며, 예를 들어, 안드로이드 플랫폼에서 AndroidManifest.xml 파일에 해당할 수 있다.
예를 들어, 프리패키징부(230)는 플랫폼 패키지 템플릿(121) 내 소스 코드의 삽입 영역 X에 하이브리드 어플리케이션 소스 Y가 매칭이 이루어지고, 소스 Y가 삽입 영역 X보다 더 큰 영역을 요구하는 경우, 삽입 영역 X를 벗어나 초과된 소스 Y의 코드 A와 매칭되는 대상 플랫폼의 코드 B가 종속 코드인지 여부(매칭 여부)를 확인할 수 있고, 코드 A가 종속 코드에 매칭되는 경우 해당 코드 A를 종속 코드에 해당하는 코드 B로 치환하거나 삭제할 수 있다. 즉, 소스 코드 A와 종속 코드 B가 동일한 기능을 수행하는 것으로 매칭되는 경우 소스 코드 A 부분을 종속 코드 B로 치환할 수 있으며, 나아가 코드 A를 삭제할 수도 있다.
어플리케이션 패키지 생성부(240)는 프리패키지에 대한 리패키징을 수행하여 대상 플랫폼에 종속적인 어플리케이션 패키지(130)를 생성한다.
일 실시예에서, 어플리케이션 패키지 생성부(240)는 프리패키지를 대상 플랫폼에서 실행 가능한 포맷으로 압축하는 리패키징을 수행하여 대상 플랫 폼에 종속적인 어플리케이션 패키지(130)를 생성할 수 있다.
예를 들어, 어플리케이션 패키지 생성부(240)는 안드로이드 플랫폼 패키지 템플릿(121)을 기초로 생성된 프리패키지를 압축하는 리패키징을 통하여 XXX.apk와 같은 안드로이드 플랫폼에서 실행 가능한 포맷으로 구현된 안드로이드 어플리케이션 패키지를 생성할 수 있다.
어플리케이션 패키지 생성부(240)는 리패키징하여 생성된 어플리케이션 패키지(130)를 사용자 또는 다른 장치에 제공할 수 있다. 어플리케이션 패키지 생성부(240)는 외부로 데이터를 송신할 수 있는 통신 모듈을 포함할 수 있다.
일 실시예에서, 어플리케이션 패키지 생성부(240)는 생성된 어플리케이션 패키지(130)를 일시적으로 보관할 수 있는 어플리케이션 저장 공간을 더 포함할 수 있다.
한편, 프리패키징부(230)와 어플리케이션 패키지 생성부(240)는 이들 각각의 구성을 포함하는 리패키징부(미도시)로 구현될 수 있다.
제어부(250)는 어플리케이션 패키지 수신부(210), 하이브리드 템플릿 저장부(220), 어플리케이션 패키지 생성부(240) 및 어플리케이션 패키지 생성부(240)의 동작 및 흐름을 제어한다.
제어부(250)는 사용자 또는 다른 장치로부터 수신한 특정 플랫폼에 종속적인 어플리케이션 패키지 생성 요청에 따라 이에 상응하는 플랫폼 패키지 템플릿(121)을 선택하고, 플랫폼 패키지 템플릿 저장부(220)에 해당 플랫폼 패키지 템플릿(121)을 프리패키징부(230)에 제공하도록 제어할 수 있다.
컴퓨터 실행 장치(120)는 사용자로부터 어플리케이션 실행 요청 또는 어플리케이션 패키지(110) 작성을 위한 입력을 수신할 수 있는 입력부(미도시) 및 어플리케이션 패키지 생성 과정 또는 생성 후 실행 화면을 출력할 수 있는 디스플레이부(미도시)를 더 포함할 수 있다.
도 3은 컴퓨터에서 실행 가능한 어플리케이션 패키지를 생성하는 방법을 설명한 흐름도이다.
하이브리드 어플리케이션 수신부(210)를 통해 어플리케이션 패키지(110)를 수신하고, 사용자 또는 다른 장치로부터 선택된 특정 플랫폼에 종속적인 어플리케이션 패키지(130) 생성 요청을 수신할 수 있다(S310).
예를 들어, 하이브리드 어플리케이션 수신부(210)는 사용자로부터 어플리케이션 패키지(110)와 더불어 안드로이드 및 윈도우 플랫폼에 종속적인 각각의 어플리케이션 패키지(130) 생성 요청을 수신할 수 있다.
일 실시예에서, 하이브리드 어플리케이션 수신부(210)는 어플리케이션 패키지(110)의 사용 분야, 1차 기능 및 2차 기능에 대한 정보를 더 포함하여 수신할 수 있다.
예를 들어, 하이브리드 어플리케이션 수신부(210)는 사용자로부터 유틸리티 분야에서 문서 작성 기능(1차 기능)을 가진, 보다 구체적으로 테이블 생성 기능, 차트 생성 기능(2차 기능)을 포함하는 안드로이드 플랫폼에서 실행될 수 있는 어플리케이션 패키지의 생성 요청을 수신할 수 있다. 여기에서, 디스플레이부(미도시)는 상기 어플리케이션 패키지 생성 요청과 관련하여 사용자로부터 사용 분야, 1차 기능 및 2차 기능에 대한 정보를 순차적으로 수신할 수 있는 입력 화면을 제공할 수 있다.
프리패키징부(230)는 선택된 특정 플랫폼에 대응되는 플랫폼 패키지 템플릿(121)을 선택하고 하이브리드 템플릿 저장부(220)로 하여금 해당 플랫폼 패키지 템플릿(121)을 어플리케이션 패키지 생성부(240)에 제공하도록 요청할 수 있다(S320).
일 실시예에서, 프리패키징부(230)는 어플리케이션 패키지(110)의 사용 분야, 1차 기능 및 2차 기능을 고려하여 플랫폼 패키지 템플릿(121)을 결정할 수 있다. 이 때, 하이브리드 템플릿 저장부(220)는 사용 분야, 1차 기능 및 2차 기능에 따라 분류된 패키지 템플릿 리스트를 더 포함할 수 있고, 프리패키징부(230)는 패키지 템플릿 리스트를 기초로 해당 어플리케이션 패키지(110)에 적합한 적어도 하나의 플랫폼 패키지 템플릿(121)을 결정할 수 있다.
프리패키징부(230)는 내부의 특정 공간에 해당 플랫폼 패키지 템플릿(121)을 복사하여 압축을 해제할 수 있다(S330).
예를 들어, 프리패키징부(230)는 Work Directory라는 폴더에 플랫폼 패키지 템플릿(121)을 복사한 뒤 압축을 해체할 수 있다.
어플리케이션 패키지 생성부(240)는 어플리케이션 패키지(110)를 압축 해제된 플랫폼 패키지 템플릿(121)에 삽입하여 프리패키지를 생성할 수 있다(S340).
예를 들어, 리패키징부(140)는 하이브리드 어플리케이션 소스 및 리소스를 압축 해제된 플랫폼 패키지 템플릿(121)에 추가하는 방식으로 삽입하여 프리패키지를 생성할 수 있다.
일 실시예에서, 어플리케이션 패키지(110)를 압축 해제된 패키지 템플릿(121)에 삽입하는 단계는 압축 해제된 플랫폼 패키지 템플릿(121)의 삽입 포인트(410)를 검출하여 상기 어플리케이션 패키지(110)와의 결합 여부를 결정하는 단계, 압축 해제된 플랫폼 패키지 템플릿(121)의 적어도 하나의 삽입 포인트(410)와 어플리케이션 패키지(110) 각각의 매칭 여부를 결정하는 단계 및 매칭이 가능하면 어플리케이션 패키지(110)를 매칭된 삽입 포인트(410)에 각각 삽입하는 단계를 포함할 수 있다.
어플리케이션 패키지(110)를 압축 해제된 플랫폼 패키지 템플릿(121)에 삽입하는 단계에서 상호 중복되는 부분이 있는 경우에는 해당 중복 부분이 생성하고자 하는 어플리케이션의 플랫폼에 종속적인 코드에 해당하는 경우 종속 코드로 치환하기 위하여 어플리케이션 패키지(110) 내 코드들을 대상 플랫폼 종속 코드들과 각각 매칭하고, 매칭이 이루어지면 어플리케이션 패키지(110) 내 코드들을 플랫폼 종속 코드로 치환하는 단계를 포함할 수 있다.
어플리케이션 패키지 생성부(240)는 프리패키지를 다시 압축하는 리패키징을 수행하여 사용자에 의해 선택된 플랫폼에 종속적인 어플리케이션 패키지(130)를 생성할 수 있다(S350).
어플리케이션 패키지 생성부(240)는 리패키징하여 생성된 어플리케이션 패키지(130)를 사용자 또는 다른 장치에 제공할 수 있다.
일 실시예에서, 컴퓨터 실행 장치는 사용자 또는 다른 장치로부터 복수의 플랫폼들에 대하여 각각 종속적인 어플리케이션 패키지 생성 요청을 수신하는 경우, 제1 플랫폼에 종속적인 어플리케이션 패키지(130)를 먼저 생성하고, 이후 제2, 제3 플랫폼에 종속적인 어플리케이션 패키지(130)를 순차적으로 생성할 수 있다. 이와 달리, 컴퓨터 실행 장치는 복수의 플랫폼들에 대하여 각각 종속적인 어플리케이션 패키지(130)를 다중 작업(Multi-Tasking)을 통해 동시에 생성할 수 있다.
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
110 : 어플리케이션 패키지
120 : 컴퓨터 실행 장치
121 : 플랫폼 패키지 템플릿
130 : 어플리케이션 패키지
210 : 어플리케이션 패키지 수신부
220 : 플랫폼 패키지 템플릿 저장부
230 : 프리패키징부
240 : 어플리케이션 패키지 생성부
250 : 제어부
410 : 삽입 포인트

Claims (23)

  1. 플랫폼에 중립적인 어플리케이션 패키지를 수신하는 단계;
    대상 플랫폼에 해당하는 플랫폼 패키지 템플릿을 검색하고, 검색된 플랫폼 패키지 템플릿에 상기 어플리케이션 패키지를 삽입하여 프리패키지(Pre-Package)를 생성하는 단계; 및
    상기 생성된 프리패키지에 대하여 리패키징을 수행하여 상기 대상 플랫폼에 종속적인 어플리케이션 패키지를 생성하는 단계를 포함하는 컴퓨터에서 실행 가능한 어플리케이션 패키지를 생성하는 방법.
  2. 제1항에 있어서, 상기 프리패키지를 생성하는 단계는
    상기 플랫폼 패키지 템플릿을 수신하여 압축 해제하는 단계; 및
    상기 압축 해제된 플랫폼 패키지 템플릿의 삽입 포인트를 검출하여 상기 어플리케이션 패키지와의 결합 여부를 결정하는 단계를 포함하는 컴퓨터에서 실행 가능한 어플리케이션 패키지 생성 방법.
  3. 제2항에 있어서, 상기 대상 플랫폼 패키지 템플릿의 삽입 포인트를 검출하여 상기 어플리케이션 패키지와의 결합 여부를 결정하는 단계는
    상기 압축 해제된 플랫폼 패키지 템플릿의 적어도 하나의 삽입 포인트와 상기 어플리케이션 패키지 각각의 결합 여부를 결정하는 단계를 포함하는 컴퓨터에서 실행 가능한 어플리케이션 패키지 생성 방법.
  4. 제3항에 있어서, 상기 어플리케이션 패키지와의 결합 여부를 결정하는 단계는
    상기 결합이 가능하면 상기 어플리케이션 패키지를 상기 삽입 포인트에 각각 삽입하는 단계를 더 포함하는 컴퓨터 실행 가능한 어플리케이션 패키지 생성 방법.
  5. 제2항에 있어서, 상기 어플리케이션 패키지와의 결합 여부를 결정하는 단계는
    상기 어플리케이션 패키지 내 코드들을 각각 상기 대상 플랫폼의 종속 코드들과 각각 매칭하고, 매칭된 상기 어플리케이션 패키지 내 코드를 상기 플랫폼 종속 코드로 치환하는 단계를 더 포함하는 컴퓨터 실행 가능한 어플리케이션 패키지를 생성하는 방법.
  6. 제1항에 있어서, 상기 어플리케이션 패키지는
    적어도 일부에서 HTML5(Hyper Text Markup Language 5)와 자바스크립트(Java Script)로 구현된 소스 코드를 포함하는 것을 특징으로 하는 컴퓨터에서 실행 가능한 어플리케이션 패키지 생성 방법.
  7. 제6항에 있어서, 상기 어플리케이션 패키지는
    이미지와 텍스트(Text) 중 적어도 하나를 포함하는 어플리케이션 리소스를 더 포함하는 것을 특징으로 하는 컴퓨터에서 실행 가능한 어플리케이션 패키지 생성 방법.
  8. 제1항에 있어서, 상기 플랫폼 패키지 템플릿은
    상기 대상 플랫폼에 대한 고유 라이브러리와 연동하고 상기 대상 플랫폼에서 해당 어플리케이션이 동작하는데 필수적인 종속 코드를 포함하는 것을 특징으로 하는 컴퓨터에서 실행 가능한 어플리케이션 패키지 생성 방법.
  9. 제8항에 있어서, 상기 플랫폼 패키지 템플릿은
    상기 리패키징 진행 과정에서 압축 해제되며 상기 어플리케이션 패키지에 대한 적어도 하나의 삽입 포인트를 포함하는 것을 특징으로 하는 컴퓨터에서 실행 가능한 어플리케이션 패키지 생성 방법.
  10. 제8항에 있어서, 상기 플랫폼 패키지 템플릿은
    상기 어플리케이션 패키지의 사용 분야와 사용 분야에 따라 요구되는 필수적인 기능을 기초로 단계적으로 분류된 적어도 하나의 하위 패키지 템플릿을 더 포함하는 것을 특징으로 하는 컴퓨터에서 실행 가능한 어플리케이션 패키지 생성 방법.
  11. 제1항에 있어서, 상기 대상 플랫폼에 종속적인 어플리케이션 패키지를 생성하는 단계는
    상기 대상 플랫폼에서 실행 가능한 포맷으로 압축하는 것을 특징으로 하는 컴퓨터에서 실행 가능한 어플리케이션 패키지 생성 방법.
  12. 플랫폼에 중립적인 어플리케이션 패키지를 수신하는 어플리케이션 패키지 수신부;
    대상 플랫폼에 해당하는 플랫폼 패키지 템플릿을 검색하고, 검색된 플랫폼 패키지 템플릿에 상기 어플리케이션 패키지를 삽입하여 프리패키지(Pre-Package)를 생성하는 프리패키징부; 및
    상기 생성된 프리패키지에 대하여 리패키징을 수행하여 상기 대상 플랫폼에 종속적인 어플리케이션 패키지를 생성하는 어플리케이션 패키지 생성부를 포함하는 컴퓨터 실행 장치.
  13. 제12항에 있어서, 상기 프리패키징부는
    상기 플랫폼 패키지 템플릿을 수신하여 압축 해제하고, 상기 압축 해제된 플랫폼 패키지 템플릿의 삽입 포인트를 검출하여 상기 어플리케이션 패키지와의 결합 여부를 결정하는 것을 특징으로 하는 컴퓨터 실행 장치.
  14. 제13항에 있어서, 상기 프리패키징부는
    상기 압축 해제된 플랫폼 패키지 템플릿의 적어도 하나의 삽입 포인트와 상기 어플리케이션 패키지 각각의 결합 여부를 결정하는 것을 특징으로 하는 컴퓨터 실행 장치.
  15. 제14항에 있어서, 상기 프리패키징부는
    상기 결합이 가능하면 상기 어플리케이션 패키지를 상기 삽입 포인트에 각각 삽입하는 것을 특징으로 하는 컴퓨터 실행 장치.
  16. 제15항에 있어서, 상기 프리패키징부는
    상기 어플리케이션 패키지 내 코드들을 각각 상기 대상 플랫폼의 종속 코드들과 각각 매칭하고, 매칭된 상기 어플리케이션 패키지 내 코드를 상기 플랫폼 종속 코드로 치환하는 것을 특징으로 하는 컴퓨터 실행 장치.
  17. 제12항에 있어서, 상기 어플리케이션 패키지는
    적어도 일부에서 HTML5(Hyper Text Markup Language 5)와 자바스크립트(Java Script)로 구현된 소스 코드를 포함하는 것을 특징으로 하는 컴퓨터 실행 장치.
  18. 제17항에 있어서, 상기 어플리케이션 패키지는
    이미지와 텍스트(Text) 중 적어도 하나를 포함하는 어플리케이션 리소스를 더 포함하는 것을 특징으로 하는 컴퓨터 실행 장치.
  19. 제12항에 있어서, 상기 플랫폼 패키지 템플릿은
    상기 대상 플랫폼에 대한 고유 라이브러리와 연동하고 상기 대상 플랫폼에서 해당 어플리케이션이 동작하는데 필수적인 종속 코드를 포함하는 것을 특징으로 하는 컴퓨터 실행 장치.
  20. 제19항에 있어서, 상기 플랫폼 패키지 템플릿은
    상기 리패키징 진행 과정에서 압축 해제되며 상기 어플리케이션 패키지에 대한 적어도 하나의 삽입 포인트를 포함하는 것을 특징으로 하는 컴퓨터 실행 장치.
  21. 제19항에 있어서, 상기 플랫폼 패키지 템플릿은
    상기 어플리케이션 패키지의 사용 분야와 사용 분야에 따라 요구되는 필수적인 기능을 기초로 단계적으로 분류된 적어도 하나의 하위 패키지 템플릿을 더 포함하는 것을 특징으로 하는 컴퓨터 실행 장치.
  22. 제12항에 있어서, 상기 어플리케이션 패키지 생성부는
    상기 대상 플랫폼에서 실행 가능한 포맷으로 압축하는 것을 특징으로 하는 컴퓨터 실행 장치.
  23. 플랫폼에 중립적인 어플리케이션 패키지를 수신하는 기능;
    대상 플랫폼에 해당하는 플랫폼 패키지 템플릿을 검색하고, 검색된 플랫폼 패키지 템플릿에 상기 어플리케이션 패키지를 삽입하여 프리패키지(Pre-Package)를 생성하는 기능; 및
    상기 생성된 프리패키지에 대하여 리패키징을 수행하여 상기 대상 플랫폼에 종속적인 어플리케이션 패키지를 생성하는 기능을 포함하는 기록매체.
KR20130034223A 2013-03-29 2013-03-29 컴퓨터에서 실행 가능한 어플리케이션 패키지를 생성하는 방법, 이를 수행하는 컴퓨터 실행 장치 및 이를 저장한 기록 매체 KR101489199B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20130034223A KR101489199B1 (ko) 2013-03-29 2013-03-29 컴퓨터에서 실행 가능한 어플리케이션 패키지를 생성하는 방법, 이를 수행하는 컴퓨터 실행 장치 및 이를 저장한 기록 매체
US14/221,772 US20140298318A1 (en) 2013-03-29 2014-03-21 Computer-executable application packaging method, computer-executable device and storage media performing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130034223A KR101489199B1 (ko) 2013-03-29 2013-03-29 컴퓨터에서 실행 가능한 어플리케이션 패키지를 생성하는 방법, 이를 수행하는 컴퓨터 실행 장치 및 이를 저장한 기록 매체

Publications (2)

Publication Number Publication Date
KR20140118397A true KR20140118397A (ko) 2014-10-08
KR101489199B1 KR101489199B1 (ko) 2015-02-03

Family

ID=51622162

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130034223A KR101489199B1 (ko) 2013-03-29 2013-03-29 컴퓨터에서 실행 가능한 어플리케이션 패키지를 생성하는 방법, 이를 수행하는 컴퓨터 실행 장치 및 이를 저장한 기록 매체

Country Status (2)

Country Link
US (1) US20140298318A1 (ko)
KR (1) KR101489199B1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102810090B (zh) * 2011-05-30 2017-06-09 Sap欧洲公司 网关数据分布引擎
US9323514B2 (en) 2013-05-30 2016-04-26 Microsoft Technology Licensing, Llc Resource package indexing
US20140357357A1 (en) 2013-05-30 2014-12-04 Microsoft Corporation Game bundle package
US20140359605A1 (en) * 2013-05-30 2014-12-04 Microsoft Corporation Bundle package signing
US9766870B2 (en) * 2013-05-30 2017-09-19 Microsoft Technology Licensing, Llc Bundle package generation
US9507578B2 (en) 2014-06-27 2016-11-29 International Business Machines Corporation Application instance staging
CN105224301B (zh) * 2014-06-27 2019-01-04 国际商业机器公司 一种应用实例组装的方法和系统
US20160212142A1 (en) * 2015-01-21 2016-07-21 DocEx, Inc. Purpose-specific packages
US10496605B2 (en) 2016-04-29 2019-12-03 Splunk Inc. Application deployment for data intake and query system
US10506017B2 (en) 2016-05-20 2019-12-10 Adobe Inc. Manipulation of PDF file content through HTTP requests
US10073974B2 (en) * 2016-07-21 2018-09-11 International Business Machines Corporation Generating containers for applications utilizing reduced sets of libraries based on risk analysis
US10375206B1 (en) * 2016-09-20 2019-08-06 Amazon Technologies, Inc. Entity-component architecture with components having multiple configurations
US10603583B1 (en) 2016-09-20 2020-03-31 Amazon Technologies, Inc. Entity-component architecture with components having multiple configurations
CN106569869B (zh) * 2016-11-14 2019-04-19 平安科技(深圳)有限公司 插件化打包方法及装置
CN107678778B (zh) * 2017-03-14 2019-12-13 平安科技(深圳)有限公司 基于Hybrid的兼容方法、适配件、运行装置及系统
JP6855348B2 (ja) * 2017-07-31 2021-04-07 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびダウンロード処理方法
JP2019139683A (ja) * 2018-02-15 2019-08-22 株式会社カプコン パッケージソフトウェア作成プログラム及びそれを用いたパッケージソフトウェア作成方法
CN110457048A (zh) * 2019-06-19 2019-11-15 平安普惠企业管理有限公司 统一线上线下功能点的方法、装置、设备及存储介质
US20230031354A1 (en) * 2020-02-12 2023-02-02 Hewlett-Packard Development Company, L.P. Abridged container images
CN112559137B (zh) * 2020-12-26 2024-07-09 北京国腾联信科技有限公司 一种h5容器配置方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8191060B2 (en) * 2006-08-29 2012-05-29 Adobe Systems Incorporated Software installation using template executables
US8171470B2 (en) * 2006-08-29 2012-05-01 Adobe Systems Incorporated Software installation and support
US20130047150A1 (en) * 2006-08-29 2013-02-21 Adobe Systems Incorporated Software installation and process management support
US8464249B1 (en) * 2009-09-17 2013-06-11 Adobe Systems Incorporated Software installation package with digital signatures
KR101308404B1 (ko) * 2010-03-02 2013-09-16 에스케이플래닛 주식회사 이종 플랫폼 간 사용가능한 리소스 파일 패키지 생성 방법 및 이종 플랫폼에서 리소스 사용 방법
KR20100036298A (ko) * 2010-03-18 2010-04-07 (주)디지탈아리아 임베디드 및 모바일 기기에서 특정 런타임 기반의 콘텐츠를 다른 기종의 단말에서 구동하는 방법

Also Published As

Publication number Publication date
KR101489199B1 (ko) 2015-02-03
US20140298318A1 (en) 2014-10-02

Similar Documents

Publication Publication Date Title
KR101489199B1 (ko) 컴퓨터에서 실행 가능한 어플리케이션 패키지를 생성하는 방법, 이를 수행하는 컴퓨터 실행 장치 및 이를 저장한 기록 매체
US9400784B2 (en) Integrated application localization
CN102971688B (zh) 跨平台应用程序框架
US8694988B2 (en) Runtime extensions
US10565293B2 (en) Synchronizing DOM element references
US20130226555A1 (en) Multilingual Build Integration for Compiled Applications
CN111740948B (zh) 数据包发布方法、动态更新方法、装置、设备及介质
US20090313004A1 (en) Platform-Independent Application Development Framework
US20120102483A1 (en) Handling calls to native code in a managed code environment
CN111045683A (zh) 小程序代码编译方法、装置、设备及介质
US9575737B1 (en) Application access to native and bundled libraries
CN113495730B (zh) 资源包的生成及解析方法和装置
CN110489162A (zh) 安装包so文件精简方法、装置、介质和设备
US20140304690A1 (en) Systems and Methods for Outputting an Application to Another Environment
US10579373B2 (en) Seamless extension porting
KR20090121949A (ko) 모바일 콘텐츠 변환 방법 및 시스템
KR20190048416A (ko) 애플리케이션의 화이트 레이블링 장치 및 방법
US20080307446A1 (en) Interoperable Managed and Unmanaged Code in a Document Environment
KR20140148236A (ko) 웹 어플리케이션의 변조를 방지하는 모바일 장치 및 이를 이용한 웹 어플리케이션 실행 방법
CN119356759A (zh) 资源配置方法、装置、电子设备及可读存储介质
Wagner Adobe AIR For Dummies
CN110825470A (zh) 应用程序语言本地化方法、装置、电子设备及存储介质
KR20150097204A (ko) 애플리케이션 개발 환경 제공 시스템
KR20150099042A (ko) 애플리케이션 개발 환경 제공 시스템
KR20150099044A (ko) 애플리케이션 개발 환경 제공 시스템

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20130329

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20140731

Patent event code: PE09021S01D

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20150121

PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20150128

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20150128

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20180102

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20190102

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20200102

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20210107

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20220103

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20221226

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20231226

Start annual number: 10

End annual number: 10

PR1001 Payment of annual fee

Payment date: 20241223

Start annual number: 11

End annual number: 11