KR101585931B1 - 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼 및 실행방법 - Google Patents

하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼 및 실행방법 Download PDF

Info

Publication number
KR101585931B1
KR101585931B1 KR1020150148504A KR20150148504A KR101585931B1 KR 101585931 B1 KR101585931 B1 KR 101585931B1 KR 1020150148504 A KR1020150148504 A KR 1020150148504A KR 20150148504 A KR20150148504 A KR 20150148504A KR 101585931 B1 KR101585931 B1 KR 101585931B1
Authority
KR
South Korea
Prior art keywords
application
appos
app
platform
hybrid
Prior art date
Application number
KR1020150148504A
Other languages
English (en)
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 KR1020150148504A priority Critical patent/KR101585931B1/ko
Application granted granted Critical
Publication of KR101585931B1 publication Critical patent/KR101585931B1/ko

Links

Images

Classifications

    • G06F9/4421
    • G06F9/4443
    • 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

Landscapes

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

Abstract

본 발명은 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼 및 실행방법에 관한 것으로, 더욱 상세하게는 하이브리드 앱과 네이티브 앱의 장점을 결합한 바로앱(baroapp)의 실행구조를 구성하므로 아이폰,안드로이드를동시에지원하고 다양한템플릿의 지원이 가능함과 더불어코딩 없는 앱(어플리케이션)의 제작 과정을 거치게 되어 개발자가 필요가 없고, 제작된 바로앱은 Java의 VM과 같은 역할을 수행하는 런타임 환경 위에서 구동됨은 물론 다수의 바로앱이 동일한 런타임 위에서 구동되는 방식으로 런타임인 크로스플랫폼 개발 기술을 사용하는 appOS를 공유하게 되며, 바로앱의 런타임인 appOS는 여러 가지의 크로스플랫폼 개발 환경이 존재하고 어떠한 환경이 선택되어도 상관없으므로 관리비용의 최소화를 위해서 바로앱 개발기술과 동일한 구현언어를 사용하는 크로스플랫폼의 개발 환경을 선택하였고, 바로앱은 웹의 프론트엔드 기술로 개발되어 통상적인 브라우저에서 구동이 가능함은 몰론 통상적인 브라우저가 appOS 를 대신해서 바로앱을 구동할 수 있는 효과가 있다.

Description

