KR20220064780A - Electronic apparatus and method for controlling thereof - Google Patents

Electronic apparatus and method for controlling thereof Download PDF

Info

Publication number
KR20220064780A
KR20220064780A KR1020200151266A KR20200151266A KR20220064780A KR 20220064780 A KR20220064780 A KR 20220064780A KR 1020200151266 A KR1020200151266 A KR 1020200151266A KR 20200151266 A KR20200151266 A KR 20200151266A KR 20220064780 A KR20220064780 A KR 20220064780A
Authority
KR
South Korea
Prior art keywords
integrated file
electronic device
source code
application
user terminal
Prior art date
Application number
KR1020200151266A
Other languages
Korean (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 KR1020200151266A priority Critical patent/KR20220064780A/en
Priority to PCT/KR2021/014112 priority patent/WO2022102990A1/en
Publication of KR20220064780A publication Critical patent/KR20220064780A/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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/72Code refactoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

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 Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Disclosed is an electronic device. The present electronic device comprises: a communication interface for performing communication with an external device; and a processor that receives a source code for an application, generates an integrated file comprising a plurality of binary codes generated by applying a plurality of different tool chains to the source code respectively, and controls a communication interface to transmit the integrated file to a distribution server for distributing the application. Therefore, the present invention is capable of providing the electronic device for generating the integrated file for distributing the same application in batches.

Description

전자 장치 및 이의 제어 방법{ELECTRONIC APPARATUS AND METHOD FOR CONTROLLING THEREOF}ELECTRONIC APPARATUS AND METHOD FOR CONTROLLING THEREOF

본 개시는 전자 장치 및 이의 제어 방법에 관한 것으로, 보다 상세하게는 다양한 플랫폼 또는 칩셋을 포함하는 복수의 장치에 동일한 어플리케이션을 일괄적으로 배포하기 위한 통합 파일을 생성하는 전자 장치 및 이의 제어 방법에 관한 것이다.The present disclosure relates to an electronic device and a method for controlling the same, and more particularly, to an electronic device for generating an integrated file for collectively distributing the same application to a plurality of devices including various platforms or chipsets, and a method for controlling the same will be.

근래에는, 기존에 전자기기의 펌웨어에 포함되어 제공되었던 네이티브 앱(native app)을 다른 전자기기에서 사용하거나 업데이트를 간편하게 하기 위해 어플리케이션 배포 서버를 통해 다운로드 가능한 방식으로 제공하는 경우가 생겨나고 있다.In recent years, there are cases where a native app, which has been included in the existing firmware of an electronic device, is provided in a downloadable manner through an application distribution server in order to use it in other electronic devices or to simplify the update.

다만, 네이티브 앱을 다운로드 방식으로 다양한 전자기기에 제공하고자 하는 경우, 전자기기가 사용하는 플랫폼 또는 칩셋에 따라 서로 다른 툴체인을 사용하여 컴파일한 어플리케이션 파일을 생성하여, 각 전자기기에 대응되는 어플리케이션을 개별적으로 제출하여야 하였으므로, 동일한 어플리케이션을 배포하는 과정에서 통합적인 관리가 어려운 문제가 있었다.However, if native apps are to be provided to various electronic devices by downloading, compiled application files are created using different toolchains depending on the platform or chipset used by the electronic device, and the applications corresponding to each electronic device are individually downloaded. In the process of distributing the same application, integrated management was difficult.

본 개시는 상술한 문제점을 해결하기 위한 것으로, 본 개시의 목적은 다양한 플랫폼 또는 칩셋을 포함하는 복수의 장치에 동일한 어플리케이션을 일괄적으로 배포하기 위한 통합 파일을 생성하는 전자 장치 및 이의 제어 방법을 제공함에 있다.SUMMARY The present disclosure is to solve the above problems, and an object of the present disclosure is to provide an electronic device for generating an integrated file for collectively distributing the same application to a plurality of devices including various platforms or chipsets, and a method for controlling the same. is in

이상과 같은 목적을 달성하기 위해 본 개시의 일 실시예에 따른 전자 장치는, 외부 장치와 통신을 수행하기 위한 통신 인터페이스 및 어플리케이션에 대한 소스 코드를 입력 받고, 상기 소스 코드에 서로 다른 복수의 툴체인을 각각 적용하여 생성한 복수의 바이너리 코드를 포함하는 통합 파일을 생성하고, 어플리케이션을 배포하기 위한 배포 서버로 상기 통합 파일을 전송하도록 상기 통신 인터페이스를 제어하는 프로세서를 포함한다.In order to achieve the above object, an electronic device according to an embodiment of the present disclosure receives a source code for a communication interface and an application for communicating with an external device, and includes a plurality of different toolchains in the source code. and a processor for controlling the communication interface to generate an integrated file including a plurality of binary codes generated by applying each and transmit the integrated file to a distribution server for distributing an application.

이 경우, 상기 배포 서버는 상기 통합 파일에 기초하여 생성한 앱 패키지를 사용자 단말 장치로 전송하기 위한 서버이며, 상기 복수의 툴체인은, 각각의 사용자 단말 장치의 칩셋의 종류에 대응되는 서로 다른 툴체인을 포함할 수 있다.In this case, the distribution server is a server for transmitting the app package generated based on the integrated file to the user terminal device, and the plurality of tool chains are different tool chains corresponding to the types of chipsets of each user terminal device. may include

한편, 상기 전자 장치는 적어도 하나의 칩셋 종류를 선택하는 사용자 명령을 입력 받는 입력 인터페이스를 더 포함하고, 상기 프로세서는, 상기 선택된 적어도 하나의 칩셋 종류에 대응되는 툴체인을 상기 소스 코드에 적용하여 생성한 바이너리 코드를 포함하는 통합 파일을 생성할 수 있다.Meanwhile, the electronic device further includes an input interface for receiving a user command for selecting at least one chipset type, wherein the processor applies a toolchain corresponding to the selected at least one chipset type to the source code to generate You can create an integrated file containing binary code.

한편, 상기 전자 장치는 적어도 하나의 플랫폼을 선택하는 사용자 명령을 입력 받는 입력 인터페이스를 더 포함하고, 상기 프로세서는, 상기 선택된 적어도 하나의 플랫폼에 대응되는 툴체인을 상기 소스 코드에 적용하여 생성한 바이너리 코드를 포함하는 통합 파일을 생성할 수 있다.Meanwhile, the electronic device further includes an input interface for receiving a user command for selecting at least one platform, and the processor is a binary code generated by applying a toolchain corresponding to the selected at least one platform to the source code. You can create an integrated file containing

한편, 상기 프로세서는, 복수의 배포 서버 각각에 상기 통합 파일을 전송하도록 상기 통신 인터페이스를 제어할 수 있다.Meanwhile, the processor may control the communication interface to transmit the integrated file to each of a plurality of distribution servers.

한편, 본 개시의 일 실시예에 따른 전자 장치의 제어 방법은, 어플리케이션에 대한 소스 코드를 입력 받는 단계, 상기 소스 코드에 서로 다른 복수의 툴체인을 각각 적용하여 생성한 복수의 바이너리 코드를 포함하는 통합 파일을 생성하는 단계 및 어플리케이션을 배포하기 위한 배포 서버로 상기 통합 파일을 전송하는 단계를 포함한다.Meanwhile, the method for controlling an electronic device according to an embodiment of the present disclosure includes receiving a source code for an application, and integrating a plurality of binary codes generated by applying a plurality of different toolchains to the source code, respectively. It includes the steps of generating the file and transmitting the integrated file to a distribution server for distributing the application.

이 경우, 상기 복수의 툴체인은, 사용자 단말 장치의 칩셋의 종류에 대응되는 서로 다른 툴체인을 포함할 수 있다.In this case, the plurality of toolchains may include different toolchains corresponding to the types of chipsets of the user terminal device.

한편, 상기 제어 방법은 적어도 하나의 칩셋 종류를 선택하는 사용자 명령을 입력 받는 단계를 더 포함하고, 상기 생성하는 단계는, 상기 선택된 적어도 하나의 칩셋 종류에 대응되는 툴체인을 상기 소스 코드에 적용하여 생성한 바이너리 코드를 포함하는 통합 파일을 생성할 수 있다.Meanwhile, the control method further includes receiving a user command for selecting at least one chipset type, wherein the generating includes applying a toolchain corresponding to the selected at least one chipset type to the source code to generate You can create an integrated file containing a single binary code.

한편, 상기 제어 방법은 적어도 하나의 플랫폼을 선택하는 사용자 명령을 입력 받는 단계를 더 포함하고, 상기 생성하는 단계는, 상기 선택된 적어도 하나의 플랫폼에 대응되는 툴체인을 상기 소스 코드에 적용하여 생성한 바이너리 코드를 포함하는 통합 파일을 생성할 수 있다.Meanwhile, the control method may further include receiving a user command for selecting at least one platform, and the generating may include a binary generated by applying a toolchain corresponding to the selected at least one platform to the source code. You can create an integrated file containing your code.

한편, 상기 전송하는 단계는, 복수의 배포 서버 각각에 상기 통합 파일을 전송할 수 있다.Meanwhile, the transmitting may include transmitting the integrated file to each of a plurality of distribution servers.

한편, 본 개시의 일 실시예에 따른 전자 시스템은 사용자 단말 장치에 어플리케이션을 배포하기 위한 배포 서버 및 어플리케이션에 대한 소스 코드를 입력 받고, 상기 소스 코드에 서로 다른 복수의 툴체인을 각각 적용하여 생성한 복수의 바이너리 코드를 포함하는 통합 파일을 생성하고, 통신 인터페이스를 통해 상기 배포 서버로 상기 통합 파일을 전송하는 전자 장치를 포함하고, 상기 배포 서버는, 어플리케이션을 배포할 사용자 단말 장치의 플랫폼 또는 칩셋 종류에 대응되는 바이너리 코드에 기초하여 앱 패키지를 생성하고, 상기 앱 패키지를 상기 사용자 단말 장치에 제공한다.On the other hand, the electronic system according to an embodiment of the present disclosure receives a distribution server for distributing an application to a user terminal device and a source code for the application, and applies a plurality of different toolchains to the source code, respectively. An electronic device that generates an integrated file including a binary code of An app package is generated based on the corresponding binary code, and the app package is provided to the user terminal device.

한편, 본 개시의 일 실시예에 따른 전자 장치를 제어하기 위한 프로그램이 저장된 컴퓨터 판독 가능 기록 매체에 있어서, 상기 프로그램은, 어플리케이션에 대한 소스 코드를 입력 받는 단계, 상기 소스 코드에 서로 다른 복수의 툴체인을 각각 적용하여 생성한 복수의 바이너리 코드를 포함하는 통합 파일을 생성하는 단계 및 어플리케이션을 배포하기 위한 배포 서버로 상기 통합 파일을 전송하는 단계를 포함한다.Meanwhile, in a computer-readable recording medium storing a program for controlling an electronic device according to an embodiment of the present disclosure, the program includes the steps of receiving a source code for an application, a plurality of toolchains different from each other in the source code and generating an integrated file including a plurality of binary codes generated by applying the .

도 1은 본 개시의 일 실시예에 따른 전자 시스템을 개략적으로 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시예에 따른 전자 장치의 동작을 설명하기 위한 블록도이다.
도 3은 본 개시의 일 실시예에 따른 전자 장치의 세부 구성을 설명하기 위한 블록도이다.
도 4는 본 개시의 일 실시예에 따른 전자 장치가 하나의 배포 서버를 통해 복수의 사용자 단말 장치 각각에 대응되는 앱 패키지를 제공하는 전자 시스템을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시예에 따른 전자 장치가 복수의 배포 서버를 통해 복수의 사용자 단말 장치 각각에 대응되는 앱 패키지를 제공하는 전자 시스템을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
1 is a diagram schematically illustrating an electronic system according to an embodiment of the present disclosure.
2 is a block diagram illustrating an operation of an electronic device according to an embodiment of the present disclosure.
3 is a block diagram illustrating a detailed configuration of an electronic device according to an embodiment of the present disclosure.
4 is a diagram for describing an electronic system in which an electronic device provides an app package corresponding to each of a plurality of user terminal devices through a single distribution server according to an embodiment of the present disclosure.
5 is a diagram for describing an electronic system in which an electronic device provides an app package corresponding to each of a plurality of user terminal devices through a plurality of distribution servers according to an embodiment of the present disclosure.
6 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.

이하에서 설명되는 실시 예는 본 개시의 이해를 돕기 위하여 예시적으로 나타낸 것이며, 본 개시는 여기서 설명되는 실시 예들과 다르게, 다양하게 변형되어 실시될 수 있음이 이해되어야 할 것이다. 다만, 이하에서 본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성요소에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명 및 구체적인 도시를 생략한다. 또한, 첨부된 도면은 개시의 이해를 돕기 위하여 실제 축척대로 도시된 것이 아니라 일부 구성요소의 치수가 과장되게 도시될 수 있다.It should be understood that the embodiments described below are illustratively shown to help the understanding of the present disclosure, and the present disclosure may be implemented with various modifications, different from the embodiments described herein. However, in the following description of the present disclosure, if it is determined that a detailed description of a related well-known function or component may unnecessarily obscure the gist of the present disclosure, the detailed description and specific illustration thereof will be omitted. In addition, the accompanying drawings are not drawn to scale in order to help understanding of the disclosure, but dimensions of some components may be exaggerated.

본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다. The terms used in this specification and claims have been chosen in consideration of the function of the present disclosure. However, these terms may vary depending on the intention of a person skilled in the art, legal or technical interpretation, and emergence of new technology. Also, some terms are arbitrarily selected by the applicant. These terms may be interpreted in the meanings defined herein, and in the absence of specific definitions, they may be interpreted based on the general content of the present specification and common technical common sense in the art.

본 개시의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉, 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행단계로 설명된 과정보다 앞서서 수행되더라도 개시의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. In the description of the present disclosure, the order of each step should be understood as non-limiting unless the preceding step must be logically and temporally performed before the subsequent step. In other words, except for the above exceptional cases, even if the process described as the subsequent step is performed before the process described as the preceding step, the essence of the disclosure is not affected, and the scope of rights should also be defined regardless of the order of the steps.

본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.In this specification, expressions such as “have,” “may have,” “include,” or “may include” indicate the presence of a corresponding characteristic (eg, a numerical value, function, operation, or component such as a part). and does not exclude the presence of additional features.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 수 있다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms may be used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present disclosure, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component.

그리고, 본 명세서에서는 본 개시의 각 실시 예의 설명에 필요한 구성요소를 설명한 것이므로, 반드시 이에 한정되는 것은 아니다. 따라서, 일부 구성요소는 변경 또는 생략될 수도 있으며, 다른 구성요소가 추가될 수도 있다. 또한, 서로 다른 독립적인 장치에 분산되어 배치될 수도 있다.In addition, since the present specification describes components necessary for the description of each embodiment of the present disclosure, the present disclosure is not necessarily limited thereto. Accordingly, some components may be changed or omitted, and other components may be added. In addition, they may be distributed and arranged in different independent devices.

나아가, 이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 개시의 실시 예를 상세하게 설명하지만, 본 개시가 실시 예들에 의해 제한되거나 한정되는 것은 아니다.Further, an embodiment of the present disclosure will be described in detail below with reference to the accompanying drawings and the contents described in the accompanying drawings, but the present disclosure is not limited or limited by the embodiments.

이하, 도 1 내지 도 6을 참고하여 본 개시를 상세히 설명한다.Hereinafter, the present disclosure will be described in detail with reference to FIGS. 1 to 6 .

도 1은 본 개시의 일 실시예에 따른 전자 시스템을 개략적으로 설명하기 위한 도면이다.1 is a diagram schematically illustrating an electronic system according to an embodiment of the present disclosure.

도 1을 참고하면, 본 개시의 일 실시예에 따른 전자 시스템(1000)은 어플리케이션에 대한 소스 코드를 제공하는 어플리케이션 개발자(10), 소스 코드에 복수의 툴체인을 적용하여 어플리케이션에 대한 통합 파일을 생성하는 전자 장치(100), 어플리케이션을 배포하는 배포 서버(20) 및 어플리케이션을 제공 받는 사용자 단말 장치(30-1, 30-2, 30-3,...)를 포함할 수 있다.Referring to FIG. 1 , an electronic system 1000 according to an embodiment of the present disclosure generates an integrated file for an application by applying a plurality of toolchains to an application developer 10 providing a source code for an application and a plurality of toolchains to the source code. and may include an electronic device 100 that distributes applications, a distribution server 20 that distributes applications, and user terminal devices 30-1, 30-2, 30-3, ... that receive applications.

도 1은 전자 장치(100)가 어플리케이션 개발자(10)로부터 소스 코드를 제공 받고, 제공 받은 소스 코드에 기초하여 생성한 통합 파일을 배포 서버(20)에 배포하는 과정을 도시하고 있다. 도 1에 도시된 구성들은 본 개시의 실시예들을 구현하기 위한 예시도이며, 통상의 기술자에게 자명한 수준의 적절한 하드웨어/소프트웨어 구성들이 전자 시스템(1000)에 추가로 포함될 수 있다.1 illustrates a process in which the electronic device 100 receives a source code from an application developer 10 and distributes an integrated file generated based on the received source code to the distribution server 20 . The configurations shown in FIG. 1 are exemplified for implementing embodiments of the present disclosure, and appropriate hardware/software configurations at a level apparent to those of ordinary skill in the art may be additionally included in the electronic system 1000 .

도 1을 참고하면, 전자 장치(100)는 어플리케이션 개발자(10)가 제공한 소스 코드를 컴파일하여 생성한 통합 파일을 적어도 하나의 배포 서버(20)로 제공할 수 있다. 배포 서버(20)는 통합 파일에 기초하여 각각의 사용자 단말 장치(30)에 대응되는 앱 패키지를 생성하여 각각의 사용자 단말 장치(30)에 제공할 수 있다.Referring to FIG. 1 , the electronic device 100 may provide an integrated file generated by compiling the source code provided by the application developer 10 to the at least one distribution server 20 . The distribution server 20 may generate an app package corresponding to each user terminal device 30 based on the integrated file and provide it to each user terminal device 30 .

전자 장치(100)가 어플리케이션 개발자(10)로부터 제공 받은 소스 코드를 통해 사용자 단말 장치(30)와 같은 타겟 시스템에 어플리케이션을 설치하거나 설치된 어플리케이션을 업데이트하기 위한 파일을 제공하기 위해서는 타겟 시스템에 맞는 툴체인 환경이 구성되어야 한다.In order for the electronic device 100 to install an application in a target system such as the user terminal device 30 or provide a file for updating an installed application through the source code provided from the application developer 10, a toolchain environment suitable for the target system This should be configured

여기에서, 툴체인이란 타겟 시스템에서 실행될 어플리케이션과 같은 소프트웨어 개발을 진행하기 위해 필요한 컴파일 환경을 의미하며, 예를 들어 컴파일러가 실행되는 플랫폼이 아닌 다른 플랫폼에서 실행 가능한 바이너리 코드를 생성하기 위한 크로스 컴파일 환경일 수 있다. 툴체인은 각종 소스들을 컴파일하고 빌드함으로써 대상이 되는 타겟 시스템에서 실행 가능한 바이너리 코드를 생성하기 위해 필요한 각종 유틸리티 및 라이브러리의 모음으로, 어플리케이션 개발자가 작성한 소스 코드를 기계어로 번역하는 어셈블러(assembler), 링커(linker), 컴파일러(compiler) 및 타겟 시스템에 구현된 운영 체제의 라이브러리(library) 등을 포함할 수 있다. Here, the toolchain means a compilation environment necessary for software development such as an application to be executed on the target system, for example, a cross compilation environment for generating executable binary code on a platform other than the platform on which the compiler is executed. can Toolchain is a collection of various utilities and libraries necessary to generate executable binary code in the target system by compiling and building various sources. An assembler, linker ( linker), a compiler, and a library of an operating system implemented in the target system.

예를 들어, 제1 내지 제3 사용자 단말 장치(30-1, 30-2, 30-3)는 각각 서로 다른 운영 체제를 가지는 플랫폼으로 동작하는 장치일 수 있다. 이 경우, 어플리케이션 개발자가 동일한 어플리케이션을 제공한다 하더라도 각각의 사용자 단말 장치(30-1, 30-2, 30-3)의 플랫폼에서 실행 가능한 서로 다른 파일을 제공하여야 하며, 각각의 플랫폼에 대응되는 툴체인을 적용하여 생성한 바이너리 코드가 포함되어야 한다. 이에 따라, 어플리케이션 개발자는 동일한 어플리케이션을 배포하기 위해 플랫폼마다 서로 다른 파일을 제출해야 하는 불편함이 있었다.For example, the first to third user terminal devices 30 - 1 , 30 - 2 , and 30 - 3 may be devices operating as platforms having different operating systems, respectively. In this case, even if the application developer provides the same application, different files executable on the platform of each user terminal device 30-1, 30-2, 30-3 must be provided, and the tool chain corresponding to each platform The binary code generated by applying Accordingly, the application developer has the inconvenience of having to submit different files for each platform in order to distribute the same application.

마찬가지로, TV와 같은 전자기기에서 모델이 달라지며 내장된 칩셋이 변경되는 경우, 서로 다른 칩셋을 사용하는 전자기기에는 칩셋 종류에 대응되는 툴체인을 적용하여 생성한 바이너리 코드를 포함하는 어플리케이션 파일이 각각 제공되어야 한다.Similarly, when the model is changed and the built-in chipset is changed in an electronic device such as a TV, an application file containing a binary code generated by applying a toolchain corresponding to the type of chipset is provided to electronic devices using different chipsets. should be

이와 같은 문제를 해결하기 위해, 본 개시의 일 실시예에 따른 전자 장치(100)는 하나의 소스 코드에 대하여 서로 다른 타겟 시스템, 예컨대 서로 다른 플랫폼 또는 칩셋 종류에 대응되는 툴체인을 각각 적용하여 복수의 타겟 시스템 각각에 대응되는 복수의 바이너리 코드를 생성하고, 생성한 복수의 바이너리 코드를 포함하는 통합 파일을 생성하여 타겟 시스템에 어플리케이션을 배포하는 배포 서버로 생성한 통합 파일을 일괄적으로 전송할 수 있다.In order to solve this problem, the electronic device 100 according to an embodiment of the present disclosure applies tool chains corresponding to different target systems, for example, different types of platforms or chipsets, to one source code to obtain a plurality of It is possible to generate a plurality of binary codes corresponding to each target system, generate an integrated file including a plurality of generated binary codes, and transmit the generated integrated file to a distribution server that distributes an application to the target system in a batch.

여기에서 통합 파일이란, 복수의 타겟 시스템 각각에 대응되는 복수의 바이너리 코드를 포함하며, 타겟 시스템에서 어플리케이션 실행 시 액세스 및 참조되는 라이브러리, 리소스 파일, html 파일 등 타겟 시스템에 어플리케이션을 제공하기 위한 앱 패키지를 생성하는데 필요한 정보들을 포함할 수 있다. Here, the integrated file includes a plurality of binary codes corresponding to each of a plurality of target systems, and is an app package for providing an application to the target system, such as libraries, resource files, and html files, which are accessed and referenced when the application is executed in the target system. It may include information necessary to create

이에 따라, 어플리케이션을 다양한 타겟 시스템에 제공하고자 하는 개발자의 편의성을 향상시키고, 동일한 소스 코드에 대해 복수의 타겟 시스템에 제공되는 각각의 파일을 통합하여 관리함으로써 어플리케이션의 관리 체계를 확보할 수 있다.Accordingly, it is possible to improve the convenience of developers who want to provide applications to various target systems, and secure an application management system by integrating and managing each file provided to a plurality of target systems with respect to the same source code.

배포 서버(20)는 타겟 시스템에 어플리케이션을 배포할 수 있다. 이에 따라, 서로 다른 플랫폼 또는 칩셋으로 동작하는 복수의 타겟 시스템에 어플리케이션을 제공하고자 하는 경우, 배포 서버(20)는 통합 파일을 이용하여 각각의 타겟 시스템에 제공하고자 하는 앱 패키지를 생성하고, 서로 다른 플랫폼 또는 칩셋으로 동작하는 복수의 사용자 단말 장치(30-1, 30-2, 30-3)에 각각 대응되는 앱 패키지를 전송할 수 있다.The distribution server 20 may distribute the application to the target system. Accordingly, when it is desired to provide an application to a plurality of target systems operating on different platforms or chipsets, the distribution server 20 generates an app package to be provided to each target system using an integrated file, and App packages corresponding to the plurality of user terminal devices 30 - 1 , 30 - 2 , and 30 - 3 operating as a platform or chipset may be transmitted, respectively.

한편, 어플리케이션을 제공하고자 하는 복수의 타겟 시스템이 서로 다른 칩셋을 포함하지만 동일한 운영체제를 가지는 플랫폼으로 동작하는 경우, 전자 장치(100)는 해당 플랫폼으로 동작하는 하나의 배포 서버(20)에 통합 파일을 제공하고, 배포 서버(20)는 각각의 타겟 시스템에 대응되는 앱 패키지를 각각 생성하여 제공할 수 있다. 여기서, 배포 서버(20)는 하나로 구현될 수도 있고(도 4), 복수개로 구현될 수도 있다(도 5). On the other hand, when a plurality of target systems for providing an application include different chipsets but operate as a platform having the same operating system, the electronic device 100 transmits the integrated file to one distribution server 20 operating as the corresponding platform. provided, the distribution server 20 may generate and provide an app package corresponding to each target system, respectively. Here, the distribution server 20 may be implemented as one (FIG. 4) or may be implemented in plurality (FIG. 5).

이와 관련한 상세한 설명은 도 4 내지 도 5에서 후술하기로 한다.A detailed description related thereto will be described later with reference to FIGS. 4 to 5 .

사용자 단말 장치(30)는 어플리케이션을 제공 받는 사용자가 사용하는 단말 장치이다. The user terminal device 30 is a terminal device used by a user who is provided with an application.

사용자 단말 장치(30)는 PC, 랩탑 PC, 휴대폰, 태블릿 PC 등과 같이 어플리케이션을 설치하여 실행할 수 있는 다양한 형태의 장치일 수 있으나 이에 한정되는 것은 아니며, 어플리케이션을 설치하여 실행할 수 있는 TV와 같은 다양한 형태의 전자기기일 수 있다.The user terminal device 30 may be various types of devices that can install and execute applications, such as PC, laptop PC, mobile phone, tablet PC, etc. It may be an electronic device of

도 2는 본 개시의 일 실시예에 따른 전자 장치의 동작을 설명하기 위한 블록도이다.2 is a block diagram illustrating an operation of an electronic device according to an embodiment of the present disclosure.

도 2를 참고하면, 본 개시의 일 실시예에 따른 전자 장치(100)는 통신 인터페이스(110) 및 프로세서(120)를 포함할 수 있다.Referring to FIG. 2 , the electronic device 100 according to an embodiment of the present disclosure may include a communication interface 110 and a processor 120 .

통신 인터페이스(110)는 외부 장치와 통신을 수행하여 다양한 데이터를 송수신할 수 있다. 예를 들어, 통신 인터페이스(110)는 어플리케이션 개발자(10)로부터 소스 코드를 수신할 수 있고, 소스 코드에 기초하여 생성한 통합 파일을 배포 서버(20)로 전송할 수 있다.The communication interface 110 may transmit/receive various data by performing communication with an external device. For example, the communication interface 110 may receive a source code from the application developer 10 , and transmit an integrated file generated based on the source code to the distribution server 20 .

한편, 통신 인터페이스(110)는 근거리 통신망(LAN: Local Area Network), 인터넷 네트워크, 이동 통신 네트워크를 통해 외부 장치와 통신을 수행할 수 있음은 물론, BT(Bluetooth), BLE(Bluetooth Low Energy), WI-FI(Wireless Fidelity), WI-FI Direct(Wireless Fidelity Direct), Zigbee, NFC 등과 같은 다양한 통신 방식 등을 통해 외부 장치와 통신을 수행할 수 있다. 이를 위해, 통신 인터페이스(110)는 네트워크 통신을 수행하기 위한 다양한 통신 모듈을 포함할 수 있다. 예를 들어, 통신 인터페이스(110)는 블루투스 칩, 와이파이 칩, 무선 통신 칩 등을 포함할 수 있다.On the other hand, the communication interface 110 can communicate with an external device through a local area network (LAN), an Internet network, and a mobile communication network, as well as BT (Bluetooth), BLE (Bluetooth Low Energy), It can communicate with an external device through various communication methods such as WI-FI (Wireless Fidelity), WI-FI Direct (Wireless Fidelity Direct), Zigbee, NFC, and the like. To this end, the communication interface 110 may include various communication modules for performing network communication. For example, the communication interface 110 may include a Bluetooth chip, a Wi-Fi chip, a wireless communication chip, and the like.

프로세서(120)는 통신 인터페이스(110)와 전기적으로 연결되며, 전자 장치(100)의 전반적인 동작을 제어할 수 있다.The processor 120 is electrically connected to the communication interface 110 and may control the overall operation of the electronic device 100 .

본 개시의 일 실시 예에 따라, 프로세서(120)는 디지털 신호를 처리하는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서, AI(Artificial Intelligence) 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(120)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 프로세서(120)는 메모리(130)에 저장된 컴퓨터 실행가능 명령어(computer executable instructions)를 실행함으로써 다양한 기능을 수행할 수 있다.According to an embodiment of the present disclosure, the processor 120 may be implemented as a digital signal processor (DSP), a microprocessor, or a time controller (TCON) for processing a digital signal. Without limitation, a central processing unit (CPU), a micro controller unit (MCU), a micro processing unit (MPU), a controller, an application processor (AP), or a communication processor ( Communication processor (CP)), ARM processor, AI (Artificial Intelligence) processor may include one or more of, or may be defined by a corresponding term In addition, the processor 120 is a SoC (System on Chip) in which a processing algorithm is embedded. ), may be implemented in large scale integration (LSI), or implemented in the form of a field programmable gate array (FPGA) The processor 120 executes computer executable instructions stored in the memory 130 . By doing so, various functions can be performed.

