KR102173840B1 - Method and device for excuting native features of a mobile device by using a broker - Google Patents

Method and device for excuting native features of a mobile device by using a broker Download PDF

Info

Publication number
KR102173840B1
KR102173840B1 KR1020190016136A KR20190016136A KR102173840B1 KR 102173840 B1 KR102173840 B1 KR 102173840B1 KR 1020190016136 A KR1020190016136 A KR 1020190016136A KR 20190016136 A KR20190016136 A KR 20190016136A KR 102173840 B1 KR102173840 B1 KR 102173840B1
Authority
KR
South Korea
Prior art keywords
native
word
command data
component
broker
Prior art date
Application number
KR1020190016136A
Other languages
Korean (ko)
Other versions
KR20190138263A (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 주식회사 아솔
Publication of KR20190138263A publication Critical patent/KR20190138263A/en
Application granted granted Critical
Publication of KR102173840B1 publication Critical patent/KR102173840B1/en

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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • G06F9/30174Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code

Abstract

브로커를 이용한 이동 장치의 네이티브 기능을 실행시키기 위한 방법이 개시된다. 상기 브로커를 이용한 이동 장치의 네이티브 기능을 실행시키기 위한 방법은 네이티브 기능의 실행 요구에 응답하여 웹 어플리케이션은 특수문자와 단어만으로 구성된 명령 데이터를 포함하는 메시지를 브로커로 전송하는 단계, 네이티브 컴포넌트(native component)는 상기 브로커로부터 상기 명령 데이터를 포함하는 상기 메시지를 수신하는 단계, 및 상기 네이티브 컴포넌트는 상기 네이티브 기능을 실행하기 위해 상기 수신된 메시지에 포함된 상기 명령 데이터를 해석하고, 해석된 명령 데이터에 따라 네이티브 코드를 실행하는 단계를 포함하며, 상기 명령 데이터를 해석하는 동작은 상기 특수문자 사이의 상기 단어를 추출하는 추출 동작을 실행하는 단계, 및 상기 추출된 단어의 일부를 이용하여 개발자가 작성된 단어의 의도를 추론하는 추론 동작을 실행하는 단계를 포함한다. A method for executing a native function of a mobile device using a broker is disclosed. The method for executing a native function of a mobile device using the broker is the step of transmitting a message including command data consisting of only special characters and words to the broker in response to a request for executing the native function, a native component ) Receiving the message including the command data from the broker, and the native component interprets the command data included in the received message to execute the native function, and according to the interpreted command data And executing a native code, and the operation of interpreting the command data includes executing an extraction operation of extracting the word between the special characters, and a word written by the developer using a part of the extracted word. And performing a speculative operation that infers the intention.

Description

브로커를 이용한 이동 장치의 네이티브 기능을 실행시키기 위한 방법 및 장치{Method and device for excuting native features of a mobile device by using a broker}Method and device for excuting native features of a mobile device by using a broker}

본 발명의 개념에 따른 실시 예는 브로커를 이용한 이동 장치의 네이티브 기능을 실행시키기 위한 방법 및 장치에 관한 것으로, 특히, 하이브리드 모바일 어플리케이션(hybrid mobile application)에서 브로커를 이용하여 네이티브 기능을 쉽게 구현하기 위한 방법 및 장치에 관한 것이다. An embodiment according to the concept of the present invention relates to a method and apparatus for executing a native function of a mobile device using a broker, and in particular, for easily implementing a native function using a broker in a hybrid mobile application. It relates to a method and apparatus.

모바일 앱(mobile app)은 스마트 폰(smart phone) 또는 테블릿(tablet) PC와 같은 이동 장치에서 이용되는 컴퓨터 프로그램을 의미한다. 모바일 앱은 네이티브 어플리케이션(native application), 웹 어플리케이션(web application), 및 하이브리드 모바일 어플리케이션(hybrid mobile application)으로 구분될 수 있다. 네이티브 어플리케이션은 일반적으로 컴퓨터 코드로 개발되며, 이동 장치에 구현된 프로세서에 의해 바로 실행된다. 웹 어플리케이션은 인터넷과 같은 네트워크를 웹 브라우저(web browser)를 통해 접근하는 어플리케이션이다. 웹 어플리케이션은 앱(app)처럼 보이는 모바일에 최적화된 웹페이지이다. 하이브리드 모바일 어플리케이션은 HTML5, CSS, 및 JavaScript과 같은 웹 기술들을 이용하여 작성된 어플리케이션이다. The mobile app refers to a computer program used in a mobile device such as a smart phone or a tablet PC. Mobile apps may be classified into native applications, web applications, and hybrid mobile applications. Native applications are generally developed in computer code and executed directly by a processor embodied in a mobile device. A web application is an application that accesses a network such as the Internet through a web browser. A web application is a mobile-optimized web page that looks like an app. Hybrid mobile applications are applications written using web technologies such as HTML5, CSS, and JavaScript.

웹 어플리케이션과 하이브리드 모바일 어플리케이션은 JavaScript와 HTML과 같은 웹 기반 언어들을 이용하여 개발된다. JavaScript와 HTML과 같은 웹 기반 언어들은 고차원 언어들(high level languages)이므로, 네이티브 어플리케이션과는 달리, 상기 고차원 언어들은 이동 장치의 하드웨어를 직접적으로 제어할 수 없다. 즉, 웹 어플리케이션과 하이브리드 모바일 어플리케이션은 카메라, 가속도계, 또는 GPS와 같은 이동장치의 특정 기능을 직접적으로 활용할 수 없다. Web applications and hybrid mobile applications are developed using web-based languages such as JavaScript and HTML. Web-based languages such as JavaScript and HTML are high level languages, and unlike native applications, the high-level languages cannot directly control the hardware of a mobile device. That is, web applications and hybrid mobile applications cannot directly utilize specific functions of mobile devices such as cameras, accelerometers, or GPS.

웹 어플리케이션 프로그래밍 환경과 네이티브 플랫폼 프로그래밍 환경 사이의 갭(gap)을 메우기 위해 개발자들에게 PhoneGap,Native Script,React Native과 같은 개발 툴(tool)이 제공되었다. 하지만 상기 개발 툴을 이용하기 위해 개발자들은 개발 툴의 전문적인 기능을 익혀야 했으며, 개발 툴의 전문적인 기능을 익히는데 많은 시간을 소비하여야했다. 또한, 상기 개발 툴을 네이티브 코드로 변환하는 과정에서 인터페이스가 변형되는 문제가 발생하였거나, 디자인이 자유롭게 적용될 수 없는 문제점이 있었다. 또한, 상기 개발 툴을 이용하여 이동 장치의 특정 기능을 활용하는 것은 직접적으로 네이티브 코드를 이용하여 이동 장치의 특정 기능을 활용하는 것보다 더 느리다는 단점이 있다. Development tools such as PhoneGap, Native Script, and React Native were provided to developers to fill the gap between the web application programming environment and the native platform programming environment. However, in order to use the development tool, developers had to learn the specialized functions of the development tool, and spent a lot of time learning the specialized functions of the development tool. In addition, in the process of converting the development tool into a native code, there is a problem in that an interface is deformed or a design cannot be freely applied. In addition, utilizing the specific function of the mobile device using the development tool is slower than using a specific function of the mobile device directly using native code.

또한, 종래에는 웹뷰내의 자바스크립트 API에서 네이티브 기능을 호출하였다. 종래와 같이 네이티브 기능을 호출하기 위해 개발자는 자바스크립트 API를 작성하여야만한다. 하지만, 전문적인 개발자가 아닌 디자이너가 하이브리드 모바일 어플리케이션을 개발할 경우, 디자이너는 상기 자바스크립트 API를 작성하기 위해 많은 시간을 소비하여 자바스크립트 API를 배워야 한다. 또한, 디자이너는 상기 자바스크립트 API를 기억하고 있어야하며, 복잡한 자바스크립트 API를 정확하게 사용하는 것은 쉽지 않다는 문제점이 있다. Also, in the related art, native functions were called from the JavaScript API in the web view. As in the prior art, in order to call a native function, a developer must write a JavaScript API. However, when a designer who is not a professional developer develops a hybrid mobile application, the designer must learn the JavaScript API by spending a lot of time to write the JavaScript API. In addition, there is a problem that the designer must remember the JavaScript API, and it is not easy to accurately use the complex JavaScript API.

본 발명이 이루고자 하는 기술적인 과제는 브로커를 이용하여 하이브리드 모바일 어플리케이션에서 네이티브 기능을 쉽게 구현하기 위한 방법 및 장치를 제공하는 것이다.The technical problem to be achieved by the present invention is to provide a method and apparatus for easily implementing native functions in a hybrid mobile application using a broker.

본 발명의 실시 예에 따른 브로커를 이용한 이동 장치의 네이티브 기능을 실행시키기 위한 방법은 네이티브 기능의 실행 요구에 응답하여 웹 어플리케이션은 특수문자와 단어만으로 구성된 명령 데이터를 포함하는 메시지를 브로커로 전송하는 단계, 네이티브 컴포넌트(native component)는 상기 브로커로부터 상기 명령 데이터를 포함하는 상기 메시지를 수신하는 단계, 및 상기 네이티브 컴포넌트는 상기 네이티브 기능을 실행하기 위해 상기 수신된 메시지에 포함된 상기 명령 데이터를 해석하고, 해석된 명령 데이터에 따라 네이티브 코드를 실행하는 단계를 포함한다.In the method for executing a native function of a mobile device using a broker according to an embodiment of the present invention, in response to a request for executing the native function, the web application transmits a message including command data composed of only special characters and words to the broker. , A native component receiving the message including the command data from the broker, and the native component interpreting the command data included in the received message to execute the native function, And executing the native code according to the interpreted instruction data.