하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼 및 실행방법{A processing platform and processing method of baroapp based on environment combined hybrid app with native app}
본 발명은 하이브리드 앱과 네이티브 앱의 장점을 결합한 바로앱(baroapp)의 실행 플랫폼을 구성하므로 아이폰,안드로이드를동시에지원하고 다양한템플릿의 지원이 가능함과 더불어코딩 없는 앱(어플리케이션)의 제작 과정을 거치게 되어 개발자가 필요가 없고, 제작된 바로앱은 Java의 VM과 같은 역할을 수행하는 런타임 환경 위에서 구동됨은 물론 다수의 바로앱이 동일한 런타임 위에서 구동되는 방식으로 런타임인 크로스플랫폼 개발 기술을 사용하는 appOS를 공유하게 되며, 바로앱의 런타임인 appOS는 여러 가지의 크로스플랫폼 개발 환경이 존재하고 어떠한 환경이 선택되어도 상관없으므로 관리비용의 최소화를 위해서 바로앱 개발기술과 동일한 구현언어를 사용하는 크로스플랫폼의 개발 환경을 선택하였고, 바로앱은 웹의 프론트엔드 기술로 개발되어 통상적인 브라우저에서 구동이 가능함은 몰론 통상적인 브라우저가 appOS 를 대신해서 바로앱을 구동할 수 있는 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼 및 실행방법에 관한 기술이다.
일반적으로 웹 기반에서는 앱(어플리케이션)을 직접 배포할 경우나 파일럿프로젝트 및 앱스토어를 통해 유통이 힘들거나 필요하지 않은 경우에만 적용을 한다.
또한, 하이브리드 어플리케이션에서는 지속적인 컨텐츠 변동 및 앱 업데이트가 필요한 경우와, HTML5 등 새로운 기술표준을 도입하기를 원하는 경우에 적용을 하지만, 웹 개발자를 보유해야 하는 문제점이 있다.
또한, 네이티브 어플리케이션에서는 단일 플랫폼의 목표를 갖고 있고, 강력한 앱 기능을 갖고 있지만, 네이티브 앱의 개발자를 보유해야 하는 문제점이 있다.
따라서, 아이폰,안드로이드를동시에지원하고 다양한템플릿의 지원이 가능함과 더불어코딩 없는 앱(어플리케이션)의 제작 과정을 거치게 되어 개발자가 필요가 없고, 제작된 바로앱은 Java의 VM과 같은 역할을 수행하는 런타임 환경 위에서 구동됨은 물론 다수의 바로앱이 동일한 런타임 위에서 구동되는 방식으로 런타임인 크로스플랫폼 개발 기술을 사용하는 appOS를 공유하게 되며, 바로앱의 런타임인 appOS는 여러 가지의 크로스플랫폼 개발 환경이 존재하고 어떠한 환경이 선택되어도 상관없으므로 관리비용의 최소화를 위해서 바로앱 개발기술과 동일한 구현언어를 사용하는 크로스플랫폼의 개발 환경을 선택하였고, 바로앱은 웹의 프론트엔드 기술로 개발되어 통상적인 브라우저에서 구동이 가능함은 몰론 통상적인 브라우저가 appOS 를 대신해서 바로앱을 구동할 수 있는 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼 및 실행방법의 개발이 절실히 요구되고 있는 실정이다.
KR 10-2006-0116249(2006. 11. 23)
따라서, 본 발명은 상기와 같은 문제점을 해결하기 위해 착안된 것으로서, 하이브리드 앱과 네이티브 앱의 장점을 결합한 바로앱(baroapp)의 실행구조를 구성하므로 아이폰,안드로이드를동시에지원하고 다양한템플릿의 지원이 가능함과 더불어코딩 없는 앱(어플리케이션)의 제작 과정을 거치게 되어 개발자가 필요가 없는 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼 및 실행방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적은 제작된 바로앱은 Java의 VM과 같은 역할을 수행하는 런타임 환경 위에서 구동됨은 물론 다수의 바로앱이 동일한 런타임 위에서 구동되는 방식으로 런타임인 크로스플랫폼 개발 기술을 사용하는 appOS를 공유하게 되는 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼 및 실행방법을 제공하는데 있다.
본 발명의 다른 목적은 바로앱의 런타임인 appOS는 여러 가지의 크로스플랫폼 개발 환경이 존재하고 어떠한 환경이 선택되어도 상관없으므로 관리비용의 최소화를 위해서 바로앱 개발기술과 동일한 구현언어를 사용하는 크로스플랫폼의 개발 환경을 선택한 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼 및 실행방법을 제공하는데 있다.
본 발명의 다른 목적은 바로앱은 웹의 프론트엔드 기술로 개발되어 통상적인 브라우저에서 구동이 가능함은 몰론 통상적인 브라우저가 appOS 를 대신해서 바로앱을 구동할 수 있는 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼 및 실행방법을 제공하는데 있다.
전술한 본 발명의 목적을 달성하기 위한 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼은 하이브리드 앱과 네이티브 앱의 장점을 결합한 바로앱의 실행을 위한 공통적인 구성요소를 나타내며, 위젯과 같은 작은 모듈로 패키징하고, 필요시 동적으로 로딩하는 종속성을 관리하는 기능과, MVC(Model, View, Controller) 패턴의 적용을 위한 기능과, DOM 처리를 위한 기능을 제공하는 바로앱(Baro App)과; 상기 바로앱의 실행을 위한 공통적인 구성요소를 나타내며, 바로앱 실행을 위해 다양한 오픈소스 라이브러리들이 사용되고, 동일한 기능을 수행하는 다른 라이브러리로 대체 가능하며, 바로앱과 appOS의 중간에 위치한 미들웨어인 UCMS 플랫폼(Platform)과; 상기 UCMS 플랫폼의 하부에 위치하는 하위 구성요소를 나타내며, 크로스플랫폼의 특성상 OSMU(One Source Multi Use) 방식으로 개발되므로 OS와 관계없이 동일한 코드로 구성되는 appOS 코드를 포함하며, appOS를 포함하는 구성요소는 선택한 크로스플랫폼 개발 환경에 따라서 다르게 구성될 수 있고, 여러 개의 바로앱을 실행할 수 있는 구조를 갖는데, 하나의 바로앱은 AppHost 내에서 실행되고, 다른 바로앱은 웹 랜더링 모듈로 구현된 AppRenderer에 의해 바로앱이 실행되는 appOS와; 상기 appOS의 하부에 위치하며, 선택한 크로스플랫폼의 특성에 종속되어 구성되는 하부단의 코드; 를 포함함을 특징으로 한다.
삭제
삭제
삭제
상기 본 발명에 있어서, 상기 위젯은 UCMS 플랫폼이 제공하는 appOS API를 호출하여 필요한 요청을 appOS로 전달하는데, 상기 appOS API는 인증/인가, O2O(Online to Offline), 커머스, 메시징, 소설 발행, 비전(Vision)의 기능을 제공하는 것을 포함함을 특징으로 한다.
전술한 본 발명의 목적을 달성하기 위한 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행방법에 있어서, appOS API 호출 과정은 위젯이 명령을 요청하는 클라이언트에 해당하는 AppRenderer Proxy를 통해서 appOS API 호출을 구현하는 단계와; 상기 appOS API 호출은 appOS가 받을 수 있는 요청 이벤트로 변환되어 appOS 쪽으로 릴레이 되는 단계와; 상기 릴레이된 appOS API 호출은 명령요청을 받는 상대편 명령자에 해당하는 appOS Stub 코드에 의해서 해석되고 이벤트 핸들러에 의해 처리되는 단계와; 상기 처리된 결과는 AppRenderer Proxy가 받을 수 있는 반환 이벤트로 변환되어 AppRenderer 쪽으로 릴레이 되는 단계와; 상기 처리된 결과는 비동기 호출 패턴인 Promises에서 구현하는 Deferred 객체를 통해서 위젯쪽으로 반환되는 단계; 를 포함함을 특징으로 한다.
상기 본 발명에 있어서, 상기 appOS 쪽에서 바로앱으로 상태를 전달하는 필요가 발생된 경우에는 appOS에서 바로앱 쪽으로 요청 이벤트가 발생될 수 있는데, 이때에 appOS API 호출 과정과 동일한 절차로 요청이 처리되는 것을 더 포함함을 특징으로 한다.
또한, 전술한 본 발명의 목적을 달성하기 위한 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행방법에 있어서, appOS 초기화 과정은 appOS 초기화를 시작하는 단계(1)와; url scheme로 전달된 바로앱을 실행하는 단계(2)와; 상기 바로앱 실행 요청시에 같이 전달된 파라메터를 수신하는 단계(3)와; 옵션사항으로서, 백엔드 API 호출을 위한 백엔드 세션을 초기화하는 단계(4)와; 메시징 API 호출을 위한 초기화를 수행하는 단계(5)와; 바로앱의 관리자를 초기화를 수행하는 단계(6)와; 바로앱을 실행하는 단계(7); 를 포함함을 특징으로 한다.
또한, 전술한 본 발명의 목적을 달성하기 위한 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행방법에 있어서, 바로앱 전환 과정은 바로앱 실행이 요청된 후의 과정으로서, 현재 실행중이던 바로앱은 정지될 때 후면으로 진입하는 이벤트가 발생되고, 연속해서 소멸 이벤트가 발생되는 단계와; 신규 요청된 바로앱이 시작될 때 전면으로 진입하는 이벤트가 발생되는 단계와; 상기 신규 요청된 바로앱이 실행되는 단계; 를 포함함을 특징으로 한다.
상술한 바와 같이, 본 발명인 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼 및 실행방법은 다음과 같은 효과를 가진다.
첫째, 본 발명은 하이브리드 앱과 네이티브 앱의 장점을 결합한 바로앱(baroapp)의 실행구조를 구성하므로 아이폰,안드로이드를동시에지원하고 다양한템플릿의 지원이 가능함과 더불어코딩 없는 앱(어플리케이션)의 제작 과정을 거치게 되어 개발자가 필요가 없다.
둘째, 본 발명은 제작된 바로앱은 Java의 VM과 같은 역할을 수행하는 런타임 환경 위에서 구동됨은 물론 다수의 바로앱이 동일한 런타임 위에서 구동되는 방식으로 런타임인 크로스플랫폼 개발 기술을 사용하는 appOS를 공유하게 된다.
셋째, 본 발명은 바로앱의 런타임인 appOS는 여러 가지의 크로스플랫폼 개발 환경이 존재하고 어떠한 환경이 선택되어도 상관없으므로 관리비용의 최소화를 위해서 바로앱 개발기술과 동일한 구현언어를 사용하는 크로스플랫폼의 개발 환경을 선택한다.
넷째, 본 발명은 바로앱은 웹의 프론트엔드 기술로 개발되어 통상적인 브라우저에서 구동이 가능함은 몰론 통상적인 브라우저가 appOS 를 대신해서 바로앱을 구동할 수 있다.
도 1은 본 발명의 일실시예에 따른 Android와 iOS에서 바로앱이 구동시 적용된 최상위 레벨의 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼을 설명하기 위해 나타낸 도면.
도 2는 본 발명의 일실시예에 따른 바로앱이 웹 브라우저에서 동작시의 구조를 설명하기 위해 나타낸 도면.
도 3은 본 발명의 일실시예에 따른 UCMS Platform의 상세구조를 설명하기 위해 나타낸 도면.
도 4는 본 발명의 일실시예에 따른 바로앱의 실행체계를 설명하기 위해 나타낸 도면.
도 5는 본 발명의 일실시예에 따른 appOS의 구성을 설명하기 위해 나타낸 도면.
도 6은 본 발명의 일실시예에 따른 위젯과 appOS와의 호출과 요청 전달하는 관계를 설명하기 위해 나타낸 도면.
도 7은 본 발명의 일실시예에 따른 비동기의 명령 채널의 개요를 알 수 있는 appOS API의 최상위 뷰를 설명하기 위해 나타낸 도면.
도 8은 본 발명의 일실시예에 따른 appOS API의 호출 절차를 설명하기 위해 나타낸 도면.
도 9는 본 발명의 일실시예에 따른 비동기의 명령 채널의 상세 구조를 설명하기 위해 나타낸 도면.
도 10은 본 발명의 일실시예에 따른 비동기 명령 처리기의 Command Entry에 쌓인 명령이 명령 수신자측으로 전달되는 과정을 설명하기 위해 나타낸 도면.
도 11은 본 발명의 일실시예에 따른 비동기 명령 처리기의 명령을 수신한 후 처리하는 절차를 설명하기 위해 나타낸 도면.
도 12는 본 발명의 일실시예에 따른 appOS의 초기화 절차를 설명하기 위해 나타낸 도면.
도 13은 본 발명의 일실시예에 따른 바로앱의 전환 절차를 설명하기 위해 나타낸 도면.
이하 첨부된 도면과 함께 본 발명의 바람직한 실시 예를 살펴보면 다음과 같은데, 본 발명을 설명함에 있어서 관련된 공지기술 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이며, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있으므로, 그 정의는 본 발명인 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼 및 실행방법을 설명하는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하, 본 발명의 바람직한 일실시예에 따른 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼을 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 일실시예에 따른 Android와 iOS에서 바로앱이 구동시 적용된 최상위 레벨의 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼을 설명하기 위해 나타낸 도면이고, 도 2는 본 발명의 일실시예에 따른 바로앱이 웹 브라우저에서 동작시의 구조를 설명하기 위해 나타낸 도면이며, 도 3은 본 발명의 일실시예에 따른 UCMS Platform의 상세구조를 설명하기 위해 나타낸 도면이고, 도 4는 본 발명의 일실시예에 따른 바로앱의 실행체계를 설명하기 위해 나타낸 도면이며, 도 5는 본 발명의 일실시예에 따른 appOS의 구성을 설명하기 위해 나타낸 도면이고, 도 6은 본 발명의 일실시예에 따른 위젯과 appOS와의 호출과 요청 전달하는 관계를 설명하기 위해 나타낸 도면이며, 도 7은 본 발명의 일실시예에 따른 비동기의 명령 채널의 개요를 알 수 있는 appOS API의 최상위 뷰를 설명하기 위해 나타낸 도면이다.
도 1 내지 도 7에 도시한 바와 같이, 본 발명인 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼은 하이브리드 앱과 네이티브 앱의 장점을 결합한 바로앱의 실행을 위한 공통적인 구성요소를 나타내며, 위젯과 같은 작은 모듈로 패키징하고, 필요시 동적으로 로딩하는 종속성을 관리하는 기능과, MVC(Model, View, Controller) 패턴의 적용을 위한 기능과, DOM 처리를 위한 기능을 제공하는 바로앱(Baro App)(10)과; 상기 바로앱의 실행을 위한 공통적인 구성요소를 나타내며, 바로앱과 appOS의 중간에 위치한 미들웨어인 UCMS 플랫폼(Platform)(20)과; 상기 UCMS 플랫폼의 하부에 위치하는 하위 구성요소를 나타내며, 크로스플랫폼의 특성상 OSMU(One Source Multi Use) 방식으로 개발되므로 OS와 관계없이 동일한 코드로 구성되는 appOS 코드를 포함하며, 여러 개의 바로앱을 실행할 수 있는 구조를 갖는 appOS(30)와; 상기 appOS의 하부에 위치하며, 선택한 크로스플랫폼의 특성에 종속되어 구성되는 하부단의 코드(40); 을 구비한다.
상기 본 발명인 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼을 구성하는 기술적 수단들의 기능을 설명하면 다음과 같다.
도 1에 도시한 바와 같이, 상기 바로앱(Baro App)(10)은 하이브리드 앱과 네이티브 앱의 장점을 결합한 바로앱의 실행을 위한 공통적인 구성요소를 나타내며, 위젯과 같은 작은 모듈로 패키징하고, 필요시 동적으로 로딩하는 종속성을 관리하는 기능과, MVC(Model, View, Controller) 패턴의 적용을 위한 기능과, DOM 처리를 위한 기능을 제공하는 것이다.
상기 UCMS 플랫폼(Platform)(20)은 상기 바로앱의 실행을 위한 공통적인 구성요소를 나타내며, 바로앱과 appOS의 중간에 위치한 미들웨어인 것이다. 여기서, 상기 UCMS 플랫폼(Platform)(20)은 바로앱 실행을 위해 다양한 오픈소스 라이브러리들이 사용되며, 동일한 기능을 수행하는 다른 라이브러리로 대체 가능한 것이다.
상기 appOS(30)는 상기 UCMS 플랫폼의 하부에 위치하는 하위 구성요소를 나타내며, 크로스플랫폼의 특성상 OSMU(One Source Multi Use) 방식으로 개발되므로 OS와 관계없이 동일한 코드로 구성되는 appOS 코드를 포함하며, 여러 개의 바로앱을 실행할 수 있는 구조를 갖는 것이다. 여기서, 상기 appOS(30)를 포함하는 구성요소는 선택한 크로스플랫폼 개발 환경에 따라서 다르게 구성될 수 있는 것을 더 포함하는 것이다.
또한, 상기 appOS(30)는 여러 개의 바로앱을 실행할 수 있는 구조를 갖는데, 하나의 바로앱은 AppHost 내에서 실행되고, 다른 바로앱은 웹 랜더링 모듈로 구현된 AppRenderer에 의해 바로앱이 실행되는 것이다.
상기 하부단의 코드(40)는 appOS의 하부에 위치하며, 선택한 크로스플랫폼의 특성에 종속되어 구성되는 것이다.
도 2에 도시한 바와 같이, 바로앱이 웹 브라우저에서 동작시의 구조를 살펴보면, 바로앱(10)은 웹의 프론트엔드 기술로 개발되어 통상적인 브라우저에서 구동이 가능하고, 통상적인 브라우저가 appOS를 대신해서 바로앱(10)을 구동할 수 있는 것이다. 단 appOS AP가 제공하는 네이티브 기능은 UCMS Platform(20)에 의해서 appOS 런타임과는 다른 방식으로 처리될 수 있는 것이다.
또한, 도 3에 도시한 바와 같이, UCMS Platform의 상세구조를 살펴보면, UCMS Platform(20)은 바로앱과 appOS의 중간에 위치한 미들웨어이다. 바로앱의 실행을 위해 다양한 오픈소스 라이브러리들이 사용되었고, 동일한 기능을 수행하는 다른 라이브러리로 대체가 가능하다. 또한, 바로앱이 실행에 필요한 다음과 같은 기능을 직접적으로 제공하는데, 위젯(50)과 같은 작은 모듈로 패키징하고, 필요시 동적으로 로딩하는 종속성을 관리하고, 바로앱이 MVC(Model, View, Controller) 패턴의 적용을 위한 기능을 제공하며, DOM 처리를 위한 기능을 제공하는 것이다. 또한, 상기 UCMS Platform(20)의 하부에 위치하는 것들은 오픈 소스 기반의 범용 라이브러리(60)를 나타낸 것이다.
또한, 도 4에 도시한 바와 같이, 바로앱의 실행체계를 살펴보면, 바로앱이 실행되는 경로는 2 가지가 존재하는데, 첫번째는 appOS(30) 외부의 모듈에서 시작된 요청은 URL Scheme으로 전달되고, 두번째는 appOS(30) 내부의 관리 정책에 의해서 앱 실행이 시작되는 것이다.
도 5에 도시한 바와 같이, appOS의 구성을 살펴보면, appOS(30) 여러 개의 바로앱(10)을 실행할 수 있는 구조를 갖는데, 하나의 바로앱(10)은 AppHost(11) 내에서 실행되며, 웹 랜더링 모듈로 구현된 AppRenderer(12) 에 의해 바로앱이 실행되는 것이다. 또한, 바로앱(10)은 다양한 위젯(50)의 조합으로 구현된다.
도 6에 도시한 바와 같이, 상기 위젯은 UCMS 플랫폼이 제공하는 appOS API(31)를 호출하여 필요한 요청을 appOS로 전달하는데, 상기 appOS API(31)는 인증/인가, O2O(Online to Offline), 커머스, 메시징, 소설 발행, 비전(Vision)의 기능을 제공하는 것이다. 또한, 지원하는 API인 비동기의 API는 관리정책에 의해 지속적으로 추가 및 변경될 수 있는 것이다.
또한, 도 7에 도시한 바와 같이, 비동기의 명령 채널의 개요를 알 수 있는 appOS API의 최상위 뷰를 살펴보면, AppRenderer는 appOS와의 상호작용을 위한 Proxy/Stub 코드로 구성되는데, 상기 Proxy/Stub는 상호 요청을 주고 받는 과정을 반복하는 역할을 수행한다. 그리고 Proxy는 바로앱에서 사용되고, Stub는 appOS 런타임에서 사용되는 것이다.
이하, 본 발명의 바람직한 일실시예에 따른 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행방법을 첨부된 도면을 참조하여 상세히 설명한다.
도 8은 본 발명의 일실시예에 따른 appOS API의 호출 절차를 설명하기 위해 나타낸 도면이고, 도 9는 본 발명의 일실시예에 따른 비동기의 명령 채널의 상세 구조를 설명하기 위해 나타낸 도면이며, 도 10은 본 발명의 일실시예에 따른 비동기 명령 처리기의 Command Entry에 쌓인 명령이 명령 수신자측으로 전달되는 과정을 설명하기 위해 나타낸 도면이고, 도 11은 본 발명의 일실시예에 따른 비동기 명령 처리기의 명령을 수신한 후 처리하는 절차를 설명하기 위해 나타낸 도면이며, 도 12는 본 발명의 일실시예에 따른 appOS의 초기화 절차를 설명하기 위해 나타낸 도면이고, 도 13은 본 발명의 일실시예에 따른 바로앱의 전환 절차를 설명하기 위해 나타낸 도면이다.
도 8에 도시한 바와 같이, 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행방법에 있어서, appOS API 호출 과정은 위젯(50)이 명령을 요청하는 클라이언트에 해당하는 AppRenderer Proxy를 통해서 appOS API(31) 호출을 구현하는 단계와; 상기 appOS API(31) 호출은 appOS(30)가 받을 수 있는 요청 이벤트로 변환되어 appOS(30) 쪽으로 릴레이 되는 단계와; 상기 릴레이된 appOS API(31) 호출은 명령요청을 받는 상대편 명령자에 해당하는 appOS Stub 코드에 의해서 해석되고 이벤트 핸들러에 의해 처리되는 단계와; 상기 처리된 결과는 AppRenderer Proxy가 받을 수 있는 반환 이벤트로 변환되어 AppRenderer 쪽으로 릴레이 되는 단계와; 상기 처리된 결과는 비동기 호출 패턴인 Promises에서 구현하는 Deferred 객체를 통해서 위젯쪽으로 반환되는 단계를 구비하는 것이다. 여기서, 상기 appOS(30) 쪽에서 바로앱(10)으로 상태를 전달하는 필요가 발생된 경우에는 appOS(30)에서 바로앱(10) 쪽으로 요청 이벤트가 발생될 수 있는데, 이때에 appOS API(31) 호출 과정과 동일한 절차로 요청이 처리되는 것을 더 포함하는 것이다.
도 9에 도시한 바와 같이, 비동기의 명령 채널의 상세 구조인 비동기 명령 처리를 위한 구조를 살펴보면, 명령을 요청하는 Client 측과 요청을 받는 상대편 명령자(Offside Commander)로 구성되는데, 도 8에 도시한 바와 같은 appOS API 처리 절차에서는 AppRenderer Proxy 는 Client 에 해당하고, appOS Stub는 상대편 명령자(Offside Commander) 에 해당하는 것이다.
도 10에 도시한 바와 같이, 비동기 명령 처리기의 Command Entry에 쌓인 명령이 명령 수신자측으로 전달되는 과정을 살펴보면, 모든 API 호출은 하나의 명령 Entry로 표현되는데, 호출이 발생되면 명령 Entry 큐에 저장되고, 상기 저장된 명령 Entry는 상대편 이벤트 처리기가 인식할 수 있는 방식으로 명령 처리 이벤트를 발생시킨다. 또한, 상기 이벤트가 발생되면 상대편(Offside) 모듈에 의해 처리되고, 결과를 반환한다. 그리고 상기 반환된 결과는 해당 명령 Entry의 promise 객체에 의해 API를 호출한 측으로 결과를 반환하는 것이다.
도 11에 도시한 바와 같이, 비동기 명령 처리기의 명령을 수신한 후 처리하는 절차를 살펴보면, 수신된 명령에 해당하는 핸들러가 동작되어 명령이 처리되며, 상기 처리된 결과는 상대편(Offside) 모듈에 의해 인식될 수 있는 방식으로 이벤트를 발생시키는 것이다.
도 12에 도시한 바와 같이, 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행방법에 있어서, appOS 초기화 과정은 appOS(30) 초기화를 시작하는 단계(1)와; url scheme로 전달된 바로앱을 실행하는 단계(2)와; 상기 바로앱 실행 요청시에 같이 전달된 파라메터를 수신하는 단계(3)와; 옵션사항으로서, 백엔드 API 호출을 위한 백엔드 세션을 초기화하는 단계(4)와; 메시징 API 호출을 위한 초기화를 수행하는 단계(5)와; 바로앱의 관리자를 초기화를 수행하는 단계(6)와; 바로앱(10)을 실행하는 단계(7); 를 포함하는 것이다.
도 13에 도시한 바와 같이, 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행방법에 있어서, 바로앱 전환 과정은 바로앱 실행이 요청된 후의 과정으로서, 현재 실행중이던 바로앱은 정지될 때 후면으로 진입하는 이벤트가 발생되고, 연속해서 소멸 이벤트가 발생되는 단계와; 신규 요청된 바로앱이 시작될 때 전면으로 진입하는 이벤트가 발생되는 단계와; 상기 신규 요청된 바로앱이 실행되는 단계; 를 포함하는 것이다.
본 발명은 상기 실시예에 한정되지 않고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양하게 수정 및 변경 실시할 수 있음은 이 기술 분야에서 통상의 지식을 가진 자라면 누구나 이해할 수 있을 것이다.
10 : 바로앱(Baro App) 11 : AppHost
12 : AppRenderer 20 : UCMS 플랫폼(Platform)
30 : appOS 31 : appOS API
40 : 하부단의 코드 50 : 위젯
60 : 오픈 소스 기반의 범용 라이브러리