프로세서(120)는 통신 인터페이스(110)를 통해 어플리케이션에 대한 소스 코드를 입력 받고, 소스 코드에 서로 다른 복수의 툴체인을 각각 적용하여 생성한 복수의 바이너리 코드를 포함하는 통합 파일을 생성할 수 있다. The processor 120 may receive a source code for an application through the communication interface 110 , and may generate an integrated file including a plurality of binary codes generated by applying a plurality of different toolchains to the source code, respectively.

그리고, 프로세서(120)는 어플리케이션을 배포하기 위한 배포 서버(20)로 통합 파일을 전송하도록 통신 인터페이스(110)를 제어할 수 있다.In addition, the processor 120 may control the communication interface 110 to transmit the integrated file to the distribution server 20 for distributing the application.

도 3은 본 개시의 일 실시예에 따른 전자 장치의 세부 구성을 설명하기 위한 블록도이다.3 is a block diagram illustrating a detailed configuration of an electronic device according to an embodiment of the present disclosure.

도 3을 참고하면, 전자 장치(100)는 통신 인터페이스(110), 프로세서(120), 메모리(130), 입력 인터페이스(140) 및 디스플레이(150)를 포함할 수 있다. 도 3에 도시된 구성 중 도 2에 도시된 구성과 중복되는 부분에 대해서는 자세한 설명을 생략하도록 한다.Referring to FIG. 3 , the electronic device 100 may include a communication interface 110 , a processor 120 , a memory 130 , an input interface 140 , and a display 150 . A detailed description of the portion overlapping with the configuration shown in FIG. 2 among the configuration shown in FIG. 3 will be omitted.