본 발명의 실시 예에 따른 이동 장치는 네이티브 기능의 실행 요구에 응답하여 특수문자와 단어만으로 구성된 명령 데이터를 포함하는 메시지를 브로커로 전송하는 웹 어플리케이션, 및 상기 브로커로부터 상기 명령 데이터를 포함하는 상기 메시지를 수신하는 네이티브 컴포넌트를 포함하며, 상기 네이티브 컴포넌트는 상기 네이티브 기능을 실행하기 위해 상기 수신된 메시지에 포함된 상기 명령 데이터를 해석하고, 해석된 명령 데이터에 따라 네이티브 코드를 실행한다. The mobile device according to an embodiment of the present invention includes a web application that transmits a message including command data composed of only special characters and words to a broker in response to a request for execution of a native function, and the message including the command data from the broker. And a native component receiving, wherein the native component interprets the command data included in the received message to execute the native function, and executes a native code according to the interpreted command data.

본 발명의 실시 예에 따른 이동 장치의 네이티브 기능을 실행시키기 위한 방법 및 장치는 네이티브 기능을 실행시키기 위해 특수문자와 단어만 또는, 특수문자, 이미지, 및 단어만으로 구성된 명령 데이터를 포함하는 메시지를 브로커로 전송함으로써, 개발자는 개발 툴의 전문적인 기능을 익히는데 시간을 소비할 필요 없이 기존의 웹페이지 개발 언어를 그대로 사용하여 하이브리드 모바일 어플리케이션을 개발할 수 있는 효과가 있다.A method and apparatus for executing a native function of a mobile device according to an embodiment of the present invention provides a broker for a message including command data consisting of only special characters and words or only special characters, images, and words in order to execute the native function. By transferring to, the developer can develop a hybrid mobile application by using the existing web page development language as it is, without spending time learning the specialized functions of the development tool.

또한, 본 발명의 실시 예에 따른 이동 장치의 네이티브 기능을 실행시키기 위한 방법 및 장치는 네이티브 기능을 실행시키기 위해 특수문자와 단어만 또는, 특수문자, 이미지, 및 단어만으로 구성된 명령 데이터를 포함하는 메시지를 브로커로 전송함으로써, 전문 개발자가 아닌 사람이라도 쉽게 하이브리드 모바일 어플리케이션을 개발할 수 있는 효과가 있다. In addition, a method and apparatus for executing a native function of a mobile device according to an embodiment of the present invention is a message including command data consisting of only special characters and words or only special characters, images, and words in order to execute the native function. By transmitting the data to the broker, even a person who is not a professional developer can easily develop a hybrid mobile application.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 이동 장치의 네이티브 기능을 실행시키기 위한 시스템의 블록도를 나타낸다.
도 2는 도 1에 도시된 웹뷰에 도시되는 인터페이스의 실시 예들을 나타낸다.
도 3은 본 발명의 실시 예에 따른 이동 장치의 카메라 기능을 실행시키기 위한 시스템의 블록도를 나타낸다.
도 4는 본 발명의 실시 예에 따른 이동 장치의 GPS 기능을 실행시키기 위한 시스템의 블록도를 나타낸다.
도 5는 본 발명의 실시 예에 따른 이동 장치의 네이티브 기능을 실행시키기 위한 방법을 설명하기 위한 흐름도를 나타낸다.
도 6은 본 발명의 다른 실시 예에 따른 이동 장치의 네이티브 기능을 실행시키기 위한 방법을 설명하기 위한 흐름도를 나타낸다.
A detailed description of each drawing is provided in order to more fully understand the drawings cited in the detailed description of the present invention.
1 is a block diagram of a system for executing a native function of a mobile device according to an embodiment of the present invention.
2 shows embodiments of an interface shown in the web view shown in FIG. 1.
3 is a block diagram of a system for executing a camera function of a mobile device according to an embodiment of the present invention.
4 is a block diagram of a system for executing a GPS function of a mobile device according to an embodiment of the present invention.
5 is a flowchart illustrating a method for executing a native function of a mobile device according to an embodiment of the present invention.
6 is a flowchart illustrating a method for executing a native function of a mobile device according to another embodiment of the present invention.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present invention disclosed in the present specification are exemplified only for the purpose of describing the embodiments according to the concept of the present invention, and the embodiments according to the concept of the present invention are It may be implemented in various forms and is not limited to the embodiments described herein.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Since the embodiments according to the concept of the present invention can apply various changes and have various forms, the embodiments will be illustrated in the drawings and described in detail in the present specification. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosed forms, and includes all changes, equivalents, or substitutes included in the spirit and scope of the present invention.

제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various elements, but the elements should not be limited by the terms. The terms are only for the purpose of distinguishing one component from other components, for example, without departing from the scope of the rights according to the concept of the present invention, the first component may be referred to as the second component, and similarly The second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. Should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle. Other expressions describing the relationship between components, such as "between" and "just between" or "adjacent to" and "directly adjacent to" should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present specification are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present specification, terms such as "comprise" or "have" are intended to designate the presence of a set feature, number, step, action, component, part, or combination thereof, but one or more other features or numbers It is to be understood that the possibility of addition or presence of, steps, actions, components, parts, or combinations thereof is not preliminarily excluded.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in this specification. Does not.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.Hereinafter, the present invention will be described in detail by describing a preferred embodiment of the present invention with reference to the accompanying drawings.

도 1은 본 발명의 실시 예에 따른 이동 장치의 네이티브 기능을 실행시키기 위한 시스템의 블록도를 나타낸다. 1 is a block diagram of a system for executing a native function of a mobile device according to an embodiment of the present invention.

도 1을 참조하면, 시스템(100)은 이동 장치(10), 웹 서버(30), 및 브로커(40)를 포함한다. 이동 장치(10)는 스마트 폰, 테블릿 PC, 또는 이동 가능한 전자 제품을 의미한다. 이동 장치(10)는 카메라(11), GPS(Global Positioning System; 13), 및 NFC(Near Field Communication; 15)을 포함한다. 본 발명에서는 이동 장치(10)는 카메라(11), GPS(13), 및 NFC(15)를 포함한다 하였으나, 반드시 이에 한정되는 것은 아니다. 실시 예에 따라 이동 장치(10)는 다른 외부 하드웨어를 포함할 수 있다. Referring to FIG. 1, the system 100 includes a mobile device 10, a web server 30, and a broker 40. The mobile device 10 refers to a smart phone, a tablet PC, or a mobile electronic product. The mobile device 10 includes a camera 11, a Global Positioning System (GPS) 13, and Near Field Communication (NFC) 15. In the present invention, the mobile device 10 includes the camera 11, the GPS 13, and the NFC 15, but is not limited thereto. Depending on the embodiment, the mobile device 10 may include other external hardware.

카메라(11)는 이동 장치(10)에 구현된 것으로, 사진을 찍을 수 있는 기능을 구현할 수 있는 하드웨어를 포함한 구성요소를 의미한다. GPS(13)는 이동 장치(10)에 구현된 것으로, 이동 장치(10)의 현재 위치를 알려줄 수 있는 기능을 구현할 수 있는 하드웨어를 포함한 구성요소를 의미한다. NFC(15)는 근거리 무선 통신을 수행할 수 있는 하드웨어를 포함한 구성요소를 의미한다. The camera 11 is implemented in the mobile device 10 and refers to a component including hardware capable of implementing a function to take a picture. The GPS 13 is implemented in the mobile device 10 and refers to a component including hardware capable of implementing a function capable of notifying the current location of the mobile device 10. NFC 15 refers to a component including hardware capable of performing short-range wireless communication.

이동 장치(10)에 설치된 모바일 앱은 하이브리드 모바일 어플리케이션으로 구현된 것으로 가정한다. 본 명세서에서 웹 어플리케이션(web application; 21)은 모바일 앱을 의미한다. 이에 앞으로 모바일 앱이라는 용어 대신에 웹 어플리케이션이라는 용어를 사용한다. It is assumed that the mobile app installed on the mobile device 10 is implemented as a hybrid mobile application. In this specification, a web application (21) means a mobile app. Therefore, the term web application will be used instead of the term mobile app.

이동 장치(10)에 설치된 웹 어플리케이션(21)이 하이브리드 모바일 어플리케이션으로 구현될 때, 이동 장치(10)는 네이티브 컴포넌트(Native Component; 17), 및 웹뷰(Webview, 19)을 포함한다. When the web application 21 installed in the mobile device 10 is implemented as a hybrid mobile application, the mobile device 10 includes a native component 17 and a web view 19.

네이티브 컴포넌트(17)는 이동 장치(10)의 하드웨어의 기능을 실행하기 위한 네이티브 코드를 포함한다. 실시 예에 따라 네이티브 컴포넌트(17)는 다르게 호칭(예컨대, 네이티브)될 수 있다. The native component 17 includes native code for executing the functions of the hardware of the mobile device 10. Depending on the embodiment, the native component 17 may be called differently (eg, native).

본 명세서에서 네이티브 기능이란 이동 장치(10)의 하드웨어(예컨대, 카메라(11), GPS(13), 또는 NFC(15))의 기능(예컨대, 카메라(11)을 이용하여 사진을 찍는 동작, GPS(13)를 이용하여 현재의 위치를 파악하는 동작, NFC(15)를 이용하여 근거리 무선 통신을 수행하는 동작)을 의미한다. 네이티브 컴포넌트(17)의 자세한 동작에 대해서는 뒤에서 자세히 설명될 것이다. In this specification, the native function refers to a function of the hardware (eg, camera 11, GPS 13, or NFC 15) of the mobile device 10 (eg, an operation of taking a picture using the camera 11, GPS (13) is used to determine the current location, and NFC (15) is used to perform short-range wireless communication). Detailed operations of the native component 17 will be described in detail later.

웹뷰(19)는 하이브리드 모바일 어플리케이션으로 구현된 웹 어플리케이션(21)의 안에 구현된 브라우저(browser)를 의미한다. The web view 19 refers to a browser implemented in the web application 21 implemented as a hybrid mobile application.