Claims (9)

  1. 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼에 있어서,
    하이브리드 앱과 네이티브 앱의 장점을 결합한 바로앱의 실행을 위한 공통적인 구성요소를 나타내며, 위젯과 같은 작은 모듈로 패키징하고, 필요시 동적으로 로딩하는 종속성을 관리하는 기능과, MVC(Model, View, Controller) 패턴의 적용을 위한 기능과, DOM 처리를 위한 기능을 제공하는 바로앱(Baro App)과;
    상기 바로앱의 실행을 위한 공통적인 구성요소를 나타내며, 바로앱 실행을 위해 다양한 오픈소스 라이브러리들이 사용되고, 동일한 기능을 수행하는 다른 라이브러리로 대체 가능하며, 바로앱과 appOS의 중간에 위치한 미들웨어인 UCMS 플랫폼(Platform)과;
    상기 UCMS 플랫폼의 하부에 위치하는 하위 구성요소를 나타내며, 크로스플랫폼의 특성상 OSMU(One Source Multi Use) 방식으로 개발되므로 OS와 관계없이 동일한 코드로 구성되는 appOS 코드를 포함하며, appOS를 포함하는 구성요소는 선택한 크로스플랫폼 개발 환경에 따라서 다르게 구성될 수 있고, 여러 개의 바로앱을 실행할 수 있는 구조를 갖는데, 하나의 바로앱은 AppHost 내에서 실행되고, 다른 바로앱은 웹 랜더링 모듈로 구현된 AppRenderer에 의해 바로앱이 실행되는 appOS와;
    상기 appOS의 하부에 위치하며, 선택한 크로스플랫폼의 특성에 종속되어 구성되는 하부단의 코드; 를 포함함을 특징으로 하는 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제 1항에 있어서,
    상기 위젯은 UCMS 플랫폼이 제공하는 appOS API를 호출하여 필요한 요청을 appOS로 전달하는데, 상기 appOS API는 인증/인가, O2O(Online to Offline), 커머스, 메시징, 소설 발행, 비전(Vision)의 기능을 제공하는 것을 포함함을 특징으로 하는 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼.
  6. 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행방법에 있어서,
    appOS API 호출 과정은 위젯이 명령을 요청하는 클라이언트에 해당하는 AppRenderer Proxy를 통해서 appOS API 호출을 구현하는 단계와;
    상기 appOS API 호출은 appOS가 받을 수 있는 요청 이벤트로 변환되어 appOS 쪽으로 릴레이 되는 단계와;
    상기 릴레이된 appOS API 호출은 명령요청을 받는 상대편 명령자에 해당하는 appOS Stub 코드에 의해서 해석되고 이벤트 핸들러에 의해 처리되는 단계와;
    상기 처리된 결과는 AppRenderer Proxy가 받을 수 있는 반환 이벤트로 변환되어 AppRenderer 쪽으로 릴레이 되는 단계와;
    상기 처리된 결과는 비동기 호출 패턴인 Promises에서 구현하는 Deferred 객체를 통해서 위젯쪽으로 반환되는 단계; 를 포함함을 특징으로 하는 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행방법.
  7. 제 6항에 있어서,
    상기 appOS 쪽에서 바로앱으로 상태를 전달하는 필요가 발생된 경우에는 appOS에서 바로앱 쪽으로 요청 이벤트가 발생될 수 있는데, 이때에 appOS API 호출 과정과 동일한 절차로 요청이 처리되는 것을 더 포함함을 특징으로 하는 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행방법.
  8. 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행방법에 있어서,
    appOS 초기화 과정은 appOS 초기화를 시작하는 단계(1)와;
    url scheme로 전달된 바로앱을 실행하는 단계(2)와;
    상기 바로앱 실행 요청시에 같이 전달된 파라메터를 수신하는 단계(3)와;
    옵션사항으로서, 백엔드 API 호출을 위한 백엔드 세션을 초기화하는 단계(4)와;
    메시징 API 호출을 위한 초기화를 수행하는 단계(5)와;
    바로앱의 관리자를 초기화를 수행하는 단계(6)와;
    바로앱을 실행하는 단계(7); 를 포함함을 특징으로 하는 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행방법.
  9. 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행방법에 있어서,
    바로앱 전환 과정은 바로앱 실행이 요청된 후의 과정으로서, 현재 실행중이던 바로앱은 정지될 때 후면으로 진입하는 이벤트가 발생되고, 연속해서 소멸 이벤트가 발생되는 단계와;
    신규 요청된 바로앱이 시작될 때 전면으로 진입하는 이벤트가 발생되는 단계와;
    상기 신규 요청된 바로앱이 실행되는 단계; 를 포함함을 특징으로 하는 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행방법.
