System and method for building and distributing multi-platform support applications
A system and method for building and distributing multi-platform applications using web standard technologies addresses the challenge of developing separate applications for different platforms by automating the process with native plug-ins, enhancing efficiency and reducing the need for native developers.
Patent Information
- Application Number
- JP2025504583
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-08-09
- Filing Date
- 2023-07-31
- Publication Date
- 2025-11-20
- Estimated Expiration
- 2043-07-31
Smart Images

Figure 0007773759000001 
Figure 0007773759000002 
Figure 0007773759000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a system and method for building and distributing multi-platform supported applications. [Background technology]
[0002] Recently, digital transformation has been in the spotlight. Digital transformation refers to the digital transformation of business operations, including our daily lives, using new digital technologies.
[0003] Companies and organizations are increasingly using cloud services instead of building their own servers and operating environments. Using cloud services means that data and resources reside on an external cloud.
[0004] This has brought about a shift in the work environment to new modes of collaboration and sharing via mobile devices such as smartphones, and the need for business programs that can support collaboration and sharing is rapidly increasing to adapt to this.
[0005] Currently, the market is divided into platforms for mobile app development and desktop application platforms. As incompatible mobile operating systems such as Apple's iOS and Google's Android® emerge in the mobile ecosystem, the burden of developing separate applications for specific operating systems has increased. As a result, hybrid apps, which allow for the easy creation of a single app that can be efficiently used on various platforms such as iOS, Android, and Windows with a single development, have begun to attract attention.
[0006] Korean Patent Publication No. 10-2013-0017337 discloses a hybrid application development platform structure, a testing method thereof, and a computer-readable recording medium having a program recorded thereon. [Prior art documents] [Patent documents]
[0007] Korean Patent Publication No. 10-2013-0017337 Summary of the Invention [Problem to be solved by the invention]
[0008] Therefore, the present invention has been devised to solve the above-mentioned problems, and an object of the present invention is to provide a system and method for building and distributing multi-platform support applications that can provide native functions for each platform in the form of built-in plug-ins and automatically generate and distribute applications (also called apps) that support multi-platforms using web standard technology.
[0009] Another object of the present invention is to provide a system and method for building and distributing multi-platform support applications that support both iOS and Android environments and minimize the input of native developers.
[0010] Still other objects of the present invention will be readily apparent from the following description. [Means for solving the problem]
[0011] In order to achieve the above object, according to one aspect of the present invention, there is provided a system for building and distributing applications that support multiple platforms, the system including: an application content creation unit that creates application content in the form of a web application via a web developer terminal; a native plugin selection unit that selects native plugins to be applied to the application content; a build unit that works in conjunction with a version management server to apply the native plugins selected by the native plugin selection unit to the application content for each platform, thereby automatically building the application content; and a distribution unit that primarily distributes the built application via an internal distribution server or secondarily distributes the built application via a store.
[0012] The build unit may perform the steps of checking for project plugin duplication, reading plugin meta information, adding plugin dependency information to a project, adding the plugin meta information to the project, copying plugin JS files to the project, applying libraries and framework files to the project, and copying required resources.
[0013] The distribution unit may provide a downloadable link for the built app in the form of a QR code (registered trademark) at the time of primary distribution.
[0014] The distribution unit can perform secondary distribution via the iOS app store or the Android play store if the web developer approves the primary distribution.
[0015] The build unit can select and specify a remote mode or an offline mode as a method for saving Web resources in a multi-platform environment.
[0016] Meanwhile, according to another aspect of the present invention, there is provided a system for building and distributing an application that supports multiple platforms, the system including: a web browser executed on a web developer terminal; a manager server that communicates with the web browser, provides a UI for interfacing with a user, and transmits user commands; and a builder that communicates with a version control server (VCS), an application file server, and a store, and applies native plugins for each platform to the web application according to the user commands to automatically build the web application.
[0017] The web browser is provided with a screen for setting up the builder, version control server, application file server, and certificate, and the web developer can input each setting value.
[0018] The manager server starts with HTTP Servlet controller communication, processes parameter information within the HTTP Servlet controller to generate a first WebSocket message, and transmits it to the builder. The builder receives the first WebSocket message and transmits parameters to a WebSocket builder handler. An internal process runs in the build handler, and when the operation is completed, the builder can transmit a second WebSocket message to the manager server.
[0019] The project creation, configuration, and import method may include the steps of: the manager server processing parameters required for project creation and transmitting them to the builder; generating a projector in the builder based on the parameter values transmitted from the manager server; executing a VCS checkout / clone command when creating the project; performing an app environment setting CLI when the VCS checkout / clone operation is completed; performing a certificate setting operation; performing an app icon setting operation; performing a VCS commit / push operation; transmitting project creation completion processing parameter values to the manager server; and performing a DB update process in the manager server using the project creation completion processing parameter values.
[0020] The manager server processes parameters required for the build and transmits them to the builder; the build is performed by the builder based on the parameter values transmitted from the manager server; the VCS update / full command is executed when the build is performed; when the VCS update / full operation is completed, an application environment inquiry CLI is executed; the build CLI is executed; an application file upload operation is performed; an application environment setting operation is performed; a VCS commit / push operation is performed;
[0021] The distribution method can include the steps of: the manager server processing parameters required for distribution and transmitting them to the builder; starting distribution in the builder based on the parameter values transmitted from the manager server; executing a distribution command when distribution is performed; transferring application files and application environment information to a store for each platform when a distribution CLI operation starts; outputting distribution status log data and transmitting a distribution success or failure value transmitted from the store for each platform to the manager server; and performing DB update processing using the distribution completion processing parameter values in the manager server.
[0022] Further aspects, features, and advantages will become apparent from the following drawings, claims, and detailed description of the invention. [Effects of the Invention]
[0023] According to an embodiment of the present invention, native functions for each platform are provided in the form of built-in plug-ins, and applications (also called apps) that support multiple platforms can be automatically generated and distributed using web standard technologies.
[0024] It also supports both iOS and Android environments, minimizing the input of native developers. [Brief explanation of the drawings]
[0025] [Figure 1] 1 is a configuration diagram of a multi-platform support application build and distribution system according to an embodiment of the present invention; [Figure 2] 1 is a flowchart of a method for building a multi-platform support application according to an embodiment of the present invention. [Figure 3] 1 is a flowchart of a method for distributing a multi-platform support application according to an embodiment of the present invention. [Figure 4] This is a diagram illustrating the web development process. [Figure 5] FIG. 1 illustrates the build process for a built-in native plug-in. [Figure 6] FIG. 10 is a diagram illustrating an offline mode support function that is specialized for mobile devices and can cope with network failures. [Figure 7] This is a table regarding basic native plugins. [Figure 8] This is a table regarding basic native plugins. [Figure 9] This is a table regarding basic native plugins. [Figure 10] 10 is a table showing third-party collaboration plug-ins. [Figure 11] FIG. 10 illustrates a plug-in application process. [Figure 12] FIG. 1 illustrates a build process. [Figure 13] 1 is a configuration diagram of a multi-platform support application build and distribution system according to an embodiment of the present invention; [Figure 14] 1 is a flowchart of a project creation (VCS sink) method according to an embodiment of the present invention. [Figure 15] 1 is a flowchart of a build method according to an embodiment of the present invention. [Figure 16] 1 is a flowchart of a distribution method according to an embodiment of the present invention. [Figure 17] FIG. 1 illustrates a build and distribution scenario through project generation. [Figure 18] FIG. 1 illustrates a build and distribution scenario when a project exists. DETAILED DESCRIPTION OF THE INVENTION
[0026] Since the present invention can be modified in various ways and can have multiple embodiments, specific embodiments will be illustrated in the drawings and described in detail, but it should be understood that this is not intended to limit the present invention to the specific embodiments, and that the present invention encompasses all modifications, equivalents, and alternatives within the spirit and technical scope of the present invention.
[0027] When a component is referred to as being "coupled" or "connected" to another component, it should be understood that the component may be directly coupled or connected to the other component, but that there may be other components between them. On the other hand, when a component is referred to as being "directly coupled" or "directly connected" to another component, it should be understood that there are no other components between them.
[0028] Terms such as first and second may be used to describe various components, but the components should not be limited by these terms. These terms are used only to distinguish one component from another.
[0029] The terms used in this application are merely used to describe specific embodiments and are not intended to limit the present invention. The singular expressions include the plural expressions unless the context clearly dictates otherwise. In this application, the terms "comprise" or "have" are intended to specify only the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, and should not be understood to preclude the presence or possible addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.
[0030] Furthermore, it is natural that the components of the embodiments described with reference to each drawing are not limited to being applied only to the embodiment in question, but may be embodied in a manner that is included in other embodiments within the scope that maintains the technical idea of the present invention, and that separate descriptions may be omitted or multiple embodiments may be re-embodied as a single integrated embodiment.
[0031] In addition, when describing the present invention with reference to the accompanying drawings, the same or related reference numerals will be used to refer to the same components regardless of the reference numerals, and redundant descriptions thereof will be omitted. In describing the present invention, if a detailed description of related known art is deemed to unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted.
[0032] Furthermore, terms such as "... section", "... unit", "... module", and "... device" used in the specification refer to a unit that processes at least one function or operation, and can be embodied in hardware, software, or a combination of hardware and software.
[0033] FIG. 1 is a configuration diagram of a build and distribution system for a multi-platform support application according to one embodiment of the present invention, FIG. 2 is a flowchart of a build method for a multi-platform support application according to one embodiment of the present invention, FIG. 3 is a flowchart of a distribution method for a multi-platform support application according to one embodiment of the present invention, FIG. 4 is a diagram showing a web development process, FIG. 5 is a diagram showing a build process for a built-in native plugin, FIG. 6 is a diagram showing an offline mode support function that is specialized for mobile devices and can respond to network failures, FIGS. 7 to 9 are tables related to basic native plugins, FIG. 10 is a table showing third-party integration plugins, FIG. 11 is a diagram showing a plugin application process, and FIG. 12 is a diagram showing a build process.
[0034] A multi-platform support application build and distribution system 100 according to an embodiment of the present invention functions as a universal app platform for digital transformation.
[0035] It allows you to develop cross-platform applications that inherit the advantages of hybrid apps. It supports multiple platforms by implementing native functions using web standard technologies.
[0036] In addition, it provides a plug-in API for native integration for each platform, and allows for native plug-ins for various third-party integrations.
[0037] For operation and maintenance, it can provide app management, distribution, notifications, error / performance monitoring, statistics / charts, collaboration management, big data analysis / prediction, and large-volume distribution functions.
[0038] And it minimizes native developers with an app build / distribution system that supports both iOS and Android environments.
[0039] The multi-platform support application build and distribution system 100 provides native functions for each platform in the form of built-in plug-ins, and can build and distribute applications that support multiple platforms using standard web technologies (JavaScript, HTML, CSS, etc.).
[0040] 1, a multi-platform support application build and distribution system 100 may include an application content creation unit 110, a native plug-in selection unit 120, a build unit 130, and a distribution unit 140.
[0041] The multi-platform support application build and distribution system 100 allows web developers to build Android and iOS apps through the build unit 130 without having to create separate app build environments. Even without native developers, plug-ins provided by the system 100 allow web developers to develop / build / distribute / operate apps that include native functions.
[0042] Application content creation unit 110 allows developers (Web developers) to create the application content they want to provide in the form of a Web application. Various Web application development tools that enable development of Web applications can be applied to application content creation unit 110.
[0043] Referring to FIG. 4, in the process of developing a web application, a web standard application can be developed by sequentially performing a project configuration step, a layout configuration step, a screen development step, and a screen test step.
[0044] The project configuration step configures the project for the application to be developed, built, and distributed.
[0045] The layout configuration step can configure various layouts for the application via a layout wizard or layout templates.
[0046] In the screen development step, application screens can be developed using functions such as page templates, component wizards, design systems, and custom components. In addition, in this embodiment, native plug-in components can be provided to function as a multi-platform support application.
[0047] The screen test step allows you to perform One Source Multi Use (OSMU) testing to ensure optimal display on various screen sizes, such as PCs, tablets, and smartphones.
[0048] Referring back to FIG. 1, the native plug-in selection unit 120 selects a native plug-in to be additionally applied to the application content created by the application content creation unit 110 in response to an input from the user (developer).
[0049] Web developers can control native plugins through the Web Common Module using standard JS. Native plugins are built-in plugins and can include basic plugins and third-party integration plugins.
[0050] As shown in Figures 7 to 9, the basic plugins are the inappupdate plugin, which removes the in-app update screen, checks offline mode, manually starts a refresh update, and has an in-app update server selection screen function; the WebSquare plugin, which has an Excel download function; the encryption plugin, which has data encryption and photo encryption functions; and the app plugin, which has app termination, other app calls, app foreground events, app background events, app data deletion, app version, mobile phone and tablet checks, back key control, web view addition, and web view touch listeners. Listener), check whether an app can be installed, screen capture, data saving, data import, data sharing, screen rotation, app login port, app log initialization, start app log collection, app log file path conversion functions; image picker, file picker, file download functions of the contents plugin; external browser call, setting function on / off inquiry, timer start / stop, dial, SMS sending, contact import functions of the mics plugin; toast, snack bar, notification functions of the view plugin; paint call function of the paint plugin; license call function of the license plugin; data encryption with biometric authentication, data decryption with biometric authentication, data confirmation, data deletion functions of the biometric plugin; web socket usage function of the Websocket plugin; start recording, recording completion, recording cancellation, recording pause functions of the AudioRecorderPlugin plugin, etc.
[0051] As third-party cooperation plugins, as shown in Fig. 10, there may be an identity certificate, the EsonicPlugin and mIDReader plugin for document recognition function; the V3 and mVaccine plugins for vaccine execution function; the AppIron plugin for forgery prevention execution function; the mTransKey and Cyber Keyboard plugins for security keypad output function; the MobileKeeper plugin for functions such as app installation and screen capture; the OzViewer plugin for form execution function; the SafeToken plugin for PIN, biometric, and pattern authentication functions; the QR certificate plugin for QR certificate download and authentication functions; the Omni CA plugin for PIN, biometric, and pattern authentication functions; the Smart Agent and Morpheus Push plugins for Push service functions; the nFilter plugin for security keypad output function; the mOTP plugin for mOTP function, etc.
[0052] Referring to Fig. 1 again, after the native plugin is selected by the native plugin selection unit 120, the build unit 130 can apply the native plugin selected by the native plugin selection unit 120 to the app content created by the app content creation unit 110 according to the build request for each platform, so that it can be automatically built for each platform.
[0053] When a web screen is created in the app content, the process of applying the plugin is as follows.
[0054] The plugin selected by the native plugin selection unit 120 can be additionally applied. In this case, the version of the plugin to be applied can be selected. When applying the plugin, it can be applied by separate CLI (Command Line Interface) tools for each platform. In the case of Android, it can be automatically executed via gradle, and for iOS, it can be automatically executed via the command language tool.
[0055] In addition to adding a plug-in, you can also remove it by selecting the plug-in you want to remove from the list of applied plug-ins. When removing a plug-in, you do not need to select the version; the applied version is automatically selected and removed.
[0056] Referring to FIG. 11, the build unit 130 checks for project plugin duplication for the plugins selected by the native plugin selector 120. Then, it reads the plugin meta information. It can add plugin dependency information to the project and add plugin meta information to the project. It can copy the plugin js file to the project and apply the library and framework files to the project. It can then copy the necessary resources (images, layouts, etc.) to complete the plugin application.
[0057] After applying the plug-in settings, the build unit 130 proceeds with building the project.
[0058] The detailed build process is as follows (see Figure 12):
[0059] When the build starts, the latest source code is updated via (VCS) Git Pull. Then, the app information is queried within the app project. After the queried, the build process is performed and the app is uploaded to the internal distribution server. The app information (build number) is modified, and the source code is committed and pushed via (VCS) Git Push to complete the build. Once the build is complete, the QR code, app file, and log file functions can be provided.
[0060] 1 again, the distribution unit 140 primarily distributes (internal distribution) the app built by the build unit 130 to the developer via an internal distribution server in a downloadable format (APK, IPA, etc.). If the developer approves, the app is registered in a platform-specific store for secondary distribution (store distribution), allowing general users to download, install, and run the app.
[0061] Referring to Figure 2, during the initial distribution (internal distribution), a download link can be displayed on the screen of the developer's device. The download link can be displayed, for example, in the form of a QR code. Therefore, the developer can scan the QR code displayed on the device screen using the camera of a mobile device (e.g., a smartphone) to download and install the currently built app on the mobile device (update the app if necessary) and check whether the build was successful (check whether the plugin is applied).
[0062] 3, in the second distribution (store distribution), if the developer approves the app that has been confirmed to have been successfully built through the first distribution, the app built by the build unit 130 can be uploaded to a store for each platform (such as the Apple App Store or Google Play Store). Apps uploaded to the store can be downloaded and installed by general users through their mobile devices.
[0063] 6, the build unit 130 can select and specify a method (remote mode or offline mode) for saving web resources in various multi-platform environments during the application build process. When a user runs the application, the web resources can be imported in a local or remote format.
[0064] In remote mode, some web resources can be saved in the local app using configuration. Resources other than those saved in the local app are located on the server, and can follow the cache policy of the app's built-in web browser engine. Resource validity can be checked every time a page is moved.
[0065] In certain environments where offline mode is required, the app can be set to offline mode. In offline mode, resources required for app launch can be downloaded in zip format. Offline mode is applied in environments where the app must be used on an offline network, and the validity of resources can be checked when the app is first launched. For example, this can be applied when the business environment is an entity that does not have a network connection, or when there are test conditions where a network connection is not required, such as with the Public Procurement Agency RFID.
[0066] The following describes in more detail how the build unit 130 and the distribution unit 140 build and distribute the multi-platform support application.
[0067] FIG. 13 is a configuration diagram of a multi-platform support application build and distribution system according to one embodiment of the present invention, FIG. 14 is a flowchart of a project generation (VCS sync) method according to one embodiment of the present invention, FIG. 15 is a flowchart of a build method according to one embodiment of the present invention, and FIG. 16 is a flowchart of a distribution method according to one embodiment of the present invention.
[0068] The build unit 130 and the distribution unit 140 may be implemented as a program or software that builds and distributes a hybrid application in which a selected native plug-in is linked to application content.
[0069] The build unit 130 includes a manager server 220 and a builder 230 .
[0070] One or more builders 230 can be connected to one manager server 220.
[0071] The manager server 220 is provided via the Web and manages and controls the builder 230 .
[0072] The manager server 220 provides a UI and user data for interfacing with the user, transmits user commands to the builder 230, and is responsible for managing build information.
[0073] The builder 230 is a module that actually builds Android (registered trademark) and iOS apps, and can also distribute the built apps.
[0074] The builder 230 functions as a build server that actually builds the application, and also performs the necessary functions for building the application, such as linking with version control and uploading artifacts.
[0075] In this embodiment, it is possible to generate a project based on a template provided by the system. It is also possible to synchronize the application project with a VCS (Version Control System). It enables application builds, version control, distribution, and plugin management via the web without the need for a native developer. It is possible to add or modify projects by linking the source code worked on by developers with the VCS server. It is possible to check and download the build status log in real time. It is possible to install the built application via a QR code.
[0076] The web browser 210 communicates with the manager server 220, runs on a web developer terminal, and can provide a screen (Web UI) for users and administrators.
[0077] Project / build / distribution settings can be configured via the web browser 210. Settings can include builder, VCS, FTP, certificates, and the like.
[0078] On the builder setting screen, you can create builder information to connect to the manager server 220. The builder information can include the builder name (enter a name to distinguish it from the selection list), builder user ID (enter the same ID as the builder YAML setting that is physically configured), user privileges (build, deploy (check if necessary)), builder URL (URL information for the builder), etc.
[0079] The VCS Settings screen can be used to generate Git / Svn / LocalGit attribute information for a newly created project, including VCS name, VCS type (select from Git / Svn / LocalGit), VCS user ID, VCS user password, VCS server URL (VCS connection URL), etc.
[0080] The FTP Settings screen can be used to set FTP attribute information for a newly created project. FTP information can include FTP name, FTP server URL, FTP server IP, FTP server port, FTP user ID, FTP user password, etc.
[0081] The Signing Key setting screen is where you create and save the certificate information and file information required for building a new project. Because the certificate file formats for Android and iOS are different, the screen configuration may differ for each platform.
[0082] Common input values can include certificate name, builder ID, platform, domain ID, admin ID, etc.
[0083] Input values for Android certificates can include the certificate type (Signing key type), build type (Build type), key alias (Key Alias), key password (Key Password), store password (Store Password), and certificate file (Signing key file).
[0084] Input values for iOS certificates can include the certificate type (Signing key Type), certificate key file path (Certificate Key Password), debug profile file path (Debug Profile File Path), release profile file path (Release Profile File Path), etc.
[0085] The manager server 220 can include an HTTP Servlet Controller, a Websocket Session Message Builder, a Websocket Manager Handler, and a Websocket Server Handler.
[0086] The builder 230 can include a Websocket Client Handler, a Websocket Builder Handler, and an HTTP Client.
[0087] It starts with an HTTP servlet controller communication in the manager server 220 .
[0088] The parameter information is processed inside the HTTP Servlet controller, and the message is sent to the Web Socket session message generator.
[0089] The builder 230 receives a WebSocket message from the manager server 220 and passes the parameters to the WebSocket builder handler, which then passes the message to the build handler and runs the internal process.
[0090] Once the operation is complete, the builder 230 communicates a web socket message to the manager server 220.
[0091] The manager server 220 transfers the parameters received from the builder 230 to the build handler and transmits them to the browser 210 via the web socket server handler.
[0092] The flowchart for project creation, configuration, and import (VCS Sync) is shown in Figure 14.
[0093] The manager server 220 processes parameters required for project creation and transfers them to the builder 230. During transfer, the manager server 220 can perform a DB insert function.
[0094] The builder 230 starts generating a project based on the parameter values transmitted from the manager server 220 .
[0095] When a project is created, a VCS Checkout / Clone command is executed. At the same time as the command is executed, a message value is sent from the builder 230 to the manager server 220 via the VCS Status Websocket.
[0096] Once the VCS checkout / clone operation is complete, the App Config Setting CLI is executed. Similarly, a message value of the App Config Setting status is sent to the manager server 220 via the web socket.
[0097] Once the app environment setting is complete, proceed to the certificate setting (Signing Key Setting).
[0098] Once the certificate setting work is completed, the application icon setting work is performed. Similarly, a message value is sent to the manager server 220 via the application icon setting status web socket.
[0099] When the application icon setting task is completed, a VCS commit / push task is performed. Similarly, a message value is sent to the manager server 220 via the VCS commit / push status web socket.
[0100] When the VCS commit / push operation is completed, the project create completion process parameter value is transmitted to the manager server 220 .
[0101] The manager server 220 performs DB update processing using the project generation completion processing parameter values received from the builder 230 .
[0102] The built-in communication flowchart is shown in Figure 15.
[0103] The manager server 220 processes the parameter values required for building and transfers them to the builder 230. During transfer, the DB insert function is performed.
[0104] The builder 230 performs a build based on the parameter values transmitted from the manager server 220 .
[0105] When a build is executed, a VCS Update / Pull command is executed. At the same time, the builder 230 sends a message value to the manager server 220 via the VCS status web socket.
[0106] When the VCS update / full operation is completed, the application environment inquiry CLI is executed. Similarly, a message value is sent to the manager server 220 via the application environment inquiry status web socket.
[0107] Once the application environment inquiry task is complete, the build CLI task is executed. Similarly, a message value is sent to the manager server 220 via the build status web socket.
[0108] Once the build CLI task is complete, the application file upload task is performed. Similarly, a message value is sent to the manager server 220 via the application file upload status web socket.
[0109] Once the application file upload is complete, the application environment configuration is performed. Similarly, a message value is sent to the manager server 220 via the application environment configuration status web socket.
[0110] Once the application environment configuration work is completed, the VCS commit / push work is performed. Similarly, a message value is sent to the manager server 220 via the VCS commit / push status web socket.
[0111] When the VCS commit / push operation is completed, the build completion processing parameter value is transmitted to the manager server 220.
[0112] The manager server 220 receives the build completion process parameter values transmitted from the builder 230 and performs DB update processing.
[0113] The distribution flowchart is shown in Figure 16.
[0114] The manager server 220 processes the parameters required for distribution and transfers them to the builder 230. During the transfer, the DB insert function is performed.
[0115] Distribution is initiated by the builder 230 based on the parameter values transmitted from the manager server 220 .
[0116] When distribution is performed, the distribution command is executed. At the same time, a message value is sent from the builder 230 to the manager server 220 via the distribution status web socket.
[0117] When the distribution CLI process starts, the app files and app environment information are transferred to the App Store / Play Store.
[0118] Deploy status log data is output, which immediately transmits the Web socket message value to the manager server 220.
[0119] When the App Store / Play Store sends a distribution success or failure value, the builder 230 receives the value and transmits the web socket message value to the manager server 220.
[0120] The manager server 220 receives the distribution completion process parameter value transmitted from the builder 230 and performs DB update process.
[0121] The overall scenario performed in the multi-platform support application build and distribution system 100 will be described below.
[0122] FIG. 17 shows a build and distribution scenario resulting from project creation, and FIG. 18 shows a build and distribution scenario resulting from an existing project.
[0123] First, referring to FIG. 17, a first multi-platform support application build and distribution system 100 a may include a project generation unit 150 a, a build unit 130 , and a distribution unit 140 .
[0124] When creating a project, basic settings are entered and a profile is selected via a screen provided by the project creation unit 150a. Information on the template version and VCS profile is selected according to the VCS settings. Once the application information entry is complete, the user clicks the "Create" button on the screen.
[0125] Clicking the Generate Project button will invoke the VCS generation command in the system.
[0126] Once VCS creation is complete, the next step is to copy the template. Once the copy is complete, the next step is to execute the CLI (commands) required for project creation.
[0127] Once the project creation is complete, the screen will move to the build screen. When a build type is selected on this screen and a build button is pressed, the build unit 130 will start the build.
[0128] Before the build begins, the source is updated (pull) in the VCS. Once the update (pull) is complete, the build begins.
[0129] When the build is complete, an application file is generated and uploaded to the application file server 250. Once the application file is uploaded, the entire build process is complete.
[0130] If the build is successfully completed, go to the details list in the build history screen and click the Go to distribution screen button. On the distribution screen, select the distribution type (either beta or deploy) to proceed with store distribution.
[0131] During the distribution process through the distribution unit 140, the app environment and app files are transferred to the App Store for iOS and to the Play Store for Android, and the distribution status is displayed as a log. When the distribution is complete, the result can be notified to the user.
[0132] A flow scenario when there is an existing project is shown in Figure 18. The second multi-platform support application build and distribution system 100b can include a project generation unit 150b, a build unit 130, and a distribution unit 140.
[0133] A web developer can develop a web application using Xcode or Android Studio via the developer terminal 10. When the development is completed, the developer pushes the source, i.e., uploads the source code, to the VCS 240. Therefore, the latest source can be reflected in the VCS 240.
[0134] When a developer wants to upload or update source code, they invoke a command in VCS 240. Uploading (Push) is the act of reflecting the source, and updating (Pull) is the act of importing the source.
[0135] VCS240 is a server that manages iOS / Android project sources, usually using git or svn.
[0136] The multi-platform support application build and distribution system can be a solution for creating, building, and distributing iOS / Android projects.
[0137] In the process of starting project generation in the project generation unit 150b, necessary information and profiles are input and selected on the system screen. Profiles can be added in advance on the setting screen. Once the input of application information is complete, the project can be generated by clicking the generate button.
[0138] Clicking the Create Project button will call the VCS creation command in the system. Once the cloning process is complete, the CLI (commands) required to create the project will be executed.
[0139] Once the project is created, you can go to the Plugin Inquiry screen and add the plugin functions you need. You can also delete any unnecessary plugins.
[0140] Add the plugin and click the Finish button to apply the plugin.
[0141] Once the plugin has been applied, select and apply the store distribution setting profile before performing store distribution.
[0142] Once the project creation is complete, the screen will move to the build screen. When a build type is selected on this screen and a build button is pressed, the build unit 130 will start the build.
[0143] Before the build begins, the source is updated (pull) in the VCS. Once the update is complete, the build can begin.
[0144] When the build is complete, an application file is generated and uploaded to the application file server 250. Once the application file is uploaded, the entire build process is complete.
[0145] If the build is successfully completed, go to the details list in the build history screen and click the Go to distribution screen button. On the distribution screen, select the distribution type (either beta or deploy) to proceed with store distribution.
[0146] During the distribution process through the distribution unit 140, the app environment and app files are transferred to the App Store for iOS and to the Play Store for Android, and the distribution status is displayed as a log. When the deployment is complete, the result can be notified to the user.
[0147] The above-described method for building and distributing a multi-platform support application may also be embodied in the form of a recording medium containing computer-executable instructions, such as an application or program module executed by a computer. A computer-readable medium may be any available medium accessible by a computer, including both volatile and nonvolatile media, and detachable and non-detachable media. The computer-readable medium may also include computer storage media. A computer storage medium includes both volatile and non-volatile, detachable and non-detachable media embodied in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data.
[0148] The above-described method for building and distributing a multi-platform support application may be performed by an application that is pre-installed on the terminal (which may include a program included in a platform, operating system, etc. that is pre-installed on the terminal), or may be performed by an application (i.e., a program) that is directly installed on the master terminal by the user via an application providing server such as an application store server or a web server related to the application or its service. In this sense, the above-described method for building and distributing a multi-platform support application may be embodied in an application (i.e., a program) that is pre-installed on the terminal or directly installed by the user, and may be recorded on a computer-readable recording medium such as a terminal.
[0149] Although the present invention has been described above with reference to an embodiment, it will be understood by those skilled in the art that various modifications and variations of the present invention can be made without departing from the spirit and scope of the present invention as set forth in the claims below.
Claims
1. A system for building and distributing applications that support multiple platforms, comprising: an app content creation unit that creates app content in the form of a web app via a web developer terminal; a native plug-in selection unit for selecting a native plug-in provided in the form of a built-in plug-in for a platform-specific native function to be applied to the application content; a build unit that cooperates with a version management server to apply the native plugin selected by the native plugin selection unit to the application content for each platform, thereby automatically building the application content for each platform; a distribution unit that distributes the built application at least primarily via an internal distribution server or secondarily via a store; a build and distribution system for a multi-platform support application, wherein the build unit performs the steps of checking for project plugin duplication, reading plugin meta information, adding plugin dependency information to the project, adding the plugin meta information to the project, copying plugin JS files to the project, applying libraries and framework files to the project, and copying necessary resources to complete the application of the native plugin for each platform.
2. The system for building and distributing a multi-platform support application according to claim 1 , wherein the distribution unit provides a downloadable link for the built app in the form of a QR code (registered trademark) during primary distribution.
3. The multi-platform support application build and distribution system according to claim 1, characterized in that the distribution unit performs secondary distribution via the iOS App Store or the Android (registered trademark) Play Store if the web developer approves the primary distribution.
4. 2. The system for building and distributing a multi-platform support application according to claim 1, wherein the build unit allows selection and specification of a remote mode or an offline mode as a method for saving Web resources in a multi-platform environment.
5. A system for building and distributing applications that support multiple platforms, comprising: a web browser running on the web developer workstation; a manager server that communicates with the web browser, provides a UI for interfacing with a user, and transmits user commands; A builder that communicates with a version control server (VCS), an application file server, and a store, and applies native plugins for each platform, in which native functions for each platform are provided in the form of built-in plugins, to the web application according to the user command, and automatically builds the web application; a build and distribution system for a multi-platform support application, wherein the builder performs the steps of checking for project plugin duplication, reading plugin meta information, adding plugin dependency information to the project, adding the plugin meta information to the project, copying plugin JS files to the project, applying libraries and framework files to the project, and copying necessary resources to complete the application of the native plugin for each platform.
6. The multi-platform support application build and distribution system according to claim 5, characterized in that the web browser is provided with a screen for configuring the builder, version control server, application file server, and certificate, and each setting value is input by the web developer.
7. The manager server starts communication with the HTTP Servlet controller, processes parameter information in the HTTP Servlet controller, generates a first WebSocket message, and transmits the first WebSocket message to the builder; The builder receives the first WebSocket message and transmits parameters to a WebSocket builder handler, and an internal process runs in the build handler; 6. The system for building and distributing a multi-platform supporting application according to claim 5, wherein when the operation is completed, a second WebSocket message is transmitted from the builder to the manager server.
8. The manager server processes parameters required for project creation and transmits them to the builder; generating a projector in the builder based on the parameter values transmitted from the manager server; Upon project creation, performing a VCS checkout / clone command; Once the VCS checkout / clone operation is complete, execute the application environment configuration CLI; performing a certificate configuration step; Performing an application icon setting operation; Performing a VCS commit / push operation; transmitting a project creation completion processing parameter value to the manager server; and performing a DB update process in the manager server using the project creation completion process parameter value.
9. The manager server processes parameters required for building and transmits them to the builder; performing a build in the builder based on parameter values transmitted from the manager server; When a build is performed, a VCS update / full command is executed; When the VCS update / full operation is completed, execute the application environment query CLI; Executing a build CLI; Uploading application files; Performing app configuration; Performing a VCS commit / push operation; transmitting a build completion processing parameter value to the manager server; and performing a DB update process in the manager server using the build completion process parameter value.
10. The manager server processes parameters required for distribution and transmits them to the builder; initiating distribution at the builder based on parameter values communicated from the manager server; When the distribution is to be performed, performing the distribution command; When the distribution CLI operation is initiated, transferring the app files and app environment information to the platform-specific store; outputting distribution status log data and transmitting a distribution success or failure value transferred from the platform-specific store to the manager server; and performing DB update processing using the distribution completion processing parameter value in the manager server.
Citation Information
Patent Citations
Apparatus and method for authoring app of providing itergrated development environment
KR1020180027023A
Method and system for platform-independent application development
US20140325470A1
Methods and systems of software testing, distribution, installation and deployment
US20190220262A1
Communication channel between plugin application and browser script
WO2015033333A1