웹 어플리케이션(21)은 웹 기술들(예컨대, HTML, JavaScript, CSS 등)이용하여 생성될 수 있다. The web application 21 may be generated using web technologies (eg, HTML, JavaScript, CSS, etc.).

웹 어플리케이션(21)은 네이티브 기능의 실행 요구에 응답하여 특수문자와 단어만으로 구성된 명령 데이터를 포함하는 메시지를 브로커(40)로 전송할 수 있다. 상기 네이티브 기능의 실행 요구란 이동 장치(10)의 이용자가 이동 장치(10)에 구현된 하드웨어(예컨대, 카메라(11), GPS(13), 또는 NFC(15))의 기능을 실행하기 위해 웹뷰(19)에서 특정 단어, 특정 아이콘 또는 이들의 조합을 클릭하는 행위를 의미한다. 예컨대, 상기 이용자는 이동 장치(10)의 카메라(11)을 이용하여 사진을 찍기 위해 웹뷰(19)에 구현된 단어 "카메라"를 클릭하여 네이티브 기능의 실행 요구 동작을 수행할 수 있다. The web application 21 may transmit a message including command data composed of only special characters and words to the broker 40 in response to a request for execution of a native function. The native function execution request means a web view in order for the user of the mobile device 10 to execute a function of hardware (eg, camera 11, GPS 13, or NFC 15) implemented in the mobile device 10 In (19), it refers to the act of clicking on a specific word, a specific icon, or a combination thereof. For example, the user may perform an operation requesting execution of a native function by clicking the word “camera” implemented in the web view 19 to take a picture using the camera 11 of the mobile device 10.

웹 어플리케이션(21)은 직접적으로 이동 장치(10)의 하드웨어가 네이티브 기능을 수행하도록 할 수 없으므로, 네이티브 기능을 수행하라라는 명령 데이터를 포함하는 메시지를 브로커(40)로 전송한다. 상기 명령 데이터는 특수문자와 단어만으로 구현될 수 있다. 특수문자는 "!, @, #, $, %, ^, &, *, 또는 {{, }}" 일 수 있다. 단어는 개발자가 임의로 자유롭게 정할 수 있다. 예컨대, 네이티브 기능이 카메라(11)를 온(On)시키는 동작일 때, 상기 명령 데이터는 "{{카메라}}"으로 구현될 수 있다. 또는, 상기 명령 데이터는 "{{사진 찍기}}", 또는 "{{Camera}}"일 수 있다. 즉, 상기 명령 데이터에서 단어는 개발자에 의해 임의로 작성될 수 있어, 개발자는 자바스크립트 API를 배우지 않고도 쉽게 네이티브 기능을 구현할 수 있다.Since the web application 21 cannot directly cause the hardware of the mobile device 10 to perform a native function, it transmits a message including command data to perform the native function to the broker 40. The command data may be implemented only with special characters and words. Special characters may be "!, @, #, $, %, ^, &, *, or {{, }}". The word can be freely decided by the developer. For example, when the native function is an operation of turning on the camera 11, the command data may be implemented as "{{camera}}". Alternatively, the command data may be "{{taking a picture}}" or "{{Camera}}". That is, words in the command data can be arbitrarily written by the developer, so that the developer can easily implement a native function without learning the JavaScript API.

본 명세서에서는 명령 데이터라고 정의하였으나, 실시 예에 따라 명령 데이터는 다른 용어로 호칭될 수 있다. 웹뷰(19)는 상기 네이티브 기능을 직접적으로 실행할 수 없다.Although defined herein as command data, command data may be referred to as other terms according to embodiments. The web view 19 cannot directly execute the native function.

브로커(40)는 발행(publish)-구독(subscribe) 기반의 메시지 프로토콜(protocol)인 MQTT(Message Queuing Telemetry Transport)에 이용되며, 이동 장치(10), 웹 서버(30)와 구별되는 별도의 장치이다. The broker 40 is used for MQTT (Message Queuing Telemetry Transport), which is a publish-subscribe-based message protocol, and is a separate device distinguished from the mobile device 10 and the web server 30 to be.

네이티브 컴포넌트(17)는 브로커(40)로부터 상기 명령 데이터를 포함하는 상기 메시지를 수신한다. 네이티브 컴포넌트(17)는 상기 네이티브 기능을 실행하기 위해 상기 수신된 메시지에 포함된 상기 명령 데이터를 해석한다. 즉, 네이티브 컴포넌트(17)는 상기 명령 데이터가 무슨 동작을 실행하라는 명령인지 해석한다. 구체적으로, 네이티브 컴포넌트(17)는 특수문자 사이의 단어를 추출하는 추출 동작을 실행하고, 추출된 단어를 데이터베이스(미도시)에 저장된 단어와 관련이 있는지 판단하는 판단 동작을 실행한다. 상기 명령 데이터를 해석하는 동작은 상기 추출 동작과 상기 판단 동작을 포함한다. 네이티브 컴포넌트(17)는 상기 추출된 단어와 관련있는 상기 데이터베이스의 단어와 대응되는 네이티브 코드를 실행한다. 예컨대, 상기 명령 데이터가 "{{사진 찍기}}"일 때, 네이티브 컴포넌트(17)는 특수문자 사이의 "사진 찍기"를 추출하고, 추출된 "사진 찍기"를 상기 데이터베이스에 저장된 단어인 "Camera On"와 관련이 있는지 판단하며, 상기 추출된 단어인 "사진 찍기"와 관련있는 상기 데이터베이스의 단어인 "Camera On"와 대응되는 네이티브 코드를 실행한다. 상기 데이터베이스는 네이티브 코드들과, 상기 네이티브 코드들과 대응되는 단어들을 테이블 형태로 저장한다. 또한, 상기 데이터베이스에 저장된 상기 네이티브 코드들과 대응되는 단어들은 네이티브 컴포넌트(17)에서 추출된 단어와 관련이 있다. 관련이 있다는 것은 추출된 단어와 상기 데이터베이스에 저장된 단어가 서로 대응됨을 의미한다. 예컨대, 상기 데이터베이스에 저장된 상기 네이티브 코드들과 대응되는 단어가 "Camera On"일 때, "Camera On"은 네이티브 컴포넌트(17)에서 추출될 수 있는 단어인 "카메라", "사진 찍기", 또는 "사진 촬영" 등과 사전에 약속에 의해 관련되어 있다, 또는 서로 대응된다고 가정한다. 즉, 네이티브 컴포넌트(17)에서 추출될 수 있는 단어들, 네이티브 코드들, 및 상기 네이티브 코드들과 대응되는 단어들은 테이블 형태로 저장된다. The native component 17 receives the message including the command data from the broker 40. Native component 17 interprets the command data contained in the received message to execute the native function. In other words, the native component 17 interprets the instruction data to be an instruction to execute what operation. Specifically, the native component 17 performs an extraction operation for extracting words between special characters, and a determination operation for determining whether the extracted word is related to a word stored in a database (not shown). The operation of interpreting the command data includes the extraction operation and the determination operation. The native component 17 executes a native code corresponding to a word in the database related to the extracted word. For example, when the command data is "{{take a picture}}", the native component 17 extracts the "take a picture" between special characters, and the extracted "take a picture" is a word stored in the database, "Camera. It is determined whether it is related to "On", and executes the native code corresponding to the word "Camera On" in the database related to the extracted word "taking a picture". The database stores native codes and words corresponding to the native codes in the form of a table. In addition, words corresponding to the native codes stored in the database are related to words extracted from the native component 17. The relationship means that the extracted word and the word stored in the database correspond to each other. For example, when a word corresponding to the native codes stored in the database is "Camera On", "Camera On" is a word that can be extracted from the native component 17, "Camera", "Taking a picture", or " It is assumed that they are related by appointment in advance, such as "taking a picture", or they correspond to each other. That is, words that can be extracted from the native component 17, native codes, and words corresponding to the native codes are stored in the form of a table.

네이티브 컴포넌트(17)에서 추출될 수 있는 단어인 "카메라", "사진 찍기", 또는 "사진 촬영"은 개발자에 의해 임의로 작성될 수 있는 단어이다. Words that can be extracted from the native component 17, "camera", "take a picture", or "take a picture" are words that can be arbitrarily written by a developer.