메모리(130)는 프로세서(120)와 전기적으로 연결되며, 본 개시의 다양한 실시예를 위해 필요한 데이터를 저장할 수 있다.The memory 130 is electrically connected to the processor 120 and may store data necessary for various embodiments of the present disclosure.

메모리(130)는 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 명령어 또는 데이터를 저장할 수 있다. 특히, 메모리(130)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(130)는 프로세서(120)에 의해 액세스되며, 프로세서(120)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(130), 프로세서(120) 내 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다. 또한, 메모리(130)에는 디스플레이(150)의 디스플레이 영역에 표시될 각종 화면을 구성하기 위한 프로그램 및 데이터 등이 저장될 수 있다. The memory 130 may store commands or data related to at least one other component of the electronic device 100 . In particular, the memory 130 may be implemented as a non-volatile memory, a volatile memory, a flash-memory, a hard disk drive (HDD), or a solid state drive (SSD). The memory 130 is accessed by the processor 120 , and reading/writing/modification/deletion/update of data by the processor 120 may be performed. In the present disclosure, the term "memory" refers to a memory 130, a ROM (not shown) in the processor 120, a RAM (not shown), or a memory card (not shown) mounted in the electronic device 100 (eg, micro SD). card, memory stick). In addition, programs and data for configuring various screens to be displayed on the display area of the display 150 may be stored in the memory 130 .