KR1020150148504A 2015-10-26 2015-10-26 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼 및 실행방법 KR101585931B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150148504A KR101585931B1 (ko) 2015-10-26 2015-10-26 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼 및 실행방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150148504A KR101585931B1 (ko) 2015-10-26 2015-10-26 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼 및 실행방법

Publications (1)

Publication Number Publication Date
KR101585931B1 true KR101585931B1 (ko) 2016-01-15

Family

ID=55173545

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150148504A KR101585931B1 (ko) 2015-10-26 2015-10-26 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼 및 실행방법

Country Status (1)

Country Link
KR (1) KR101585931B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170130760A (ko) * 2016-05-19 2017-11-29 한화테크윈 주식회사 하이브리드 애플리케이션에서 사용자의 세션 관리 방법 및 장치
KR20190083463A (ko) 2018-01-04 2019-07-12 이양원 Kotlin을 이용한 플랫폼 독립 크로스앱의 실행 플랫폼 및 실행방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060116249A (ko) 2004-03-09 2006-11-14 더 게이츠 코포레이션 전동 벨트
KR20140021088A (ko) * 2012-08-07 2014-02-20 인크로스 주식회사 하이브리드 웹 어플리케이션 개발을 위한 호환성 높은 플러그인 시스템
KR20140021091A (ko) * 2012-08-07 2014-02-20 인크로스 주식회사 하이브리드 웹 어플리케이션의 네이티브 기능을 수행하는 자바스크립트 코드의 동적 로딩 장치와 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060116249A (ko) 2004-03-09 2006-11-14 더 게이츠 코포레이션 전동 벨트
KR20140021088A (ko) * 2012-08-07 2014-02-20 인크로스 주식회사 하이브리드 웹 어플리케이션 개발을 위한 호환성 높은 플러그인 시스템
KR20140021091A (ko) * 2012-08-07 2014-02-20 인크로스 주식회사 하이브리드 웹 어플리케이션의 네이티브 기능을 수행하는 자바스크립트 코드의 동적 로딩 장치와 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170130760A (ko) * 2016-05-19 2017-11-29 한화테크윈 주식회사 하이브리드 애플리케이션에서 사용자의 세션 관리 방법 및 장치
KR102497544B1 (ko) 2016-05-19 2023-02-07 한화테크윈 주식회사 하이브리드 애플리케이션에서 사용자의 세션 관리 방법 및 장치
KR20190083463A (ko) 2018-01-04 2019-07-12 이양원 Kotlin을 이용한 플랫폼 독립 크로스앱의 실행 플랫폼 및 실행방법