실시 예에 따라 네이티브 컴포넌트(17)는 특수문자 사이의 단어를 추출하는 추출 동작을 실행하고, 추출된 단어의 일부를 이용하여 개발자가 작성된 단어의 의도를 추론하는 추론 동작을 실행할 수 있다. 상기 명령 데이터를 해석하는 동작은 상기 추출 동작과 상기 추론 동작을 포함한다. 예컨대, 상기 명령 데이터가 "{{풍경 촬영}}"일 때, 네이티브 컴포넌트(17)는 특수문자 사이의 “풍경 촬영”라는 단어를 추출하고, 추출된 단어를 이용하여 상기 데이터베이스에 저장된 단어인 "Camera On"와 관련 있는 것으로 “풍경 촬영”라는 단어의 의도를 추론할 수 있다. 상기 데이터베이스에 저장된 단어(예컨대,“Camera On")와 개발자에 의해 작성될 단어(예컨대,“풍경 촬영")를 모두 미리 약속에 의해 연관시킬 수 없다. 즉, 개발자에 의해 작성될 단어 모두는 상기 데이터베이스에 저장된 단어와 테이블 형태로 저장될 수 없다. 개발자에 의해 작성될 단어는 다양할 수 있기 때문이다. 이 때, 개발자에 의해 작성된 단어는 상기 데이터베이스에 저장된 단어와 관련이 있는지 판단하기 어렵다. 추출된 단어“풍경 촬영"과 연관된 데이터베이스에 저장된 단어는 없지만, 추출된 단어“풍경 촬영"에서“촬영"이라는 단어의 일부를 이용하여 단어의 의도를 추론할 수 있다. 상기 데이터베이스는 네이티브 코드들과, 상기 네이티브 코드들과 대응되는 단어들을 테이블 형태로 저장한다. 또한, 네이티브 컴포넌트(17)에서 추출된 단어의 일부는 상기 데이터베이스에 저장된 상기 네이티브 코드들과 대응되는 단어와 관련이 있다. 즉, 네이티브 컴포넌트(17)에서 추출된 단어의 일부는 상기 데이터베이스에 저장된 상기 네이티브 코드들과 대응되는 단어와 서로 대응된다. According to an embodiment, the native component 17 may perform an extraction operation for extracting words between special characters, and may perform an inference operation for inferring an intention of a word written by a developer using a part of the extracted words. The operation of interpreting the command data includes the extraction operation and the inference operation. For example, when the command data is "{{landscape shooting}}", the native component 17 extracts the word "landscape shooting" between special characters, and uses the extracted word to extract a word stored in the database. As it relates to "Camera On", the intention of the word "landscape photography" can be deduced. Both the word stored in the database (eg, “Camera On”) and the word to be written by the developer (eg, “Landscape”) cannot be associated by appointment in advance. That is, all of the words to be written by the developer cannot be stored in the form of words and tables stored in the database. This is because the words to be written by the developer can vary. In this case, it is difficult to determine whether the word written by the developer is related to the word stored in the database. There is no word stored in the database associated with the extracted word “landscape shooting”, but the intention of the word can be inferred by using a part of the word “shooting” from the extracted word “landscape shooting.” , Words corresponding to the native codes are stored in the form of a table In addition, some of the words extracted from the native component 17 are related to words corresponding to the native codes stored in the database. Some of the words extracted from the component 17 correspond to words corresponding to the native codes stored in the database.

추론이라함은 "풍경 촬영"이라는 단어에서 추출된 단어인 "촬영"이라는 단어는 네이티브 코드와 대응되는 상기 데이터베이스에 저장된 단어인 "Camera On"과 관련이 있는 것(또는 서로 대응되는 것)으로 판단하는 것을 의미한다. "Camera On"과 관련 있는 것으로 단어의 의도를 추론한 후, 네이티브 컴포넌트(17)는 "Camera On"과 대응되는 네이티브 코드를 실행한다. 상기 네이티브 코드를 실행하면 카메라(11)를 키는 네이티브 기능이 실행된다. Inference means that the word "shooting", which is a word extracted from the word "landscape shooting", is determined to be related (or correspond to each other) with the word "Camera On" stored in the database corresponding to the native code. Means to do. After inferring the intention of the word to be related to “Camera On”, the native component 17 executes the native code corresponding to “Camera On”. When the native code is executed, the native function of turning on the camera 11 is executed.

또 다른 실시 예에 따라 네이티브 컴포넌트(17)는 특수문자 사이의 단어를 추출하는 추출 동작을 실행하고, 웹뷰(19)에 표시된 문구들을 분석하여 개발자가 작성된 단어의 의도를 추론하는 추론 동작을 실행할 수 있다. 추론이라함은 상기 추출 동작에 의해 추출된 단어가 상기 데이터베이스에 저장된 단어와 관련이 있는 것으로 판단하는 것을 의미한다. 즉, 상기 추론 동작은 상기 추출 동작에 의해 추출된 단어가 상기 데이터베이스에 저장된 단어와 서로 대응되는지 판단하는 것을 의미한다.According to another embodiment, the native component 17 may perform an extraction operation for extracting words between special characters, analyze phrases displayed on the web view 19, and execute an inference operation for inferring the intention of the word written by the developer. have. Inference means determining that the word extracted by the extraction operation is related to the word stored in the database. That is, the reasoning operation means determining whether a word extracted by the extraction operation corresponds to a word stored in the database.

예컨대, 상기 명령 데이터가“{{사진}}"일 때, 네이티브 컴포넌트(17)는 특수문자 사이의“사진”라는 단어를 추출한다. 웹뷰(19)에 표시되는 문구가“카메라로 사진을 찍어 사진을 이쁘게 꾸며보세요”라는 문구가 있을 때, 네이티브 컴포넌트(17)는 추출된 단어“사진"에 대해 상기 데이터베이스에 저장된 단어인 "Camera On"와 관련 있는 것으로“사진”라는 단어의 의도를 추론할 수 있다. 즉, 웹뷰(19)에 특정 단어(예컨대, 카메라)가 일정 단어 이상 검색되는 경우, 네이티브 컴포넌트(17)는 추출된 단어“사진”에 대해 상기 데이터베이스에 저장된 단어인 "Camera On"와 관련 있는 것(또는 서로 대응되는 것)으로“사진”라는 단어의 의도를 추론할 수 있다. For example, when the command data is “{{photo}}”, the native component 17 extracts the word “photo” between special characters, and the phrase displayed on the web view 19 is “take a photo with a camera and take a photo. When there is a phrase "make your photos beautiful", the native component 17 can infer the intention of the word "photo" as being related to the word "Camera On" stored in the database for the extracted word "photo". I can. That is, when a specific word (eg, camera) is searched for more than a certain word in the web view 19, the native component 17 is related to the word “Camera On” stored in the database for the extracted word “photo”. You can deduce the intention of the word “photo” from (or correspond to each other).

반면, 웹뷰(19)에 표시되는 문구가“사진첩에 저장된 사진을 이용하여 사진을 이쁘게 꾸며보세요”라는 문구가 있을 때, 웹뷰(19)에 특정 단어(예컨대, 사진첩, 또는 갤러리)가 일정 단어 이상 검색되는지를 카운트한다. 상기 카운트된 특정 단어가 일정 단어 이상 검색되는 경우, 네이티브 컴포넌트(17)는 추출된 단어“사진"에 대해 상기 데이터베이스에 저장된 단어인 "Pickup Photo"와 관련 있는 것(또는 서로 대응되는 것)으로“사진”라는 단어의 의도를 추론할 수 있다.“Pickup Photo"와 관련 있는 것(또는 서로 대응되는 것)으로 단어의 의도를 추론한 후, 네이티브 컴포넌트(17)는 "Pickup Photo"과 대응되는 네이티브 코드를 실행한다. 상기 네이티브 코드를 실행하면 이동 장치(10)의 저장공간(미도시)에 저장된 이미지를 불러오는 네이티브 기능이 실행된다. On the other hand, when the phrase displayed on the web view 19 is “Please decorate your photos beautifully using photos stored in the photo album”, a specific word (eg, a photo book or gallery) in the web view 19 is more than a certain word. Count whether it is searched. When the counted specific word is searched for more than a certain word, the native component 17 refers to the extracted word “photo” as “Pickup Photo”, which is a word stored in the database (or corresponds to each other). The intention of the word “photo” can be deduced. After inferring the intention of the word as something related to (or corresponding to each other) “Pickup Photo”, the native component 17 Run the code. When the native code is executed, a native function for loading an image stored in a storage space (not shown) of the mobile device 10 is executed.

실시 예에 따라, 웹뷰(19)에 특정 단어(예컨대, 카메라)가 일정 단어 이하로 검색되는 경우, 네이티브 컴포넌트(17)는 추출된 단어“사진”에 대해 상기 데이터베이스에 저장된 단어인 "Pickup Photo"와 관련 있는 것(또는 서로 대응되는 것)으로 “사진”라는 단어의 의도를 추론할 수 있다.According to an embodiment, when a specific word (eg, a camera) is searched for less than a certain word in the web view 19, the native component 17 is a word stored in the database for the extracted word “photo”, “Pickup Photo”. The intention of the word “photo” can be deduced from things that are related to (or correspond to each other).

또 다른 실시 예에 따라 네이티브 컴포넌트(17)는 네이티브 컴포넌트(17)는 특수문자 사이의 단어를 추출하는 추출 동작을 실행하고, 추출된 단어 순서를 분석하여 개발자가 작성된 단어의 의도를 추론하는 추론 동작을 실행할 수 있다. 추론이라함은 상기 추출 동작에 의해 추출된 단어가 상기 데이터베이스에 저장된 단어와 관련이 있는 것으로 판단하는 것을 의미한다. 즉, 상기 추론 동작은 상기 추출 동작에 의해 추출된 단어가 상기 데이터베이스에 저장된 단어와 서로 대응지 판단하는 것을 의미한다.According to another embodiment, the native component 17 performs an extraction operation for extracting words between special characters, and an inference operation for inferring the intention of the word written by the developer by analyzing the extracted word order. Can run. Inference means determining that the word extracted by the extraction operation is related to the word stored in the database. That is, the reasoning operation means determining whether a word extracted by the extraction operation corresponds to a word stored in the database.

예컨대, 개발자가 작성한 단어가 "사진 찍기, 또는 찍은 사진"일 때, "사진"이라는 단어를 기준으로, 앞에 단어가 있는지, 뒤에 단어가 있는지로 추출된 단어의 의도를 추론할 수 있다. "사진"이라는 단어 앞에 다른 단어가 존재할 때, 네이티브 컴포넌트(17)는 상기 데이터베이스에 저장된 단어인 "Pickup Photo"와 관련 있는 것(또는 서로 대응되는 것)으로 단어의 의도를 추론할 수 있다. "사진"이라는 단어 뒤에 다른 단어가 존재할 때, 네이티브 컴포넌트(17)는 "Camera On"와 관련 있는 것(또는 서로 대응되는 것)으로“사진”라는 단어의 의도를 추론할 수 있다. "Camera On"와 관련 있는 것(또는 서로 대응되는 것)으로 단어의 의도를 추론한 후, 네이티브 컴포넌트(17)는 "Camera On"과 대응되는 네이티브 코드를 실행한다.For example, when the word written by the developer is "taking a picture or a picture taken", the intention of the extracted word may be inferred based on the word "photo" based on whether there is a word in front or a word in the back. When another word exists in front of the word “photo”, the native component 17 may infer the intention of the word as something related (or corresponding to each other) with “Pickup Photo”, which is a word stored in the database. When another word exists after the word “photo”, the native component 17 may infer the intention of the word “photo” as something related to (or correspond to each other) “Camera On”. After inferring the intention of the word as something related to (or corresponding to) "Camera On", the native component 17 executes the native code corresponding to "Camera On".