프로세서(120)는 통신 인터페이스(110) 및 메모리(130)와 연결되어 전자 장치(100)의 전반적인 동작 및 기능을 제어할 수 있다. 특히, 프로세서(120)는 통신 인터페이스(110)를 통해 수신한 어플리케이션에 대한 소스 코드를 메모리(130)에 저장할 수 있으며, 메모리(130)에 저장되어 있는 적어도 하나의 명령어를 실행함으로써 소스 코드를 컴파일하는 동작을 수행할 수 있다.The processor 120 may be connected to the communication interface 110 and the memory 130 to control overall operations and functions of the electronic device 100 . In particular, the processor 120 may store the source code for the application received through the communication interface 110 in the memory 130 , and compile the source code by executing at least one instruction stored in the memory 130 . action can be performed.

입력 인터페이스(140)는 다양한 사용자 명령을 수신하여 프로세서(120)로 전달할 수 있다. 즉, 프로세서(120)는 입력 인터페이스(140)를 통해 사용자로부터 입력된 사용자 명령을 인지할 수 있다. 여기서, 사용자 명령은 사용자의 터치 입력(터치 패널), 키(키보드) 또는 버튼(물리 버튼 또는 마우스 등) 입력, 사용자 음성(마이크) 등 다양한 방식으로 구현될 수 있다.The input interface 140 may receive various user commands and transmit them to the processor 120 . That is, the processor 120 may recognize a user command input by the user through the input interface 140 . Here, the user command may be implemented in various ways, such as a user's touch input (touch panel), a key (keyboard) or button (physical button or mouse, etc.) input, and a user's voice (microphone).

