No applicable.
Not applicable.
Not applicable.
A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or patent disclosure as it appears in the Patent and Trademark Office, patent file or records, but otherwise reserves all copyright rights whatsoever.
The present invention relates to a method for providing an application development environment and an apparatus for the same, and more particularly to a method and an apparatus for providing an application development environment to improve the development efficiency of an application developer.
Recently, as a variety of terminal devices such as a smart phone or tablet PC are attaining popularity, interests in the application that can be used with these terminal devices have been increased.
In particular, in recent days, when a developer develops and uploads an application on an application store, a system for the users to purchase and download the application of their choice and by accessing the application store using a communication device has been widely used. Accordingly, a number of applications are being developed actively in various fields.
To this end, in order to develop applications actively, in general, the experts of C language, JAVA, OBDC, SQL, etc., are conducting coding and development activities directly.
As shown in
However, these developing procedures can be accessed only by experienced developers, and require special knowledge of the language described above. In addition, a developer has to implement a lot of codes directly through event procedures, which require rich knowledge, time and effort.
Further, when there is a change in the service scenario in the developed code, the developer has to edit a number of codes.
In addition, the difference in the degree of expertise and personal coding styles can cause difficulty in group-based development, compatibility of modules created by different developers, or complexity in the modules according to the degree of understanding in modularization, which may result in serious bugs.
On the other hand, even if a same developer develops applications having the same functions, the development must be performed using different application development tools according to the OS platform in which the application is to be used, which also takes time and cost.
An object of the present invention is to provide a method and apparatus for an application development environment which can improve the development efficiency of a developer.
Another object of the present invention is to provide a method and apparatus for an application development environment which provides a user interface which facilitates scenario control and application development even without special knowledge.
In addition, still another object of the present invention is to provide a method and apparatus for an application development environment which can prevent overlapping development by being able to be adapted to various devices while maintaining compatibility among modules.
The method for providing an application development environment in accordance with the present invention comprises the steps of: displaying a first window showing a connection between a plurality of pages that make up an application; and displaying a second window showing the relationship among a plurality of components corresponding with any one of the plurality of pages, and in the second window, a first component comprising event information and a second component comprising action information are interconnected.
In addition, in an application development environment provided according to an embodiment of the present invention for achieving the above object, the apparatus providing the application development environment comprises a display device which shows a first window showing the connection between a plurality of pages that make up an application, and a second window showing the connection among a plurality of components corresponding with any one of the plurality of the pages, and a controller which performs control to connect a first component comprising event information in the second window and a second component comprising action information.
A method for providing an application development environment in accordance with an embodiment of the present invention to achieve above object comprises the steps of: displaying at least one component defined with an intermediate language on the window; generating a first code consisting of the intermediate language depending on the event or action that is specified in the component; and converting the first code to a second code corresponding to a target platform.
In addition, an apparatus for providing an application development environment according to an embodiment of the present invention for achieving the above object comprises: a display unit for displaying at least one component which is defined by an intermediate language on the window; an intermediate language generation unit for generating a first code consisting of the intermediate language depending on the event or action that is specified in the component; and a conversion unit for converting a first code to a second code corresponding to the target platform.
According to an embodiment of the present invention, when providing an application development environment, the embodiment displays a first window showing a connection relationship between a plurality of pages, and to display the second window showing a connection relationship between the components with correspond to any one of the pages.
In particular, by connecting the first component including event information and a second component including action information, the connection relationship between the components can be expressed in a way easy to understand.
On the other hand, as the modifications to the connection relationship can be implemented by modifying the image objects that represent connection relation between the components. As such, even a developer without sufficient professional knowledge can perform the connection between the components and implement the scenario.
Further, by using such an intermediate language according to an embodiment of the present invention for application development, an application can be converted to another application for another device using a different OS. As a result, a plurality of applications for different OS platforms can be developed by a single development effort.
Further, various user interfaces and functions can be provided to facilitate application development, improving the user convenience of the developers.
The figures below will describe and illustrate the waffle box 27 technology. The figures although numbered in progression are grouped in two types. Type I describes about the five (5) side waffle box 27 (
The description below only exemplifies the principle of the present invention. Therefore, although one of ordinary skills in the art that will embody the principles of the present invention, although not shown or described explicitly herein, and the invention can be a variety of devices included in the spirit and scope of the invention. In addition, all of the conditional terms and embodiments listed herein are, in principle, and the concept of the present invention to such understanding is clearly intended to be understood as not limited to the particular embodiments and conditions described.
In addition, the principles of the present invention, aspects and embodiments, as well as all the description listing the particular embodiments should so understood as to be intended to include structural and functional equivalents of such information. It should also be understood to include all devices invented to perform the same function, regardless of the structure to be such equivalents that are currently known, as well as those equivalents to be developed in the future.
Thus, for example, the block diagrams in the specification should be so understood as representing a conceptual viewpoint of an exemplary circuit that embodies the principles of the invention. Similarly, all the flow charts, state conversion chart, such as the pseudo-code should be so understood that whether or not to represent various processes performed by a computer or processor that can be substantially represented in computer readable medium and a computer or processor.
The functions of various elements shown in the drawings, including functional blocks labeled as a processor or a similar concept can be provided through the use of hardware that has the capability of executing software in association with appropriate software as well as dedicated hardware. When provided by a processor, the functions may be provided by a single dedicated processor, single shared processor, or a plurality of individual processors, some of which may be shared.
The processor, specific use of the terms set forth by the control or a similar concept should not be interpreted as incorporated by exclusive hardware that has the capability of executing software, a digital signal processor (DSP) hardware, without limitation, ROM for storing software, it should be understood to include random access memory (RAM) and non-volatile memory devices implicitly. It may also include other hardware generally known.
In the claims of this application, the components expressed as means for performing the functions described in the description include any type of software, including for example, a combination or firmware/microcode, etc. of circuit elements to perform such function. It was intended to include all methods for performing the functions, which are combined with appropriate circuitry for executing the software to perform the function. Any means that can provide the functionality, so that the present invention is defined by the claims, such that the combined functionality provided by various recited means are combined with the method of claims should be understood to be equal to that identified herein.
The foregoing objects, features and advantages will become more apparent from the following detailed description in conjunction with the accompanying drawings, whereby those skilled in the art will be able to easily implement the invention. In addition, a detailed description thereof will be omitted if it is determined that the description of the present invention, a specific description of the related art and the present invention may unnecessarily obscure the understanding of the subject matter of the present invention.
Hereinafter, preferred embodiments of the present invention will be described in further details with reference to the accompanying drawings.
Referring to
The application development environment providing apparatus 100 is capable of proving the windows showing the connection between a plurality of the pages constituting the application in accordance with an embodiment of the present invention, and the connection between a plurality of the components with reference to any one of the plurality of pages in an intuitive way.
To this end, the application development environment providing apparatus 100 comprises a display unit which displays a first window showing connection between a plurality of pages that constitute an application, and a second window showing the connection between the plurality of components with reference to any one of the plurality of pages, and a controller which controls to connect the first component comprising event information and the second component comprising action information to be connected in the second window.
Here, an application may refer to the application data which are executed in the application development environment providing apparatus 100 or the terminal 300. In addition, the application data may be generated by an application development environment providing apparatus 100 and may be sent directly to the terminal 300.
In addition, the application data generated can be uploaded to the market network 400, and the uploaded application data can be transmitted to the purchase authenticated terminal 300.
In addition, the application may include a plurality of pages, each page comprising a plurality of components.
An application page may mean an electronic document or graphical user interface which is interpreted as an object and executed by the terminal 300. In addition, a plurality of components included in each page may be structured to form a connection to the components contained in the different pages.
Such a connection relationship can be formed when the event information included in a component is connected with the action information of another component.
More specifically, when the application is executed and an event of a particular component is generated based on the event information, the action of the component can be carried out based on the action information in its associated another component.
Therefore, when the terminal 300 is running an application, it can perform various actions according to the connection relationship between the pages and between the components. And, the developer is able to provide various application services by using this. In particular, according to an embodiment of the present invention, intuitive and simple interface can be provided for forming the connection relationship between the pages and components to reduce the time and efforts for developing applications and enable developing applications without expertise in software programming.
On the other hand, the application development environment providing apparatus 100 may configure an application project generated by the application development environment with intermediate language, and convert the application project or application code composed of intermediate language to adapt to the target platform or OS of the target terminal. In addition, the application development environment providing apparatus 100 may output an application executable on the target device.
In particular, the application development environment providing apparatus 100, in order to solve the problems in the stereo type development patterns and low reusability of codes, may create an application composed of component-based intermediate language. Accordingly, an application developer is able to perform scenario planning, development of server and client simultaneously.
In addition, the application development environment providing apparatus 100 may provide an integrated platform for application development, an interface which can add UX component and a server component development and a template development, and an open platform with which a developer can create and add components easily. Thus, an embodiment of the present invention can provide an application development environment which is centered on the user and product, instead of developer.
On the other hand, the server 200 may be connected to an application development environment providing apparatus 100, and can provide the data and authentication information required by an application development environment providing apparatus 100.
In addition, the server 200 can check the version information of the application development environment providing apparatus 100 and provide it with update service. And, the server 200 may include a database or WAS (Web Application Server) required by an application development environment providing apparatus 100.
In particular, the server 200 may include a component database that can be used in an application development environment providing apparatus 100. And, the server 200 can transmit a pertinent component to an application development environment providing apparatus 100 which has been authorized for purchasing the component. And, the server 200 may comprise a web container for the interpretation of the component.
On the other hand, a terminal 300 may be a terminal which can execute an application generated by the application development environment providing apparatus 100, for example, a smart phone or a tablet PC, and the like.
In particular, the platforms or the OSs of the terminals 300 may be different from each other. Therefore, the application development environment providing apparatus 100 according to the embodiment of the present invention is capable of identifying the target terminal and provides the application to the target terminal composed of intermediate language by converting it in a code executable by the target device, so that the target terminal can receive and execute the converted application. By this, developers can significantly reduce the time and effort to convert the same application in different platforms, without the need for special knowledge on other OSs.
Hereinafter, an application development environment providing method according to an embodiment of the present invention is described by referring to
Referring to
An application development environment providing apparatus 100 may generate an application project for development of an application. An application project may include a variety of information constituting the target application. In addition, the application project may comprise identification information, version information, developer information, authentication information, image information, connection information database connection information, server connection information, module information and source information of the target application, optimized for the target platform.
For this, the application development environment providing apparatus 100 may provide for a window for creating an application project.
Referring to
In particular, the application development environment providing apparatus 100 can perform automatic re-sizing and automatic version control of the application pages, when an application project is created and a target platform is defined.
Then, the application development environment providing apparatus 100 displays a first window showing a connection relationship between a plurality of pages (S103).
An application development environment providing apparatus 100 can display the page information of the application being developed by the generated application project through a first window. The first window may indicate connection between pages.
As shown in
For example, as shown in
In particular, an application developer can edit the relationship between the pages by changing or deleting the arrow images 111 displayed in the 1st window 110 as desired. For example, a developer may connect pages by inserting a new arrow, or separate pages by deleting an existing arrow.
And, the application development environment providing apparatus 100, if there is a change or deletion of such an image of an arrow, can reflected it in the application code composed of an intermediate language. Therefore, an application developer can easily identify and edit a connection relationship between pages without special knowledge.
On the other hand, the application development environment providing apparatus 100 may display form tabs 112 to set up connection or adding pages on or around the 1st window 110. The form tab 112, for example, may include pre-defined icons for further connection between setting and page.
And, each of the icons can be moved by drag and drop, and when moved to the first window 110, the application development environment providing apparatus 100 can set up connection relationship or add a predefined page.
Then, the application development environment providing apparatus 100 displays a second window showing a connection relationship between the components with respect to a page (S105). And, the application development environment providing apparatus 100 connects a first component including event information and a second component including action information (S107).
As described above, a page may comprise a plurality of components. Each component may refer to a unit object that is responsible for a window or function on the page. And, the components may include event information or action information to take care of such a window or function.
The event information may include user input preset for a terminal 300 or an event generated by the operation of the terminal 300. For example, the events may comprise onClose, onInit, onScrollMouse, onClick, onError, onSuccess or onEnd event.
And, each event can correspond to action information in other components. Action information may comprise information about the operation of the application which is performed according to the event generated by the terminal 300. For example, operation of the application performed depending on the event may include execution of a specific component, hide, show, toggle, page shift, clear command, goHome command, goBack command, bind command or next command.
As such, event information or action information contained in each component may correspond together, respectively, and the corresponding relationship can be displayed on the second window.
As shown in
In particular, each component may be in the form of individual blocks in the second window 120. And, the action information contained in each component may be displayed in the form of a text box on one side of the block, with event information displayed as a text box on the opposite side of the block.
And, the connection relationship between each box can be displayed by an arrow image. Each arrow image can be started from a particular event of a particular component, and may be directed to a specific action of the other components. In this case, the image of an arrow may indicate the action of the component to be executed next when a specific event occurs.
In the same manner as previously described regarding the first window 110, an application developer can change or delete the image of each arrow in the second window 120, and can add or remove each component by drag and drop. Accordingly, the connection relationship between the events and actions of the respective components can be changed, and the application development environment providing apparatus 100 can generate or delete the application code composed of intermediate language according to the change of the component and arrow displayed on the second window 120.
For example, button1 component block 121 may include onClick event box (123), and onClick event box 123 can be connected to goBack 124 action box included in link1 component block 122 by an arrow image. In this case, the application development environment providing apparatus 100 may generate a code with intermediate language and insert it in an application code being developed so that, at generation of onClink even with respect to button1 component, goBack action of link1 component can be executed. Therefore, a developer can create connection relation between components using the user interface without knowledge on the code.
As shown in
Referring to
To this end, in accordance with an embodiment of the present invention, to solve this problem the second window 120 may further include an action list component block 125. The action block list component 125 may represent an intermediate component which is interposed in the component to perform a number of actions in response to an event.
For example, a developer can create an action list component block 125, and generate connection relationship by connecting with arrows so that a plurality of execute actions of the action list component block 125 can be executed in response to a single onClick event to generate a plurality of events (event 1˜event 9). In addition, the developer can designate the components and actions to be executed by a plurality of events (event1˜event9) again using arrow images. In
In addition, the application development environment providing apparatus 100 can generate a code composed of intermediate language which enables the connection relationship set up in the second window 120 executed in the application, as shown in the bottom of
Accordingly, when the application runs on the device 300, by the connection relationship set in the second window 120, when a user clicks the Button1, the panel1 is hidden and the messagebox1 is shown.
Referring to
The page window 130 may represent a page image implemented by the respective components.
And, the component block window 140 may represent a connection between the component and the events and actions in a tree structure. Each component may be represented by 1 depth, and in lower depth, the actions included in the component are located. Accordingly, the developer can easily select the desired components and actions.
And, the attribute information of the selected component or actions may be shown at the top of the component block window 140. Attribute information may include the identification information, data connection information and event information associated with each action of the individual components.
Note that the component block window 140 and the page display window 130 may correspond to the second window 120 described above. Thus, the application development environment providing apparatus 100 can display an application in the second window 120, or selectively in the component block window 140 and page window 130. To this end, the application development environment providing apparatus 100 may provide a setting menu for the display method of the connection between components.
This method of connection between the event and the action, unlike the method using the event handling procedure using double click and procedure generation of conventional development environment, can be a method for selecting event and action to be included in a components. Therefore, when a specific button is pressed, the developer can simply select a component object and action included in the cont to be executed to complete connection between event and action.
Referring to
In addition, the developer can select any of the items in this component to move to the page window 151 by drag and drop. In response to this, the application development environment providing apparatus 100 can facilitate adding components by inserting a code corresponding to the relocated component item in the application code. Therefore, a developer can add components to a page with simple drag-and-drop without writing code for the component.
In addition, pre-defined components can be received and updated from a server 200. An application development environment providing apparatus 100 can communicate with the server 200 to receive new components, and update the list of the components. The developer can add new components to the application page by drag and drop from the updated components list.
Referring to
As shown in
As shown in
As shown in
A method for providing an application development environment is described in further detail by referring to
Referring to
An application development environment providing apparatus 100 in accordance with an embodiment of the present invention can display at least one component defined with intermediate language on a window. The intermediate language may include an XML-type language for applying an application to a target terminal. In addition, the intermediate language can be generated on the basis of the connection-relationship window between components as described above. As a result, an application development environment providing apparatus 100 in accordance with an embodiment of the present invention can avoid overlapping development of a same application for adapting to different platforms by using an intermediate language.
As shown in
As shown in
Therefore, the intermediate language as shown in
On the other hand,
And,
A component may have a structure as shown in
Referring to
A visual component may be a common user interface component (button, label, text box, etc.), a container component may be a user interface component which includes visual components (forms, header, footer, panel). And, a collection component may be a user interface component (list view, cover flow, navigation bar) that represents a list and a non-visual component may be the components not shown in a window but takes care of specific action or data processing (timer, link, message box, db tables).
Each component can be composed of an intermediate language in a corresponding XML format it. A first code composed of an intermediate language is converted to a second code corresponding with a target platform according to the event or action specified in the component (S205).
A component composed of an intermediate language may have the form of XML. For example, each component may represent a node unit of XML. And, each component can be declared over the qname and id attribute. The prefix of the qname can mean a namespace, and name may have a component name. And, id attribute may have a unique value in a page, beginning with an Alphabet and comprising a combination of alphabetic characters and numbers.
On the other hand, the top-node in an intermediate language can represent a page. Accordingly, prefix of qname can be declared by xmlns:attribute of the page element.
And, the pages constituting one window may be present as a single file unit, and an id element of a page can have a unique value in all pages.
The actions and events of these components may be included as a child element of declared component elements. For example, a container component may include visual components as the child elements. In addition, a collection component may include a collection of item components in the form of item element. In addition, all components may include at least one of event and action.
An application development environment providing apparatus 100 in accordance with an embodiment of the present invention can convert the codes created with an intermediate language into a second language suitable for a target device. For example, an application development environment providing apparatus 100 according to an embodiment of the present invention can convert an intermediate language into a second language, such as iOS series, Android series, and Tizen OS directly, maximizing development efficiency.
In addition, an application development environment providing apparatus 100 according to an embodiment of the present invention can provide a simulation window of a target platform with an application development environment. Accordingly, the developer is able to determine in advance whether or not the application can run on the selected device.
An application development environment providing apparatus 100 in accordance with an embodiment of the present invention may deploy instance name of component object, object name and icons in the top area of the component object in order for efficient display of the components and the connection relationship between the events and actions. This enables easy discernment of the components, as shown in
Here, in one side of the component object, box-type actions can be placed while box-type events can be placed in the opposite side. The connection relationship from the events to the actions can be indicated with the direction of arrow images. As a result, a developer can grasp smooth flow of application connect one side to the opposite side.
On the other hand, in order to express components and the connection relationship between the events and actions efficiently, an application development environment providing apparatus 100 in accordance with an embodiment of the present invention needs to display the components in a well-arranged manner.
As shown in
In this way, as shown in
Conventional hybrid application development tools can not support a wide range of resolution. In particular, conventional application development tools supporting WYSWYG designs UI components in the X and Y coordinates only in order to apply layout coordinates by drag and drop operation. However, this method requires to develop a new screen if the resolution of the terminal is changed, or the display mode is switched between portrait and landscape.
Thus, referring to
When arranging a window using UI components, the block layout system does not make of the X and Y coordinate information, but may mean a system arranging at the top, bottom, left and right with reference to the container component. In this case, even if the resolution is changed, all the components remain at the same positions so that all the target terminals can display the same layout.
In addition, if consecutive components are arranged, for example, button 1, button 2, and button 3 are to be arranged, even if only the sizes of each button are defined, the same layout can be expressed even if the window rotates or displayed on a device having a different resolution.
For example, as shown in
Referring to
As shown in
An application development environment providing apparatus 100 in accordance with an embodiment of the present invention can support a variety of deployment types according to the preference of the developer and/or purpose, and can be implemented with various system frame works for this purpose. According to an embodiment of the present invention, in the case of iOS, 3 types including xarchive, ipa, and Xcode project can be supported and automatic authentication signing can be supported. For Android devices, 2 type including apk and ADT project can be supported and automatic creation and signing of authentication can be supported, in addition to WAR packaging via Data Server and server uploading via ftp.
An application development environment providing apparatus 100 according to an embodiment of the present invention can be designed to embed Webik engine and run in OSX, Linux, and Windows in order to implement Once Source and Multi Platform. An application development environment providing apparatus 100 can provide an application development environment, differentiated from eclipse, so that the developers do not need additional setting and developer's installation requirements such as WAS. In addition, JVM and Webkit are embedded and no extra installation or setup is necessary.
Referring to
A container component may comprise at least one of application, form, header, footer, panel, layout panel, vertical panel, Accordion, Frame splitter, frame container and frame, and the collection container can comprise at least one of image slide view, cover flow, icon list view, thumbnail list view, navigation bar list view. multi-list view and calendar list view components.
In addition, a non-visual bar can comprise at least one of loading bar, timer, date and time, DBinsert/Update/Delete, link, web link, message box, action list, variable, login and view components, and may further comprise datastore components in the lower level. The datastore component, with respect to DB, may comprise at least one of DB table, Web app module, Rss, Assets, file list, form data store, app data store, GPS, compass and battery components.
Hereinafter, referring to
Hereinafter, as shown in
And,
As shown in
As shown in
As shown in
In this way, the application development environment providing apparatus 100 of the present invention enables development of applications for various platforms with simple clicks and drag-and-drop operation, without special knowledge in various language codes.
The application development environment providing method according to the present invention described above can be created in a software program executable by a computer system and can be saved in a recording medium readable by a computer system. The computer readable recording medium may include ROM, RAM, CD-ROM, magnetic tape, floppy disc, optical data storage device, or can be implemented in a carrier wave form (for example, transmission via the Internet).
The computer readable recording media can be distributed over network-connected computer systems so that the computer-readable code is stored and executed in a distributed way. And, the functional (function) program for implementing the method, codes, and code segments can be easily inferred by programmers skilled in the art to which the invention pertains.
The present invention was describes above by referring to preferable embodiments, however, the present invention is not limited to the embodiments set forth and described above but can be modified and changed without departing from the spirit of the invention described in the claims by those skilled in the art.
Number | Date | Country | Kind |
---|---|---|---|
10-2013-0007167 | Jan 2013 | KR | national |
10-2013-0007170 | Jan 2013 | KR | national |
The present utility application is the National Phase filing under 35 U.S.C. 371 of the Korean Application No.: 10-2013-0007167, filed 22 Jan. 2013, 1020130007170, filed 22 Jan. 2013 and International Application No.: PCT/KR2014/000572, entitled “METHOD FOR PROVIDING APPLICATION DEVELOPMENT ENVIRONMENT AND DEVICE”, filed 2014 Jan. 21.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/KR2014/000572 | 1/21/2014 | WO | 00 |