실시 예에 따라 상기 명령 데이터는 특수문자, 이미지, 및 단어만으로 구현될 수 있다. 예컨대, 상기 명령 데이터는 "{{ <img src='/native/camera/image.a.jpeg'> 사진 찍기}}"일 수 있다. According to an embodiment, the command data may be implemented only with special characters, images, and words. For example, the command data may be "{{ <img src='/native/camera/image.a.jpeg'> take a picture}}".

도 2는 도 1에 도시된 웹뷰에 도시되는 인터페이스의 실시 예들을 나타낸다. 2 shows embodiments of an interface shown in the web view shown in FIG. 1.

도 1과 도 2를 참조하면, 웹뷰(19)에는 네이티브 기능을 실행하기 위해 도 2에서와 같이 다양하게 단어와 이미지(또는 아이콘)가 사용될 수 있다. 즉, 웹뷰(19)에 "사진"이라는 같은 단어가 사용되더라도 사용된 이미지에 따라 카메라를 온(On)시키라는 의도인지, 이동 장치(10)에 저장된 사진을 불러오라는 의도인지 달라진다. 상기 명령 데이터가 특수문자, 이미지, 및 단어만으로 구현될 때, 네이티브 컴포넌트(17)는 특수문자 사이의 단어와 이미지를 추출하는 추출 동작을 실행하고, 상기 추출된 이미지를 읽는 리드 동작, 및 상기 추출된 단어와 상기 읽은 이미지를 분석하여 단어의 의도를 추론하는 추론 동작을 실행할 수 있다. 상기 명령 데이터를 해석하는 동작은 상기 추출 동작, 상기 리드 동작, 및 상기 추론 동작을 포함한다. 추론이라함은 상기 추출 동작에 의해 추출된 단어가 상기 데이터베이스에 저장된 단어와 관련이 있는 것으로 판단하는 것을 의미한다. 즉, 상기 추론 동작은 상기 추출 동작에 의해 추출된 단어가 상기 데이터베이스에 저장된 단어와 서로 대응지 판단하는 것을 의미한다.Referring to FIGS. 1 and 2, various words and images (or icons) may be used in the web view 19 as in FIG. 2 to execute a native function. That is, even if the word "photo" is used in the web view 19, whether the intention is to turn on the camera or to load a picture stored in the mobile device 10 depends on the image used. When the command data is implemented only with special characters, images, and words, the native component 17 performs an extraction operation of extracting words and images between special characters, a read operation of reading the extracted image, and the extraction An inference operation for inferring the intention of the word may be performed by analyzing the resultant word and the read image. The operation of interpreting the command data includes the extraction operation, the read operation, and the inference operation. Inference means determining that the word extracted by the extraction operation is related to the word stored in the database. That is, the reasoning operation means determining whether a word extracted by the extraction operation corresponds to a word stored in the database.

예컨대, 상기 명령 데이터가 "{{<img src='/native/camera/image.a.jpeg'> 사진}}"일 때, 네이티브 컴포넌트(17)는 특수문자 사이의 단어("사진")와 이미지(<img src='/native/camera/image.a.jpeg'>")를 추출하는 추출 동작을 실행한다. 네이티브 컴포넌트(17)는 추출된 이미지("<img src='/native/camera/image.a.jpeg'>")를 읽는 리드 동작을 실행한다. 예컨대, 도 2에서와 같이 추출된 단어는 "사진"이고, 추출된 이미지는 다양할 수 있다. 네이티브 컴포넌트(17)는 상기 추출된 단어("사진")와 상기 읽은 이미지("<img src='/native/camera/image.a.jpeg'>")를 분석하여 단어의 의도를 추론하는 추론 동작을 실행할 수 있다. 도 2a, 또는 도 2b에서와 같이 상기 단어가 "사진"이고, 이미지가 사각형, 또는 칠각형을 포함하고, 사각형, 또는 칠각형 안에 원, 또는 타원을 포함할 때, 네이티브 컴포넌트(17)는 상기 데이터베이스에 저장된 단어인 "Camera On"와 관련 있는 것(또는 서로 대응되는 것)으로“사진”라는 단어의 의도를 추론할 수 있다. "Camera On"와 관련 있는 것으로 단어의 의도를 추론한 후, 네이티브 컴포넌트(17)는 "Camera On"과 대응되는 네이티브 코드를 실행한다.For example, when the command data is "{{<img src='/native/camera/image.a.jpeg'> photo}}", the native component 17 includes words between special characters ("photo") and An extraction operation to extract an image (<img src='/native/camera/image.a.jpeg'>") is executed. The native component 17 is the extracted image ("<img src='/native/camera). /image.a.jpeg'>") is read. For example, as shown in Fig. 2, the extracted word is "photo", and the extracted image may be various. The native component 17 is described above. By analyzing the extracted word ("photo") and the read image ("<img src='/native/camera/image.a.jpeg'>"), it is possible to perform an inference operation to infer the intention of the word. 2A or 2B, when the word is "photo", the image contains a square or heptagon, and contains a circle, or an ellipse within the square, or heptagon, the native component 17 is stored in the database. The intention of the word “photo” can be deduced from something related to (or corresponding to) the word “Camera On.” After inferring the intention of the word to be related to “Camera On,” the native component ( 17) executes the native code corresponding to "Camera On".

반면, 도 2c, 또는 도 2d에서와 같이 상기 단어가 "사진"이고, 이미지가 사각형을 포함하고, 사각형 안에 원, 또는 타원을 포함하지 않거나, 원, 또는 타원 이외에 다른 도형을 포함할 때, 네이티브 컴포넌트(17)는 "Pickup Photo"와 관련 있는 것(또는 서로 대응되는 것)으로 단어의 의도를 추론할 수 있다.“Pickup Photo"와 관련 있는 것으로 단어의 의도를 추론한 후, 네이티브 컴포넌트(17)는 "Pickup Photo"과 대응되는 네이티브 코드를 실행한다.On the other hand, as in FIG. 2C or 2D, when the word is “photo”, the image includes a rectangle, and does not include a circle or an ellipse in the rectangle, or includes a shape other than a circle or an ellipse, the native The component 17 may infer the intention of the word as being related to (or corresponding to each other) "Pickup Photo". After inferring the intention of the word as being related to "Pickup Photo", the native component 17 ) Executes the native code corresponding to "Pickup Photo".

네이티브 컴포넌트(17)는 해석된 명령 데이터에 따라 네이티브 코드를 실행하고, 실행된 네이티브 코드에 따라 상기 네이티브 기능이 실행된다.The native component 17 executes native code according to the interpreted instruction data, and executes the native function according to the executed native code.

명령 데이터를 특수문자와 단어만, 또는 특수문자, 이미지, 및 단어만으로 구현함으로써, 웹 어플리케이션(21)의 개발자는 개발 툴의 전문적인 기능을 익히는데 시간을 소비할 필요 없이 기존의 웹페이지 개발 언어(예컨대, HTML, JavaScript, CSS 등)를 그대로 사용하여 웹 어플리케이션(21)을 개발할 수 있다. By implementing command data only with special characters and words, or only special characters, images, and words, the developer of the web application 21 does not need to spend time learning the specialized functions of the development tool, (Eg, HTML, JavaScript, CSS, etc.) can be used as it is to develop the web application 21.

웹 서버(30)는 HTTP를 통해 요구를 처리하는 컴퓨터 시스템이다. 웹 서버(30)는 상기 네이티브 기능의 실행에 따라 얻어지는 출력의 정보를 수신한다. 예컨대, 웹 서버(30)는 카메라(11)의 동작에 따라 얻어지는 사진의 정보를 수신하거나, GPS(13)의 동작에 따라 얻어지는 이동 장치(10)의 현재 위치의 정보를 수신한다. The web server 30 is a computer system that processes requests through HTTP. The web server 30 receives output information obtained according to the execution of the native function. For example, the web server 30 receives photo information obtained by the operation of the camera 11 or receives information on the current location of the mobile device 10 obtained by the operation of the GPS 13.

도 3은 본 발명의 실시 예에 따른 이동 장치의 카메라 기능을 실행시키기 위한 시스템의 블록도를 나타낸다. 3 is a block diagram of a system for executing a camera function of a mobile device according to an embodiment of the present invention.

도 3을 참조하면, ①이용자는 이동 장치(10)의 카메라(11)을 이용하여 사진을 찍기 위해 웹뷰(19)에 구현된 단어 "카메라"를 클릭하여 네이티브 기능의 실행 요구 동작을 수행한다. 웹 어플리케이션(21)은 네이티브 기능의 실행 요구에 응답하여 특수문자와 단어만으로 구성된 명령 데이터를 포함하는 메시지를 브로커(40)로 전송할 수 있도록 사전에 약속할 수 있다. 예컨대, 상기 명령 데이터가 "{{카메라}}"일 때, 웹 어플리케이션(21)은 상기 명령 데이터를 포함하는 메시지를 브로커(40)로 전송한다. Referring to FIG. 3, ① the user clicks the word "camera" implemented in the web view 19 to take a picture using the camera 11 of the mobile device 10 to perform an execution request operation of the native function. The web application 21 may promise in advance to transmit a message including command data composed of only special characters and words to the broker 40 in response to a request for execution of a native function. For example, when the command data is "{{camera}}", the web application 21 transmits a message including the command data to the broker 40.