한편, 이는 일 실시 예일 뿐이며, 프로세서(120)는 통신 인터페이스(110)를 통해 외부 장치(예: 유무선 키보드, 유무선 마우스, 펜, 원격 제어 장치, 스마트폰 등)와 통신을 수행하여 사용자 명령을 수신하는 것 또한 가능하다.Meanwhile, this is only one embodiment, and the processor 120 receives a user command by communicating with an external device (eg, a wired/wireless keyboard, a wired/wireless mouse, a pen, a remote control device, a smart phone, etc.) through the communication interface 110 . It is also possible to do

전자 장치(100)는 입력 인터페이스(140)를 통해 적어도 하나의 플랫폼을 선택하는 사용자 명령을 입력 받을 수 있다. 예를 들어, 전자 장치(100)를 통해 어플리케이션을 다양한 타겟 시스템에 제공하고자 하는 사용자인 어플리케이션 개발자는 어플리케이션을 제공할 타겟 시스템에 대응되는 플랫폼을 선택하는 사용자 명령을 입력 인터페이스(140)를 통해 전자 장치(100)에 입력할 수 있다.The electronic device 100 may receive a user command for selecting at least one platform through the input interface 140 . For example, an application developer who is a user who wants to provide applications to various target systems through the electronic device 100 receives a user command for selecting a platform corresponding to a target system to provide applications through the input interface 140 to the electronic device. (100) can be entered.

이 경우, 프로세서(120)는 사용자에 의해 선택된 적어도 하나의 플랫폼에 대응되는 툴체인을 소스 코드에 적용하여 생성한 바이너리 코드를 포함하는 통합 파일을 생성할 수 있다.In this case, the processor 120 may generate an integrated file including a binary code generated by applying a toolchain corresponding to at least one platform selected by the user to the source code.

이에 따라, 어플리케이션 개발자는 어플리케이션을 제공하고자 하는 플랫폼을 선택하여, 선택한 플랫폼에 제공 가능한 바이너리 코드를 포함하는 통합 파일을 일괄적으로 생성할 수 있다.Accordingly, the application developer may select a platform to which an application is to be provided, and collectively generate an integrated file including binary codes that can be provided to the selected platform.

한편, 전자 장치(100)는 입력 인터페이스(140)를 통해 적어도 하나의 칩셋 종류를 선택하는 사용자 명령을 입력 받을 수 있다. 예를 들어, 전자 장치(100)를 통해 어플리케이션을 서로 다른 칩셋을 포함하는 전자기기에 각각에 제공하고자 하는 어플리케이션 개발자는 어플리케이션을 제공할 전자기기에 대응되는 칩셋 종류를 선택하는 사용자 명령을 입력 인터페이스(140)를 통해 전자 장치(100)에 입력할 수 있다.Meanwhile, the electronic device 100 may receive a user command for selecting at least one chipset type through the input interface 140 . For example, an application developer who wants to provide an application to each electronic device including a different chipset through the electronic device 100 receives a user command for selecting a chipset type corresponding to the electronic device to which the application is provided through the input interface ( 140 ) may be input into the electronic device 100 .

이 경우, 프로세서(120)는 사용자에 의해 선택된 적어도 하나의 칩셋 종류에 대응되는 툴체인을 소스 코드에 적용하여 생성한 바이너리 코드를 포함하는 통합 파일을 생성할 수 있다.In this case, the processor 120 may generate an integrated file including a binary code generated by applying a toolchain corresponding to at least one type of chipset selected by the user to the source code.

이에 따라, 어플리케이션 개발자는 특정 칩셋 종류를 포함하는 전자기기를 선택하여, 선택한 전자기기에 제공 가능한 바이너리 코드를 포함하는 통합 파일을 일괄적으로 생성할 수 있다.Accordingly, the application developer may select an electronic device including a specific chipset type and collectively generate an integrated file including a binary code that can be provided to the selected electronic device.

디스플레이(150)는 다양한 영상 컨텐츠를 표시할 수 있으며, 백라이트 유닛(예: LED(light emitting diode) 등)에서 방출되는 빛을 액정(Liquid Crystal)을 통해 조절하는 LCD(Liquid Crystal Display), 별도의 백라이트 유닛 없이 자발광 소자(예: 크기가 100-200um인 mini LED, 크기가 100um이하인 micro LED, OLED(Organic LED), QLED(Quantum dot LED) 등)를 광원으로 이용하는 디스플레이 등과 같은 다양한 형태로 구현될 수 있다.The display 150 can display various image contents, and includes a liquid crystal display (LCD) that controls light emitted from a backlight unit (eg, a light emitting diode (LED), etc.) through liquid crystal, a separate Implemented in various forms such as displays using self-luminous devices (e.g., mini LEDs with a size of 100-200um, micro LEDs with a size of 100um or less, OLED (Organic LED), QLED (Quantum dot LED), etc.) without a backlight unit as a light source can be

또한, 디스플레이(150)는 사용자 명령을 입력 받거나 사용자에게 정보를 제공하는 다양한 UI를 표시할 수도 있다.Also, the display 150 may display various UIs for receiving a user command or providing information to the user.

도 4는 본 개시의 일 실시예에 따른 전자 장치가 하나의 배포 서버를 통해 복수의 사용자 단말 장치 각각에 대응되는 앱 패키지를 제공하는 전자 시스템을 설명하기 위한 도면이다. 4 is a diagram for describing an electronic system in which an electronic device provides an app package corresponding to each of a plurality of user terminal devices through a single distribution server according to an embodiment of the present disclosure.

도 4를 참고하면, 전자 장치(100)는 소스 코드에 복수의 툴체인을 각각 적용하여 생성한 복수의 바이너리 코드(A, B, C,...)를 포함하는 통합 파일을 하나의 배포 서버(20)로 제공할 수 있다.Referring to FIG. 4 , the electronic device 100 transmits an integrated file including a plurality of binary codes (A, B, C, ...) generated by applying a plurality of toolchains to a source code to one distribution server ( 20) can be provided.

배포 서버(20)는 통합 파일에 기초하여 사용자 단말 장치에 제공하기 위한 앱 패키지를 생성하고, 생성된 앱 패키지를 대응되는 사용자 단말 장치로 전송할 수 있다.The distribution server 20 may generate an app package to be provided to the user terminal device based on the integrated file, and transmit the generated app package to the corresponding user terminal device.

예를 들어, 배포 서버(20)는 특정 플랫폼으로 동작하는 사용자 단말 장치로 어플리케이션을 배포하는 서버일 수 있다. 이 경우, 복수의 사용자 단말 장치(30-1, 30-2, 30-3)는 각각 서로 다른 칩셋을 포함하는 장치일 수 있다.For example, the distribution server 20 may be a server that distributes an application to a user terminal device operating on a specific platform. In this case, the plurality of user terminal devices 30 - 1 , 30 - 2 , and 30 - 3 may be devices including different chipsets, respectively.

이 경우, 전자 장치(100)가 소스 코드에 각각 적용하는 복수의 툴체인은 복수의 사용자 단말 장치(30-1, 30-2, 30-3) 각각의 칩셋 종류에 대응되는 복수의 툴체인을 포함할 수 있다. 이에 따라, 전자 장치(100)가 생성한 통합 파일은 복수의 사용자 단말 장치(30-1, 30-2, 30-3)에서 각각 실행 가능한 복수의 바이너리 코드를 포함할 수 있다.In this case, the plurality of toolchains respectively applied to the source code by the electronic device 100 may include a plurality of toolchains corresponding to chipset types of the plurality of user terminal devices 30-1, 30-2, and 30-3, respectively. can Accordingly, the integrated file generated by the electronic device 100 may include a plurality of binary codes executable by the plurality of user terminal devices 30-1, 30-2, and 30-3, respectively.