Similar Documents

Publication Publication Date Title
US11204786B2 (en) Method and arrangement for managing persistent rich internet applications
KR102354717B1 (ko) 언어-독립형 디스패치를 위한 코드 서비스 기법
US8910112B2 (en) Extended enterprise connector framework using direct web remoting (DWR)
US8700681B2 (en) Method and system for generating schema to java mapping descriptors
US8694956B2 (en) PowerShell cmdlets code generating tool for communicating to the web services
US8032588B2 (en) System and method for hosting one or more versions of a service using a service proxy
KR20180053358A (ko) 컴퓨팅 장치에서의 애플리케이션 실행방법
CN111367635B (zh) 宿主平台层中的应用接口实现方法、装置、设备和介质
KR101416104B1 (ko) 하이브리드 웹 어플리케이션의 네이티브 기능을 수행하는 자바스크립트 코드의 동적 로딩 장치와 방법
RU2009128038A (ru) Управляемая среда выполнения для организации взаимодействия между программными приложениями
KR101585931B1 (ko) 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼 및 실행방법
KR20160015300A (ko) 사용자 모드에서의 샌드박스 내의 제한된 드라이버 플랫폼의 드라이버 구동
Nakao et al. Toward remote service invocation in android
US20210133066A1 (en) Dynamic application decomposition for execution in a computing environment
CN102955704A (zh) 软件执行方法及其电子装置
JP7048663B2 (ja) コード実行方法、装置、レンダリングデバイス、記憶媒体、及びプログラム
KR20120017430A (ko) 사용자 터미널에서 사용가능한 어플리케이션 생성 시스템
US8739117B2 (en) Method and system for providing developer interface
CN110764779B (zh) 封装方法、注册方法、装置和渲染设备
US9411761B2 (en) Platform neutral device protocols
JP2006276939A (ja) 仮想マシンのプログラム起動方法およびクライアントサーバシステム
JP5557420B2 (ja) ウィジェットの動作制御方法
KR20140049824A (ko) 원격 응용 프로그래밍 디버깅시스템 및 그 제어방법
CN109213546B (zh) 用于windows客户端程序的登录处理方法和装置
CN102870428B (zh) Iptv终端中的方法和装置

Legal Events

Date Code Title Description
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: 20190101

Year of fee payment: 4

R401 Registration of restoration