웹 어플리케이션(21)은 비동기 통신을 통해 PHP 프로그램을 호출하여 동작시키고, 상기 PHP 프로그램은 소켓 통신을 통해 명령 데이터를 포함하는 메시지를 브로커(40)로 전달한다. The web application 21 calls and operates a PHP program through asynchronous communication, and the PHP program delivers a message including command data to the broker 40 through socket communication.

②브로커(40)는 네이티브 컴포넌트(17)로 상기 명령 데이터를 포함하는 상기 메시지를 전송한다. ② The broker 40 transmits the message including the command data to the native component 17.

③네이티브 컴포넌트(17)는 상기 네이티브 기능을 실행하기 위해 상기 수신된 명령 데이터를 해석하고, 해석된 명령 데이터에 따라 네이티브 코드를 실행한다. 실행된 네이티브 코드에 따라 카메라(11)에 의해 사진 파일이 생성된다.(3) The native component 17 interprets the received instruction data to execute the native function, and executes the native code according to the interpreted instruction data. A photo file is generated by the camera 11 according to the executed native code.

④네이티브 컴포넌트(17)는 상기 사진 파일을 웹 서버(30)로 전송할 수 있다. ④ The native component 17 may transmit the photo file to the web server 30.

⑤네이티브 컴포넌트(17)는 상기 사진 파일의 정보를 웹뷰(19)를 통해 웹 어플리케이션(21)로 콜백(callback)할 수 있다. 상기 사진 파일의 정보란 사진 파일의 형식, 사이즈, 해상도 및 생성 날짜를 포함한다. ⑤ The native component 17 may call back the information of the photo file to the web application 21 through the web view 19. The information of the photo file includes the format, size, resolution, and creation date of the photo file.

⑥웹 어플리케이션(21)은 웹 서버(30)에 저장하기 위해 상기 사진 파일의 정보를 웹 서버(30)로 전송할 수 있다. ⑥ The web application 21 may transmit the information of the photo file to the web server 30 for storage in the web server 30.

도 4는 본 발명의 실시 예에 따른 이동 장치의 GPS 기능을 실행시키기 위한 시스템의 블록도를 나타낸다. 4 is a block diagram of a system for executing a GPS function of a mobile device according to an embodiment of the present invention.

도 4를 참조하면, ①이용자는 이동 장치(10)의 GPS(13)을 이용하여 이동 장치(10)의 현재 위치를 알기 위해 웹 어플리케이션(21)에 구현된 단어 GPS를 클릭하여 네이티브 기능의 실행 요구 동작을 수행한다. 웹 어플리케이션(21)은 네이티브 기능의 실행 요구에 응답하여 특수문자와 단어만으로 구성된 명령 데이터를 포함하는 메시지를 브로커(40)로 전송할 수 있다. 예컨대, 상기 명령 데이터는 "{{GPS}}"일 수 있다. Referring to FIG. 4, ① a user clicks the word GPS implemented in the web application 21 to know the current location of the mobile device 10 using the GPS 13 of the mobile device 10 to execute the native function. Perform the requested action. The web application 21 may transmit a message including command data composed of only special characters and words to the broker 40 in response to a request for execution of a native function. For example, the command data may be "{{GPS}}".

②브로커(40)는 네이티브 컴포넌트(17)로 상기 명령 데이터를 포함하는 상기 메시지를 전송한다. ② The broker 40 transmits the message including the command data to the native component 17.

③네이티브 컴포넌트(17)는 상기 네이티브 기능을 실행하기 위해 상기 명령 데이터를 해석하고, 해석된 명령 데이터에 따라 네이티브 코드를 실행한다. 실행된 네이티브 코드에 따라 GPS(13)에 의해 현재 위치의 정보가 생성된다.(3) The native component 17 interprets the instruction data to execute the native function, and executes the native code according to the interpreted instruction data. Information of the current location is generated by the GPS 13 according to the executed native code.

④네이티브 컴포넌트(17)는 웹 서버(30)에 저장하기 위해 상기 현재 위치의 정보를 웹 서버(30)로 전송할 수 있다. ④ The native component 17 may transmit the information of the current location to the web server 30 for storage in the web server 30.

도 5는 본 발명의 실시 예에 따른 이동 장치의 네이티브 기능을 실행시키기 위한 방법을 설명하기 위한 흐름도를 나타낸다. 5 is a flowchart illustrating a method for executing a native function of a mobile device according to an embodiment of the present invention.

도 1과 도 5를 참조하면, 웹 어플리케이션(19)은 네이티브 기능의 실행 요구에 응답하여 특수문자와 단어만, 또는 특수문자, 이미지, 및 단어만으로 구성된 명령 데이터를 포함하는 메시지를 브로커(40)로 전송한다(S100). 1 and 5, in response to a request for executing a native function, the web application 19 sends a message including command data consisting of only special characters and words, or only special characters, images, and words, to the broker 40 It is transmitted to (S100).

네이티브 컴포넌트(17)는 브로커(40)로부터 상기 명령 데이터를 포함하는 상기 메시지를 수신한다(S200). The native component 17 receives the message including the command data from the broker 40 (S200).

상기 네이티브 컴포넌트(17)는 상기 네이티브 기능을 실행하기 위해 상기 수신된 메시지에 포함된 상기 명령 데이터를 해석하고, 해석된 명령 데이터에 따라 네이티브 코드를 실행한다(S300).The native component 17 interprets the command data included in the received message to execute the native function, and executes a native code according to the interpreted command data (S300).

도 6은 본 발명의 다른 실시 예에 따른 이동 장치의 네이티브 기능을 실행시키기 위한 방법을 설명하기 위한 흐름도를 나타낸다. 6 is a flowchart illustrating a method for executing a native function of a mobile device according to another embodiment of the present invention.

도 1 내지 도 3, 및 도 6을 참고하면, 실시 예에 따라 웹 어플리케이션(21)은 광고와 같은 다른 웹사이트의 내용도 웹뷰(19)에 표시하도록 구현될 수 있다. 즉, 웹뷰(19)에는 웹 어플리케이션(21)의 내용뿐만 아니라 광고와 같은 다른 웹사이트의 내용도 함께 표시될 수 있다. 상기 다른 웹사이트는 웹 어플리케이션(21)을 구현한 개발자가 아니라 제3자에 의해 구현된 사이트를 의미한다. Referring to FIGS. 1 to 3 and 6, according to an embodiment, the web application 21 may be implemented to display content of other web sites such as advertisements on the web view 19. That is, the web view 19 may display not only the content of the web application 21 but also the content of other web sites such as advertisements. The other website refers to a website implemented by a third party, not a developer implementing the web application 21.

상기 다른 웹사이트도 네이티브 기능이 실행되도록 구현될 수 있다. 즉, 이동 장치(10)의 이용자는 웹뷰(19)에 표시된 상기 다른 웹사이트의 특정 단어, 특정 아이콘, 또는 이들의 조합을 클릭하여 이동 장치(10)의 카메라(11), GPS (13), 또는 NFC(15)의 기능의 실행 요구 동작을 수행할 수 있다. The other websites may also be implemented to execute native functions. That is, the user of the mobile device 10 clicks a specific word, a specific icon, or a combination of the other website displayed on the web view 19, and the camera 11, the GPS 13, and the mobile device 10 Alternatively, an operation requesting execution of the function of the NFC 15 may be performed.

이 때, 상기 다른 웹사이트는 웹 어플리케이션(21)을 구현한 개발자가 아니기 때문에 신뢰하기 어렵다. 예컨대, 상기 다른 웹사이트에서 표시된 특정 단어, 특정 아이콘, 또는 이들의 조합이 클릭됨으로써 이동 장치(10)의 내부에 구현된 연락처가 해킹될 수 있다. At this time, since the other website is not a developer who implemented the web application 21, it is difficult to trust. For example, by clicking on a specific word, a specific icon, or a combination thereof displayed on the other website, a contact information implemented in the mobile device 10 may be hacked.

이러한 상기 다른 웹사이트의 네이티브 기능의 실행으로 인한 이동 장치(10)의 해킹을 방지하기 위해 다음과 같은 방법이 제안될 수 있다. In order to prevent hacking of the mobile device 10 due to the execution of the native function of the other website, the following method may be proposed.

웹 어플리케이션(21)의 개발자에 의해 구현된 네이티브 기능이 아니라 상기 개발자가 아닌 제3자의 웹사이트에서 구현된 네이티브 기능의 실행 요구가 있을 때, 웹 어플리케이션(21)은 먼저 플래그 값에 임의의 값이 설정되었는지 검사한다(S10000). 상기 제3자의 웹사이트는 웹 어플리케이션(21)을 구현한 개발자가 아니라 제3자에 의해 구현된 사이트로 웹 어플리케이션(21)에 의해 웹뷰(19)에서 상기 제3자의 웹사이트의 내용이 표시되도록 구현된 사이트를 의미한다. When there is a request to execute a native function implemented on a website of a third party other than the developer rather than a native function implemented by the developer of the web application 21, the web application 21 first sets an arbitrary value to the flag value. It checks whether it is set (S10000). The website of the third party is a website implemented by a third party, not the developer who implemented the web application 21, so that the contents of the website of the third party are displayed in the web view 19 by the web application 21. It means the implemented site.

상기 플래그 값에 임의의 값이 설정되었을 때, 웹 어플리케이션(21)은 네이티브 컴포넌트(17)가 상기 제3자의 웹사이트에서 구현된 네이티브 기능을 실행하도록 허락할 수 있다. 네이티브 컴포넌트(17)는 상기 제3자의 웹사이트에서 구현된 네이티브 기능을 실행한다(S50000). When an arbitrary value is set for the flag value, the web application 21 may allow the native component 17 to execute a native function implemented in the third party's website. The native component 17 executes a native function implemented in the third party's website (S50000).