배포 서버(20)는 전자 장치(100)로부터 통합 파일을 전송 받고, 어플리케이션을 배포할 사용자 단말 장치(30)의 칩셋 종류에 대응되는 툴체인을 적용하여 생성된 바이너리 코드에 기초하여 앱 패키지를 생성하고, 생성된 앱 패키지를 각각의 사용자 단말 장치(30)에 전송할 수 있다.The distribution server 20 receives the integrated file from the electronic device 100 and generates an app package based on the binary code generated by applying the toolchain corresponding to the chipset type of the user terminal device 30 to which the application is to be distributed, , the generated app package may be transmitted to each user terminal device 30 .

도 4를 참고하면, 배포 서버(20)는 통합 파일로부터 사용자 단말 장치(30-1, 30-2, 30-3) 각각의 칩셋 종류에 대응되는 툴체인을 적용하여 생성한 바이너리 코드에 기초하여 복수의 앱 패키지(A, B, C)를 생성하고, 생성한 복수의 앱 패키지(A, B, C)를 각각 대응되는 사용자 단말 장치(30-1, 30-2, 30-3)에 제공할 수 있다.Referring to Figure 4, the distribution server 20 is based on the binary code generated by applying the tool chain corresponding to each chipset type of the user terminal devices 30-1, 30-2, 30-3 from the integrated file. Create an app package (A, B, C) of , and provide a plurality of generated app packages (A, B, C) to the corresponding user terminal devices (30-1, 30-2, 30-3), respectively can

도 5는 본 개시의 일 실시예에 따른 전자 장치가 복수의 배포 서버를 통해 복수의 사용자 단말 장치 각각에 대응되는 앱 패키지를 제공하는 전자 시스템을 설명하기 위한 도면이다.5 is a diagram for describing an electronic system in which an electronic device provides an app package corresponding to each of a plurality of user terminal devices through a plurality of distribution servers according to an embodiment of the present disclosure.

도 5를 참고하면, 전자 장치(100)는 소스 코드에 복수의 툴체인을 각각 적용하여 생성한 복수의 바이너리 코드(A, B, C,...)를 포함하는 통합 파일을 복수의 배포 서버(20-1, 20-2, 20-3,...)로 각각 제공할 수 있다.Referring to FIG. 5 , the electronic device 100 transmits an integrated file including a plurality of binary codes (A, B, C, ...) generated by applying a plurality of toolchains to a source code to a plurality of distribution servers ( 20-1, 20-2, 20-3,...) can be provided respectively.

복수의 배포 서버(20-1, 20-2, 20-3,...)는 서로 다른 플랫폼으로 동작하며, 각각의 플랫폼을 사용하는 사용자 단말 장치로 어플리케이션을 배포하는 서버일 수 있다. 예를 들어, 제1 사용자 단말 장치(30-1)는 제1 플랫폼으로 동작하며 제1 배포 서버(20-1)는 제1 플랫폼으로 동작하는 장치에 어플리케이션을 배포하는 서버일 수 있다. 마찬가지로, 제2 사용자 단말 장치(30-2)는 제2 플랫폼으로 동작하며 제2 배포 서버(20-2)는 제2 플랫폼으로 동작하는 장치에 어플리케이션을 배포하는 서버이고, 제3 사용자 단말 장치(30-3)는 제3 플랫폼으로 동작하며 제3 배포 서버(20-3)는 제3 플랫폼으로 동작하는 장치에 어플리케이션을 배포하는 서버일 수 있다.The plurality of distribution servers 20-1, 20-2, 20-3, ... operate on different platforms, and may be servers that distribute applications to user terminal devices using respective platforms. For example, the first user terminal device 30 - 1 may operate as a first platform and the first distribution server 20 - 1 may be a server that distributes applications to devices operating as the first platform. Similarly, the second user terminal device 30-2 operates as the second platform, and the second distribution server 20-2 is a server that distributes applications to devices operating as the second platform, and the third user terminal device ( 30-3) operates as a third platform, and the third distribution server 20-3 may be a server that distributes applications to devices operating as a third platform.

이 경우, 전자 장치(100)가 소스 코드에 각각 적용하는 복수의 툴체인은 복수의 배포 서버(20-1, 20-2, 20-3) 각각의 플랫폼에 대응되는 복수의 툴체인을 포함할 수 있다. 이에 따라, 전자 장치(100)가 생성한 통합 파일은 복수의 사용자 단말 장치에서 각각 실행 가능한 복수의 바이너리 코드를 포함할 수 있다.In this case, the plurality of toolchains respectively applied to the source code by the electronic device 100 may include a plurality of toolchains corresponding to the respective platforms of the plurality of distribution servers 20-1, 20-2, and 20-3. . Accordingly, the integrated file generated by the electronic device 100 may include a plurality of binary codes executable by a plurality of user terminal devices, respectively.

복수의 배포 서버(20)는 각각 통합 파일을 전송 받고, 어플리케이션을 배포할 사용자 단말 장치(30)의 플랫폼에 대응되는 바이너리 코드에 기초하여 앱 패키지를 생성하고, 생성된 앱 패키지를 각각의 사용자 단말 장치(30)에 전송할 수 있다.The plurality of distribution servers 20 each receive the integrated file, generate an app package based on the binary code corresponding to the platform of the user terminal device 30 to distribute the application, and apply the generated app package to each user terminal may be transmitted to the device 30 .

도 5를 참고하면, 제1 배포 서버(20-1)는 통합 파일로부터 제1 사용자 단말 장치(30-1)의 플랫폼에 대응되는 바이너리 코드에 기초하여 앱 패키지(A)를 생성하고, 생성한 앱 패키지(A)를 제1 사용자 단말 장치(30-1)에 제공할 수 있다. 마찬가지로, 제2 배포 서버(20-2)는 제2 사용자 단말 장치(30-2)의 플랫폼에 대응되는 바이너리 코드에 기초하여 생성한 앱 패키지(B)를 제2 사용자 단말 장치(30-2)에 제공할 수 있고, 제3 배포 서버(20-3)는 제3 사용자 단말 장치(30-3)의 플랫폼에 대응되는 바이너리 코드에 기초하여 생성한 앱 패키지(C)를 제3 사용자 단말 장치(30-3)에 제공할 수 있다.Referring to FIG. 5 , the first distribution server 20-1 generates an app package A based on a binary code corresponding to the platform of the first user terminal device 30-1 from the integrated file, and the generated The app package A may be provided to the first user terminal device 30 - 1 . Similarly, the second distribution server 20-2 transmits the app package (B) generated based on the binary code corresponding to the platform of the second user terminal device 30-2 to the second user terminal device 30-2. can be provided to, and the third distribution server 20-3 provides the app package C generated based on the binary code corresponding to the platform of the third user terminal device 30-3 to the third user terminal device ( 30-3) can be provided.

도 6은 본 개시의 일 실시예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.6 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.

전자 장치(100)는 어플리케이션에 대한 소스 코드를 입력 받을 수 있다(S610). 여기에서, 어플리케이션에 대한 소스 코드는 어플리케이션 개발자가 작성한 소스 코드일 수 있다.The electronic device 100 may receive a source code for an application (S610). Here, the source code for the application may be a source code written by an application developer.

그리고, 전자 장치(100)는 소스 코드에 서로 다른 복수의 툴체인을 각각 적용하여 생성한 복수의 바이너리 코드를 포함하는 통합 파일을 생성(S620)할 수 있다. Also, the electronic device 100 may generate an integrated file including a plurality of binary codes generated by applying a plurality of different toolchains to the source code, respectively ( S620 ).

이 경우, 복수의 툴체인은 어플리케이션 개발자가 어플리케이션을 배포하고자 하는 서로 다른 복수의 사용자 단말 장치의 플랫폼 또는 칩셋 종류에 각각 대응되는 툴체인을 포함할 수 있다. In this case, the plurality of toolchains may include toolchains respectively corresponding to platforms or chipset types of a plurality of different user terminal devices to which an application developer intends to distribute an application.

이에 따라, 전자 장치(100)가 생성한 통합 파일은 서로 다른 복수의 사용자 단말 장치와 같은 복수의 타겟 시스템 각각에 대응되는 복수의 바이너리 코드를 포함하며, 타겟 시스템에서 어플리케이션 실행 시 액세스 및 참조되는 라이브러리, 리소스 파일, html 파일 등 타겟 시스템에 어플리케이션을 제공하기 위한 앱 패키지를 생성하는데 필요한 정보들을 포함할 수 있다.Accordingly, the integrated file generated by the electronic device 100 includes a plurality of binary codes corresponding to each of a plurality of target systems, such as a plurality of different user terminal devices, and a library accessed and referenced when an application is executed in the target system. , resource files, html files, etc. may include information necessary to create an app package for providing an application to the target system.