실시 예에 따라 웹 어플리케이션(21)의 개발자에 의해 구현된 네이티브 기능이 아니라 상기 개발자가 아닌 제3자의 웹사이트에서 구현된 네이티브 기능의 실행 요구가 있을 때, 웹 어플리케이션(21)은 상기 제3자의 웹사이트의 평균 방문 횟수를 카운트할 수 있다. 또한, 실시 예에 따라 상기 플래그 값에 임의의 값이 설정되지 않았을 때, 웹 어플리케이션(21)은 상기 제3자의 웹사이트의 평균 방문 횟수를 카운트할 수 있다(S20000). 상기 평균 방문 횟수는 일 평균 방문 횟수, 1주일 평균 방문 횟수, 1달 평균 방문 횟수, 또는 연 평균 방문 횟수일 수 있다. 상기 제3자의 웹사이트의 내용은 웹뷰(19)에 표시되는 광고일 수 있다. According to an embodiment, when there is a request to execute a native function implemented on a website of a third party other than the developer, not a native function implemented by the developer of the web application 21, the web application 21 You can count the average number of visits to your website. In addition, according to an embodiment, when an arbitrary value is not set for the flag value, the web application 21 may count the average number of visits to the website of the third party (S20000). The average number of visits may be an average number of visits per day, an average number of visits per week, an average number of visits per month, or an average number of visits per year. The content of the third party's website may be an advertisement displayed on the web view 19.

웹 어플리케이션(21)은 상기 카운트된 평균 방문 횟수가 미리 결정된 값을 넘는지 비교한다(S30000). 상기 미리 결정된 값은 임의로 설정될 수 있다. 상기 카운트된 평균 방문 횟수가 상기 미리 결정된 값을 넘을 때, 상기 제3자의 웹사이트는 많은 사람들이 방문하는 사이트로 신뢰할 수 있다. The web application 21 compares whether the counted average number of visits exceeds a predetermined value (S30000). The predetermined value may be arbitrarily set. When the counted average number of visits exceeds the predetermined value, the third party's website can be trusted as a site visited by many people.

또한, 상기 카운트된 평균 방문 횟수가 상기 미리 결정된 값을 넘을 때, 웹 어플리케이션(21)은 네이티브 컴포넌트(17)가 상기 제3자의 웹사이트에서 구현된 네이티브 기능을 실행하도록 허락할 수 있다. 네이티브 컴포넌트(17)는 상기 제3자의 웹사이트에서 구현된 네이티브 기능을 실행한다(S50000). In addition, when the counted average number of visits exceeds the predetermined value, the web application 21 may allow the native component 17 to execute a native function implemented in the third party's website. The native component 17 executes a native function implemented in the third party's website (S50000).

실시 예에 따라 웹 어플리케이션(21)은 네이티브 컴포넌트(17)가 상기 제3자의 웹사이트에서 네이티브 기능을 실행하도록 허락한 후, 플래그 값으로 임의의 값을 설정하고, 상기 임의의 값으로 설정된 플래그 값을 저장할 수 있다. 실시 예에 따라 상기 임의의 값으로 설정된 플래그 값은 네이티브 컴포넌트(17)로 복사되어 네이티브 컴포넌트(17)도 상기 플래그 값을 저장할 수 있다. According to an embodiment, the web application 21 allows the native component 17 to execute a native function on the third party's website, then sets an arbitrary value as a flag value, and the flag value set as the arbitrary value. Can be saved. According to an embodiment, the flag value set to the arbitrary value is copied to the native component 17 and the native component 17 may also store the flag value.

상기 제3자의 웹사이트에서 구현된 네이티브 기능을 실행한 후, 이동 장치(10)의 이용자는 상기 제3자의 웹사이트에서 구현된 네이티브 기능의 실행을 재요구할 때, 웹 어플리케이션(21)은 상기 플래그 값에 설정된 상기 임의의 값에 따라 상기 제3자의 웹사이트의 평균 방문 횟수를 카운트하지 않고, 바로 네이티브 컴포넌트(17)가 상기 제3자의 웹사이트에서 구현된 네이티브 기능을 실행하도록 허락할 수 있다. 이미 웹 어플리케이션(21)은 상기 제3자의 웹사이트에 대해 신뢰할 수 있는 사이트라고 판단하였기 때문이다. 상기 플래그 값의 설정으로 인해 상기 제3자의 웹사이트의 평균 방문 횟수를 카운트하는 동작을 생략할 수 있어 네이티브 기능의 속도를 향상시킬 수 있는 효과가 있다. After executing the native function implemented on the third party's website, when the user of the mobile device 10 requests again to execute the native function implemented on the third party's website, the web application 21 displays the flag Without counting the average number of visits to the website of the third party according to the arbitrary value set in the value, the native component 17 may immediately allow the native component 17 to execute a native function implemented in the website of the third party. This is because the web application 21 has already determined that the web site of the third party is trusted. Due to the setting of the flag value, the operation of counting the average number of visits to the website of the third party can be omitted, thereby improving the speed of the native function.

실시 예에 따라 상기 제3자의 웹사이트에서 구현된 네이티브 기능을 실행한 후, 이동 장치(10)의 이용자는 상기 제3자의 웹사이트에서 구현된 네이티브 기능의 실행을 재요구할 때, 웹 어플리케이션(21)은 웹 어플리케이션(21)에 저장된 상기 임의의 값으로 설정된 플래그 값과 네이티브 컴포넌트(17)에 저장된 상기 임의의 값으로 설정된 플래그 값을 비교하여 양 값들이 일치할 때만, 네이티브 컴포넌트(17)가 상기 제3자의 웹사이트에서 구현된 네이티브 기능을 실행하도록 허락할 수 있다. 웹 어플리케이션(21)에 저장된 상기 임의의 값은 해킹에 의해 변경될 가능성이 있기 때문이다. According to an embodiment, after executing the native function implemented on the third party's website, when the user of the mobile device 10 requests again to execute the native function implemented on the third party's website, the web application 21 ) Compares the flag value set as the arbitrary value stored in the web application 21 with the flag value set as the arbitrary value stored in the native component 17, and only when both values match, the native component 17 You can allow third-party websites to run native functions implemented. This is because the arbitrary value stored in the web application 21 may be changed by hacking.

상기 카운트된 평균 방문 횟수가 미리 결정된 값을 넘지 않을 때, 웹 어플리케이션(21)은 웹 어플리케이션(21)에 저장된 상기 웹사이트와 대응하는 제1레지스터 값과 네이티브 컴포넌트(17)에 저장된 상기 웹사이트와 대응하는 제2레지스터 값을 서로 비교한다(S40000). When the counted average number of visits does not exceed a predetermined value, the web application 21 includes a first register value corresponding to the website stored in the web application 21 and the website stored in the native component 17 The corresponding second register values are compared with each other (S40000).

웹 어플리케이션(21)은 신뢰할 수 있는 사이트들의 리스트를 수신하여 상기 신뢰할 수 있는 사이트들에 대해서는 상기 제1레지스터 값으로 난수를 설정하고, 상기 제1레지스터 값을 네이티브 컴포넌트(17)로 전송한다. 네이티브 컴포넌트(17)는 상기 제1레지스터 값을 상기 제2레지스터 값으로서 저장한다. 상기 신뢰할 수 있는 사이트들의 리스트는 주기적으로 업데이트될 수 있다. The web application 21 receives a list of trusted sites, sets a random number as the first register value for the trusted sites, and transmits the first register value to the native component 17. The native component 17 stores the first register value as the second register value. The list of trusted sites may be updated periodically.

상기 제1레지스터 값과 상기 제2레지스터 값이 서로 일치할 때, 웹 어플리케이션(21)은 네이티브 컴포넌트(17)가 상기 제3자의 웹사이트에서 구현된 네이티브 기능을 실행하도록 허락할 수 있다. 네이티브 컴포넌트(17)는 상기 제3자의 웹사이트에서 구현된 네이티브 기능을 실행한다(S50000). 상기 제1레지스터 값은 해킹될 수 있지만, 제2레지스터 값은 네이티브 컴포넌트(17)에 저장된 값으로 해킹될 수 없다. 예컨대, 해커는 신뢰가능한 사이트로 보일 수 있게 상기 제1레지스터 값을 변경할 수 있지만, 제1레지스터 값과 제2레지스터 값의 비교로 이러한 해킹을 방지할 수 있다. When the first register value and the second register value coincide with each other, the web application 21 may allow the native component 17 to execute a native function implemented in the third party's website. The native component 17 executes a native function implemented in the third party's website (S50000). The first register value may be hacked, but the second register value cannot be hacked as a value stored in the native component 17. For example, a hacker may change the value of the first register to make it appear as a trusted site, but the hacking can be prevented by comparing the value of the first register and the value of the second register.

실시 예에 따라 상기 제1레지스터 값과 상기 제2레지스터 값이 서로 일치할 때, 웹 어플리케이션(21)은 네이티브 컴포넌트(17)가 상기 제3자의 웹사이트에서 구현된 네이티브 기능을 실행하도록 허락한 후, 웹 어플리케이션(21)은 상기 플래그 값으로 임의의 값을 설정하고, 임의의 값이 설정된 플래그 값이 저장될 수 있다. 실시 예에 따라 상기 임의의 값이 설정된 플래그 값은 네이티브 컴포넌트(17)로 복사되어 네이티브 컴포넌트(17)도 상기 플래그 값을 저장할 수 있다. According to an embodiment, when the first register value and the second register value coincide with each other, the web application 21 allows the native component 17 to execute the native function implemented in the third party's website. , The web application 21 may set an arbitrary value as the flag value, and a flag value in which an arbitrary value is set may be stored. According to an exemplary embodiment, the flag value in which the arbitrary value is set is copied to the native component 17 so that the native component 17 may also store the flag value.

상기 제3자의 웹사이트에서 구현된 네이티브 기능을 실행한 후, 이동 장치(10)의 이용자는 상기 제3자의 웹사이트에서 구현된 네이티브 기능의 실행을 재요구할 때, 웹 어플리케이션(21)은 상기 플래그 값에 설정된 상기 임의의 값에 따라 상기 제1레지스터 값과 제2레지스터 값을 서로 비교하지 않고, 바로 네이티브 컴포넌트(17)가 상기 제3자의 웹사이트에서 구현된 네이티브 기능을 실행하도록 허락한다. After executing the native function implemented on the third party's website, when the user of the mobile device 10 requests again to execute the native function implemented on the third party's website, the web application 21 displays the flag The first register value and the second register value are not compared with each other according to the arbitrary value set in the value, and the native component 17 immediately allows the native component 17 to execute the native function implemented in the third party's website.

이미 웹 어플리케이션(21)은 상기 제1레지스터 값과 상기 제2레지스터 값의 비교를 통해 상기 제3자의 웹사이트에 대해 신뢰할 수 있는 사이트라고 판단하였기 때문이다. 상기 플래그 값의 설정으로 인해 상기 제3자의 웹사이트의 평균 방문 횟수를 카운트하는 동작과, 상기 제3자의 웹사이트에 대한 상기 제1레지스터 값과 상기 제2레지스터 값의 비교 동작을 생략할 수 있어 네이티브 기능의 속도를 향상시킬 수 있는 효과가 있다. This is because the web application 21 has already determined that the website of the third party is trusted by comparing the first register value with the second register value. Due to the setting of the flag value, the operation of counting the average number of visits to the website of the third party and the comparison operation of the first register value and the second register value for the website of the third party can be omitted. There is an effect that can improve the speed of native functions.

실시 예에 따라 상기 제3자의 웹사이트에서 구현된 네이티브 기능을 실행한 후, 이동 장치(10)의 이용자는 상기 제3자의 웹사이트에서 구현된 네이티브 기능의 실행을 재요구할 때, 웹 어플리케이션(21)은 웹 어플리케이션(21)에 저장된 상기 임의의 값으로 설정된 플래그 값과 네이티브 컴포넌트(17)에 저장된 상기 임의의 값으로 설정된 플래그 값을 비교하여 양 값들이 일치할 때만, 네이티브 컴포넌트(17)가 상기 제3자의 웹사이트에서 구현된 네이티브 기능을 실행하도록 허락할 수 있다. 웹 어플리케이션(21)에 저장된 상기 임의의 값은 해킹에 의해 변경될 가능성이 있기 때문이다. According to an embodiment, after executing the native function implemented on the third party's website, when the user of the mobile device 10 requests again to execute the native function implemented on the third party's website, the web application 21 ) Compares the flag value set as the arbitrary value stored in the web application 21 with the flag value set as the arbitrary value stored in the native component 17, and only when both values match, the native component 17 You can allow third-party websites to run native functions implemented. This is because the arbitrary value stored in the web application 21 may be changed by hacking.

상기 제1레지스터 값과 상기 제2레지스터 값이 서로 일치하지 않을 때, 웹 어플리케이션(21)은 네이티브 컴포넌트(17)가 상기 제3자의 웹사이트에서 구현된 네이티브 기능을 실행하지 못하도록 한다(S60000). 따라서 신뢰성있는 제3자의 웹사이트에 대해서만 네이티브 기능이 수행되도록 함으로써 보안이 강화될 수 있다. When the first register value and the second register value do not match each other, the web application 21 prevents the native component 17 from executing the native function implemented in the third party's website (S60000). Therefore, security can be enhanced by allowing native functions to be performed only for websites of trusted third parties.

본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to the exemplary embodiment shown in the drawings, this is only exemplary, and those of ordinary skill in the art will appreciate that various modifications and other equivalent embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention should be determined by the technical idea of the attached registration claims.

100: 시스템; 17: 네이티브 컴포넌트;
10: 이동 장치; 19; 웹뷰;
11: 카메라; 21; 웹 어플리케이션;
13; GPS; 30: 웹 서버;
15: NFC; 40: 브로커;
100: system; 17: native components;
10: moving device; 19; Web view;
11: camera; 21; Web application;
13; GPS; 30: web server;
15: NFC; 40: broker;

Claims (2)

네이티브 기능의 실행 요구에 응답하여 웹 어플리케이션은 특수문자와 단어만으로 구성된 명령 데이터를 포함하는 메시지를 브로커로 전송하는 단계;
네이티브 컴포넌트(native component)는 상기 브로커로부터 상기 명령 데이터를 포함하는 상기 메시지를 수신하는 단계; 및
상기 네이티브 컴포넌트는 상기 네이티브 기능을 실행하기 위해 상기 수신된 메시지에 포함된 상기 명령 데이터를 해석하고, 해석된 명령 데이터에 따라 네이티브 코드를 실행하는 단계를 포함하며,
상기 명령 데이터를 해석하는 동작은,
상기 특수문자 사이의 상기 단어를 추출하는 추출 동작을 실행하는 단계; 및
상기 추출된 단어의 일부를 이용하여 개발자가 작성된 단어의 의도를 추론하는 추론 동작을 실행하는 단계를 포함하는 브로커를 이용한 이동 장치의 네이티브 기능을 실행시키기 위한 방법.
In response to a request for executing a native function, the web application transmits a message including command data composed of only special characters and words to the broker;
Receiving, by a native component, the message including the command data from the broker; And
The native component includes the step of interpreting the command data included in the received message to execute the native function, and executing a native code according to the interpreted command data,
The operation of interpreting the command data,
Performing an extraction operation of extracting the word between the special characters; And
A method for executing a native function of a mobile device using a broker, comprising the step of executing an inference operation for inferring an intention of a word written by a developer using a part of the extracted word.
네이티브 기능의 실행 요구에 응답하여 특수문자와 단어만으로 구성된 명령 데이터를 포함하는 메시지를 브로커로 전송하는 웹 어플리케이션; 및
상기 브로커로부터 상기 명령 데이터를 포함하는 상기 메시지를 수신하는 네이티브 컴포넌트를 포함하며,
상기 네이티브 컴포넌트는,
상기 네이티브 기능을 실행하기 위해 상기 수신된 메시지에 포함된 상기 명령 데이터를 해석하고, 해석된 명령 데이터에 따라 네이티브 코드를 실행하며,
상기 명령 데이터를 해석하는 동작은,
상기 특수문자 사이의 상기 단어를 추출하는 추출 동작을 실행하며,
상기 추출된 단어의 일부를 이용하여 개발자가 작성된 단어의 의도를 추론하는 추론 동작을 실행하는 것을 나타내는 이동 장치.













A web application that transmits a message including command data composed of only special characters and words to a broker in response to a request for execution of a native function; And
Including a native component that receives the message including the command data from the broker,
The native component,
Interpret the command data included in the received message to execute the native function, execute a native code according to the interpreted command data,
The operation of interpreting the command data,
An extraction operation for extracting the word between the special characters is performed,
A mobile device indicating that a developer infers an intention of a written word by using a part of the extracted word.













KR1020190016136A 2018-06-04 2019-02-12 Method and device for excuting native features of a mobile device by using a broker KR102173840B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180064208 2018-06-04
KR20180064208 2018-06-04

Publications (2)

Publication Number Publication Date
KR20190138263A KR20190138263A (en) 2019-12-12
KR102173840B1 true KR102173840B1 (en) 2020-11-04

Family

ID=69004131

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190016136A KR102173840B1 (en) 2018-06-04 2019-02-12 Method and device for excuting native features of a mobile device by using a broker

Country Status (1)

Country Link
KR (1) KR102173840B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782214B (en) * 2020-07-03 2024-04-23 携程商旅信息服务(上海)有限公司 Client system, operation method, electronic device and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101154387B1 (en) * 2010-01-22 2012-06-15 박철준 apparatus and method for display language data with study function supported
KR101416104B1 (en) * 2012-08-07 2014-07-14 인크로스 주식회사 A dynamic loading apparatus and method of java script code performing native functions of hybrid web applications
KR101416100B1 (en) * 2012-08-07 2014-07-14 인크로스 주식회사 An interface for interworking with javascripts in hybrid web applications
KR102068840B1 (en) * 2013-09-23 2020-01-23 주식회사 팬택 Information display apparatus and method for mobile device

Also Published As

Publication number Publication date
KR20190138263A (en) 2019-12-12

Similar Documents

Publication Publication Date Title
US10884767B2 (en) Service processing methods and devices
US11816492B2 (en) Third party integration of plugins and widgets
EP3417639B1 (en) Message extension app store
KR102220127B1 (en) Method and apparatus for customized software development kit (sdk) generation
US11042387B2 (en) Deploying cross-platform applications on mobile devices with native and web components
EP3255909A1 (en) Messaging application interacting with one or more extension applications
CN110990075B (en) Method, device, equipment and storage medium for starting fast application
US8245125B1 (en) Hybrid rendering for webpages
US9934007B2 (en) Method for operating tool in working environment and machine using such method
US8966508B2 (en) Method for executing hybrid web application and apparatus therefor
EP3416054B1 (en) Method and device for page display, and storage medium
US8856958B1 (en) Personalized content access prompt
US20170317948A1 (en) Hosting apps with native capabilities
EP3161598A1 (en) Light dismiss manager
CN112930530B (en) Client application for network application execution
CN102937963A (en) Template and server content download using protocol handlers
CN110851240B (en) Function calling method, device and storage medium
CN105786476B (en) Data processing method and system between mobile client and server
KR102173840B1 (en) Method and device for excuting native features of a mobile device by using a broker
CN107895120B (en) Data processing method and device in cross-platform application, electronic equipment and storage medium
CN111008050B (en) Page task execution method, device, terminal and storage medium
CN111158777B (en) Component calling method, device and computer readable storage medium
KR102173838B1 (en) Method and device for excuting native features of a mobile device
RU2634221C2 (en) Method and device for drawing presentation of electronic document on screen
Fernandes et al. Quality attributes for mobile applications

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