한편, 전자 장치(100)는 적어도 하나의 칩셋 종류를 선택하는 사용자 명령을 입력 받고, 선택된 적어도 하나의 칩셋 종류에 대응되는 툴체인을 소스 코드에 적용하여 생성한 바이너리 코드를 포함하는 통합 파일을 생성할 수 있다.Meanwhile, the electronic device 100 receives a user command for selecting at least one chipset type, and applies a toolchain corresponding to the selected at least one chipset type to the source code to generate an integrated file including the generated binary code. can

또한, 전자 장치(100)는 사용자로부터 적어도 하나의 플랫폼을 선택하는 사용자 명령을 입력 받아, 선택된 적어도 하나의 플랫폼에 대응되는 툴체인을 소스 코드에 적용하여 생성한 바이너리 코드를 포함하는 통합 파일을 생성할 수 있다.In addition, the electronic device 100 receives a user command for selecting at least one platform from the user, and applies a toolchain corresponding to the selected at least one platform to the source code to generate an integrated file including the generated binary code. can

그리고, 전자 장치(100)는 어플리케이션을 배포하기 위한 배포 서버로 통합 파일을 전송(S530)할 수 있다.Then, the electronic device 100 may transmit the integrated file to the distribution server for distributing the application ( S530 ).

한편, 전자 장치(100)는 복수의 배포 서버 각각에 통합 파일을 전송할 수 있으며, 복수의 배포 서버는 서로 다른 플랫폼으로 동작할 수 있다.Meanwhile, the electronic device 100 may transmit the integrated file to each of the plurality of distribution servers, and the plurality of distribution servers may operate on different platforms.

이 경우, 복수의 툴체인은 복수의 배포 서버 각각의 플랫폼에 대응되는 복수의 툴체인을 포함할 수 있다. 전자 장치(100)는 각각의 플랫폼에 대응되는 복수의 툴체인을 소스 코드에 각각 적용하여 각 플랫폼에 제공 가능한 바이너리 코드를 생성할 수 있으며, 생성된 복수의 바이너리 코드를 포함하는 통합 파일을 생성할 수 있다.In this case, the plurality of toolchains may include a plurality of toolchains corresponding to the respective platforms of the plurality of distribution servers. The electronic device 100 may generate binary codes that can be provided to each platform by applying a plurality of toolchains corresponding to respective platforms to source codes, respectively, and may generate an integrated file including the plurality of generated binary codes. there is.

한편, 복수의 툴체인은 사용자 단말 장치의 칩셋의 종류에 대응되는 서로 다른 툴체인을 포함할 수 있다. 전자 장치(100)는 각각의 칩셋에 대응되는 서로 다른 툴체인을 소스 코드에 각각 적용하여 서로 다른 칩셋을 사용하는 각각의 사용자 단말 장치에 제공 가능한 바이너리 코드를 생성할 수 있으며, 생성된 복수의 바이너리 코드를 포함하는 통합 파일을 생성할 수 있다.Meanwhile, the plurality of toolchains may include different toolchains corresponding to the types of chipsets of the user terminal device. The electronic device 100 may generate binary codes that can be provided to respective user terminal devices using different chipsets by applying different toolchains corresponding to respective chipsets to source codes, respectively, and a plurality of generated binary codes You can create an integrated file containing

이에 따라, 어플리케이션 개발자는 어플리케이션 배포 서버에 통합 파일을 제공함으로써 서로 다른 플랫폼으로 동작하거나 서로 다른 칩셋을 포함하는 복수의 사용자 단말 장치에 일괄적으로 어플리케이션을 제공할 수 있어 편의성을 향상시킬 수 있고, 동일한 소스 코드에 대해 복수의 타겟 시스템에 제공되는 각각의 파일을 통합하여 관리함으로써 어플리케이션의 관리 체계를 확보할 수 있다.Accordingly, the application developer can improve convenience by providing an integrated file to the application distribution server, which can operate on different platforms or collectively provide applications to a plurality of user terminal devices including different chipsets, and the same An application management system can be secured by integrating and managing each file provided to a plurality of target systems with respect to the source code.

한편, 상술한 본 개시의 다양한 실시예들에 따른 방법들은, 사용자 단말 장치와 같은 전자 장치에 설치 가능한 소프트웨어 또는 어플리케이션 형태로 구현될 수 있다.Meanwhile, the above-described methods according to various embodiments of the present disclosure may be implemented in the form of software or applications that can be installed in an electronic device such as a user terminal device.

또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드만으로도 구현될 수 있다. In addition, the above-described methods according to various embodiments of the present disclosure may be implemented only by software upgrade or hardware upgrade of an existing electronic device.

또한, 상술한 본 개시의 다양한 실시 예들은 전자 장치에 구비된 임베디드 서버, 또는 전자 장치 외부의 서버를 통해 수행되는 것도 가능하다.In addition, various embodiments of the present disclosure described above may be performed through an embedded server provided in the electronic device or a server external to the electronic device.

한편, 본 개시의 일 실시예에 따른 전자 장치를 제어하기 위한 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다. Meanwhile, a non-transitory computer readable medium in which a program for controlling an electronic device according to an embodiment of the present disclosure is stored may be provided.

비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.The non-transitory readable medium refers to a medium that stores data semi-permanently, rather than a medium that stores data for a short moment, such as a register, cache, memory, and the like, and can be read by a device. Specifically, the various applications or programs described above may be provided by being stored in a non-transitory readable medium such as a CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.

이상에서는 본 개시의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.In the above, preferred embodiments of the present disclosure have been illustrated and described, but the present disclosure is not limited to the specific embodiments described above, and it is common in the technical field to which the disclosure belongs without departing from the gist of the present disclosure as claimed in the claims. Various modifications may be made by those having the knowledge of

1000: 전자 시스템 10: 어플리케이션 개발자
20: 배포 서버 30: 사용자 단말 장치
100: 전자 장치 110: 통신 인터페이스
120: 프로세서 130: 메모리
140: 입력 인터페이스 150: 디스플레이
1000: electronic system 10: application developer
20: distribution server 30: user terminal device
100: electronic device 110: communication interface
120: processor 130: memory
140: input interface 150: display

Claims (12)

전자 장치에 있어서,
외부 장치와 통신을 수행하기 위한 통신 인터페이스; 및
어플리케이션에 대한 소스 코드를 입력 받고, 상기 소스 코드에 서로 다른 복수의 툴체인을 각각 적용하여 생성한 복수의 바이너리 코드를 포함하는 통합 파일을 생성하고, 어플리케이션을 배포하기 위한 배포 서버로 상기 통합 파일을 전송하도록 상기 통신 인터페이스를 제어하는 프로세서;를 포함하는, 전자 장치.
In an electronic device,
a communication interface for performing communication with an external device; and
It receives the source code for the application, generates an integrated file including a plurality of binary codes generated by applying a plurality of different toolchains to the source code, respectively, and transmits the integrated file to a distribution server for distributing the application A processor for controlling the communication interface to do so; including, an electronic device.
제1항에 있어서,
상기 배포 서버는 상기 통합 파일에 기초하여 생성한 앱 패키지를 사용자 단말 장치로 전송하기 위한 서버이며,
상기 복수의 툴체인은,
각각의 사용자 단말 장치의 칩셋의 종류에 대응되는 서로 다른 툴체인을 포함하는, 전자 장치.
According to claim 1,
The distribution server is a server for transmitting the app package generated based on the integrated file to the user terminal device,
The plurality of tool chains,
An electronic device comprising different toolchains corresponding to types of chipsets of respective user terminal devices.
제1항에 있어서,
적어도 하나의 칩셋 종류를 선택하는 사용자 명령을 입력 받는 입력 인터페이스;를 더 포함하고,
상기 프로세서는,
상기 선택된 적어도 하나의 칩셋 종류에 대응되는 툴체인을 상기 소스 코드에 적용하여 생성한 바이너리 코드를 포함하는 통합 파일을 생성하는, 전자 장치.
According to claim 1,
Further comprising; an input interface for receiving a user command for selecting at least one type of chipset;
The processor is
and generating an integrated file including a binary code generated by applying a toolchain corresponding to the selected at least one type of chipset to the source code.
제1항에 있어서,
적어도 하나의 플랫폼을 선택하는 사용자 명령을 입력 받는 입력 인터페이스;를 더 포함하고,
상기 프로세서는,
상기 선택된 적어도 하나의 플랫폼에 대응되는 툴체인을 상기 소스 코드에 적용하여 생성한 바이너리 코드를 포함하는 통합 파일을 생성하는, 전자 장치.
According to claim 1,
Further comprising; an input interface for receiving a user command for selecting at least one platform;
The processor is
An electronic device for generating an integrated file including a binary code generated by applying a toolchain corresponding to the selected at least one platform to the source code.
제1항에 있어서,
상기 프로세서는,
복수의 배포 서버 각각에 상기 통합 파일을 전송하도록 상기 통신 인터페이스를 제어하는, 전자 장치.
According to claim 1,
The processor is
An electronic device for controlling the communication interface to transmit the integrated file to each of a plurality of distribution servers.
전자 장치의 제어 방법에 있어서,
어플리케이션에 대한 소스 코드를 입력 받는 단계;
상기 소스 코드에 서로 다른 복수의 툴체인을 각각 적용하여 생성한 복수의 바이너리 코드를 포함하는 통합 파일을 생성하는 단계; 및
어플리케이션을 배포하기 위한 배포 서버로 상기 통합 파일을 전송하는 단계;를 포함하는, 제어 방법.
A method for controlling an electronic device, comprising:
receiving an input of a source code for an application;
generating an integrated file including a plurality of binary codes generated by applying a plurality of different toolchains to the source code, respectively; and
Transmitting the integrated file to a distribution server for distributing the application; Containing, a control method.
제6항에 있어서,
상기 복수의 툴체인은,
사용자 단말 장치의 칩셋의 종류에 대응되는 서로 다른 툴체인을 포함하는, 제어 방법.
7. The method of claim 6,
The plurality of tool chains,
A control method comprising different toolchains corresponding to types of chipsets of user terminal devices.
제6항에 있어서,
적어도 하나의 칩셋 종류를 선택하는 사용자 명령을 입력 받는 단계;를 더 포함하고,
상기 생성하는 단계는,
상기 선택된 적어도 하나의 칩셋 종류에 대응되는 툴체인을 상기 소스 코드에 적용하여 생성한 바이너리 코드를 포함하는 통합 파일을 생성하는, 제어 방법.
7. The method of claim 6,
Further comprising; receiving a user command for selecting at least one type of chipset;
The generating step is
A control method for generating an integrated file including a binary code generated by applying a toolchain corresponding to the selected at least one type of chipset to the source code.
제6항에 있어서,
적어도 하나의 플랫폼을 선택하는 사용자 명령을 입력 받는 단계;를 더 포함하고,
상기 생성하는 단계는,
상기 선택된 적어도 하나의 플랫폼에 대응되는 툴체인을 상기 소스 코드에 적용하여 생성한 바이너리 코드를 포함하는 통합 파일을 생성하는, 제어 방법.
7. The method of claim 6,
Further comprising; receiving a user command for selecting at least one platform;
The generating step is
A control method for generating an integrated file including a binary code generated by applying a toolchain corresponding to the at least one selected platform to the source code.
제6항에 있어서,
상기 전송하는 단계는,
복수의 배포 서버 각각에 상기 통합 파일을 전송하는, 제어 방법.
7. The method of claim 6,
The transmitting step is
A control method for transmitting the integrated file to each of a plurality of distribution servers.
전자 시스템에 있어서,
사용자 단말 장치에 어플리케이션을 배포하기 위한 배포 서버; 및
어플리케이션에 대한 소스 코드를 입력 받고, 상기 소스 코드에 서로 다른 복수의 툴체인을 각각 적용하여 생성한 복수의 바이너리 코드를 포함하는 통합 파일을 생성하고, 통신 인터페이스를 통해 상기 배포 서버로 상기 통합 파일을 전송하는 전자 장치;를 포함하고,
상기 배포 서버는,
어플리케이션을 배포할 사용자 단말 장치의 플랫폼 또는 칩셋 종류에 대응되는 바이너리 코드에 기초하여 앱 패키지를 생성하고, 상기 앱 패키지를 상기 사용자 단말 장치에 제공하는, 전자 시스템.
In an electronic system,
a distribution server for distributing an application to a user terminal device; and
A source code for an application is received, an integrated file including a plurality of binary codes generated by applying a plurality of different toolchains to the source code, respectively, is generated, and the integrated file is transmitted to the distribution server through a communication interface An electronic device that includes;
The distribution server,
An electronic system that generates an app package based on a binary code corresponding to a platform or chipset type of a user terminal device to which an application is to be distributed, and provides the app package to the user terminal device.
전자 장치를 제어하기 위한 프로그램이 저장된 컴퓨터 판독 가능 기록 매체에 있어서,
상기 프로그램은,
어플리케이션에 대한 소스 코드를 입력 받는 단계;
상기 소스 코드에 서로 다른 복수의 툴체인을 각각 적용하여 생성한 복수의 바이너리 코드를 포함하는 통합 파일을 생성하는 단계; 및
어플리케이션을 배포하기 위한 배포 서버로 상기 통합 파일을 전송하는 단계;를 포함하는, 기록 매체.
In the computer-readable recording medium storing a program for controlling an electronic device,
The program is
receiving an input of a source code for an application;
generating an integrated file including a plurality of binary codes generated by applying a plurality of different toolchains to the source code, respectively; and
Transmitting the integrated file to a distribution server for distributing the application; Containing, a recording medium.
KR1020200151266A 2020-11-12 2020-11-12 Electronic apparatus and method for controlling thereof KR20220064780A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200151266A KR20220064780A (en) 2020-11-12 2020-11-12 Electronic apparatus and method for controlling thereof
PCT/KR2021/014112 WO2022102990A1 (en) 2020-11-12 2021-10-13 Electronic device and control method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200151266A KR20220064780A (en) 2020-11-12 2020-11-12 Electronic apparatus and method for controlling thereof

Publications (1)

Publication Number Publication Date
KR20220064780A true KR20220064780A (en) 2022-05-19

Family

ID=81601430

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200151266A KR20220064780A (en) 2020-11-12 2020-11-12 Electronic apparatus and method for controlling thereof

Country Status (2)

Country Link
KR (1) KR20220064780A (en)
WO (1) WO2022102990A1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060080682A1 (en) * 2004-10-12 2006-04-13 Picsel Research Ltd. Run time dynamic linking
KR101195822B1 (en) * 2005-09-27 2012-11-05 에스케이플래닛 주식회사 Virtual Machine for application executing And thereof Method in mobile terminal
US8719776B2 (en) * 2009-12-30 2014-05-06 Foneclay, Inc. System for creation and distribution of software applications usable on multiple mobile device platforms
SG184864A1 (en) * 2010-04-15 2012-11-29 Itr Group Inc Cross-platform application framework
KR101892699B1 (en) * 2016-09-05 2018-08-28 바이플러그 주식회사 Apparatus and method for authoring app of providing itergrated development environment

Also Published As

Publication number Publication date
WO2022102990A1 (en) 2022-05-19

Similar Documents

Publication Publication Date Title
US10083025B2 (en) Dynamic update of an application in compilation and deployment with warm-swapping
US10740114B2 (en) Component invoking method and apparatus, and component data processing method and apparatus
EP3109762B1 (en) Electronic device having external memory and method for operating the same
US9645804B2 (en) Extracting source code
RU2643484C2 (en) Generation of own code from code in intermediate language for application
CN103488471A (en) Updating hardware libraries for use by applications on a computer system with an fpga coprocessor
CN103168325A (en) Display management for native user experiences
KR101810536B1 (en) Method for updating of library, apparatus and system for the same
CN105453037A (en) Maintaining known dependencies for updates
US20190095181A1 (en) Easy-To-Use Type Of Compile-Time Dependency Injection Method And Device In The Java Platform
CN111124526A (en) Dependency management method, dependency management device, storage medium and computer equipment
CN105279399A (en) Application anti-crack method and device
CN106796521B (en) API version control independent of product release
CN107423291B (en) Data translation method and client device
US10514940B2 (en) Virtual application package reconstruction
US9185513B1 (en) Method and system for compilation with profiling feedback from client
US10732936B2 (en) Modularizing steps within a UML user model interaction pattern
US20130263126A1 (en) System and method for increasing the capabilities of a mobile device
CN113326078A (en) Method, equipment and storage medium for dynamically updating software development kit
KR20220064780A (en) Electronic apparatus and method for controlling thereof
US10303462B2 (en) Windows support of a pluggable ecosystem for universal windows application stores
KR20220075652A (en) Method and apparatus for managing program data of programmable logic controller, and the plc system using the same
KR102663196B1 (en) User terminal device, server, control method of user terminal device and control method of server
KR20220132248A (en) Method, apparatus and server for surpporting programmable logic controller program
US8826267B2 (en) Association of object elements to operational modes