KR102152136B1 - Apparatus and Method for creating web application - Google Patents

Apparatus and Method for creating web application Download PDF

Info

Publication number
KR102152136B1
KR102152136B1 KR1020130119771A KR20130119771A KR102152136B1 KR 102152136 B1 KR102152136 B1 KR 102152136B1 KR 1020130119771 A KR1020130119771 A KR 1020130119771A KR 20130119771 A KR20130119771 A KR 20130119771A KR 102152136 B1 KR102152136 B1 KR 102152136B1
Authority
KR
South Korea
Prior art keywords
file
page
code
web
code generation
Prior art date
Application number
KR1020130119771A
Other languages
Korean (ko)
Other versions
KR20150041352A (en
Inventor
곽노현
Original Assignee
에스케이플래닛 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이플래닛 주식회사 filed Critical 에스케이플래닛 주식회사
Priority to KR1020130119771A priority Critical patent/KR102152136B1/en
Publication of KR20150041352A publication Critical patent/KR20150041352A/en
Application granted granted Critical
Publication of KR102152136B1 publication Critical patent/KR102152136B1/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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation

Abstract

본 발명은 웹 앱 생성 장치 및 방법에 관한 것으로, 보다 상세하게는 디렉토리, 파일명, 파일 타입, 파일을 생성하기 위해 호출할 호출함수 중 적어도 하나를 포함하는 코드 생성 룰을 정의하는 코드 생성 룰 정의부, 웹 애플리케이션에 대한 페이지 구조를 정의하고, 상기 코드 생성 룰을 이용하여 각 페이지에 대한 정적 구성요소 파일 또는 동적 구성요소 파일을 생성하는 웹 앱 코드 생성부를 포함한다. The present invention relates to an apparatus and method for creating a web app, and more particularly, a code generation rule definition unit that defines a code generation rule including at least one of a directory, a file name, a file type, and a calling function to be called to create a file. , A web app code generator that defines a page structure for a web application, and generates a static component file or a dynamic component file for each page using the code generation rule.

Description

웹 앱 생성 장치 및 방법{Apparatus and Method for creating web application}Apparatus and Method for creating web application}

본 발명은 웹 앱 생성 장치 및 방법에 관한 것으로, 보다 상세하게는 웹 애플리케이션에 대한 페이지 구조를 정의하고, 기 정의된 코드 생성 룰을 이용하여 각 페이지에 해당하는 정적 구성요소 파일과 동적 구성요소 파일을 생성하여 웹 애플리케이션을 생성하는 웹 앱 생성 장치 및 방법에 관한 것이다.
The present invention relates to an apparatus and method for generating a web app, and more particularly, to define a page structure for a web application, and use a predefined code generation rule to create a static component file and a dynamic component file corresponding to each page. It relates to a web app generating device and method for generating a web application by generating.

점차 일상화되어가는 인터넷 문화는 더 방대하고 더 빠르게 진화하는 웹 애플리케이션을 끊임없이 요구하고 있다. 이러한 웹 애플리케이션의 개발 방향은 새로운 요구에 맞춘 혁신적인 프로그래밍 언어나 코딩 기법을 연구하는 것과, 현재 사용되고 있는 프로그래밍 언어나 코딩 기법을 더욱 효과적으로 활용할 수 있도록 하는 방법을 연구하는 것으로 나눌 수 있다. 또한, 이러한 웹 애플리케이션의 개발 동향 역시 웹 서버측에서 수행되는 스크립트 언어를 이용하는 방식과 웹 클라이언트 측에서 독립적으로 수행되는 스크립트 언어를 이용하는 방식으로 나뉘어 발전하고 있다.The increasingly common Internet culture is constantly demanding broader and faster evolving web applications. The development direction of these web applications can be divided into researching innovative programming languages or coding techniques that meet new needs, and researching methods to make more effective use of currently used programming languages or coding techniques. In addition, the development trend of such web applications is also being divided into a method of using a scripting language executed on the web server side and a method of using a scripting language independently executed on the web client side.

한편, 종래 웹 기반 저작환경에서 저작된 생성물은 동적인 구성 요소가 아닌, 주로 정적인 구성 요소인 HTML(Hypertext Markup Language)과 CSS(Cascading Style Sheets)로 구성되어 있다. 하지만 웹 기술이 점점 발달하면서 웹 기반 저작 환경에서는 정적인 구성 요소뿐만 아니라 동적인 구성 요소(페이지, 이벤트 처리, 위젯 등)가 더 필요하게 되었다. 동적인 구성 요소를 많이 가지는 경우는 JS(JavaScript)가 많이 필요하여 기존의 방법과는 다르게 된다.Meanwhile, the authored product in the conventional web-based authoring environment is not composed of dynamic elements, but mainly composed of static elements such as HTML (Hypertext Markup Language) and CSS (Cascading Style Sheets). However, as web technology has gradually developed, not only static components but also dynamic components (pages, event handling, widgets, etc.) are required more in a web-based authoring environment. In the case of having a lot of dynamic components, JS (JavaScript) is required a lot, which is different from the existing method.

이처럼 웹 애플리케이션의 동적인 구성 요소는 JS code를 많이 필요로 하게 되고, JS는 이벤트와 밀접하게 작용하기 때문에, 이벤트를 기반으로 동적인 요소들이 언제 필요로 하는지 미리 분석하여 웹 애플리케이션과 위젯의 결과물을 반영할 필요가 있다.
As such, dynamic components of web applications require a lot of JS code, and because JS works closely with events, based on events, we analyze in advance when dynamic elements are needed to analyze the results of web applications and widgets. Need to reflect.

선행기술 1: 한국등록특허 제1,161,946호(2011.09.30 공개)Prior Art 1: Korean Patent Registration No. 1,161,946 (published on September 30, 2011)

본 발명은 상술한 종래의 문제점을 해결하기 위한 것으로, 웹 기반 저작환경에서 동적인 구성 요소를 많이 포함하고 있는 웹 애플리케이션 또는 위젯들을 포함하는 결과물을 개발할 수 있는 웹 앱 생성 장치 및 방법을 제공하는데 그 목적이 있다.The present invention is to solve the above-described conventional problem, and provides a web app generating device and method capable of developing a web application including a large number of dynamic components or a result including widgets in a web-based authoring environment. There is a purpose.

본 발명의 다른 목적은 웹 기반의 페이지, 이벤트, 위젯 등의 동적인 구성요소들이 반영된 웹 앱 생성 장치를 제공하여, 코드 생성이 필요한 저작 및 편집 환경에서 기본 컨셉을 이용하여 유용하게 활용할 수 있도록 하는 웹 앱 생성 장치 및 방법을 제공하는데 있다.
Another object of the present invention is to provide a web app generating device reflecting dynamic components such as web-based pages, events, and widgets, so that the basic concept can be used in a writing and editing environment where code generation is required. It is to provide a device and method for creating a web app.

상술한 과제를 해결하기 위한 본 발명의 일 측면에 따르면, 디렉토리, 파일명, 파일 타입, 파일을 생성하기 위해 호출할 호출함수 중 적어도 하나를 포함하는 코드 생성 룰을 정의하는 코드 생성 룰 정의부, 웹 애플리케이션에 대한 페이지 구조를 정의하고, 상기 코드 생성 룰을 이용하여 각 페이지에 대한 정적 구성요소 파일 또는 동적 구성요소 파일을 생성하는 웹 앱 코드 생성부를 포함하는 웹 앱 생성 장치가 제공된다. According to an aspect of the present invention for solving the above-described problem, a code generation rule definition unit defining a code generation rule including at least one of a directory, a file name, a file type, and a calling function to be called to generate a file, a web There is provided a web app generation device including a web app code generator that defines a page structure for an application and generates a static component file or a dynamic component file for each page using the code generation rule.

상기 호출함수는 웹 애플리케이션의 데이터 구조에 접근하여 반환된 결과값을 해당 코드로 생성하는 함수일 수 있다. The calling function may be a function that accesses a data structure of a web application and generates a returned result value with a corresponding code.

상기 웹 앱 코드 생성부는 웹 애플리케이션을 이루는 페이지 구조를 정의하는 페이지 구조 정의 모듈, 상기 코드 생성 룰을 이용하여 상기 페이지 구조 정의 모듈에서 정의된 각 페이지에 대한 정적 구성요소 파일 또는 동적 구성요소 파일의 로직을 구현하고, 상기 구현된 로직의 호출함수를 호출하여 반환된 결과값을 코드로 생성하며, 상기 생성된 코드를 상기 로직에 정의된 파일명 및 파일타입으로 해당 디렉토리에 저장하는 구성요소 파일 생성모듈을 포함할 수 있다. The web app code generation unit is a page structure definition module that defines a page structure constituting a web application, and the logic of a static component file or a dynamic component file for each page defined in the page structure definition module using the code generation rule A component file generation module that implements and generates the returned result value as a code by calling the calling function of the implemented logic, and stores the generated code in the corresponding directory as the file name and file type defined in the logic. Can include.

상기 로직은 디렉토리, 파일명, 파일 타입, 호출함수 중 적어도 하나를 포함할 수 있다. The logic may include at least one of a directory, a file name, a file type, and a call function.

본 발명의 다른 측면에 따르면, 웹 앱 생성 장치가 웹 앱을 생성하는 방법에 있어서, 웹 애플리케이션에 대한 페이지 구조를 정의하는 단계, 기 정의된 코드 생성 룰을 이용하여 상기 정의된 각 페이지에 대한 정적 구성요소 파일 또는 동적 구성요소 파일을 생성하는 단계를 포함하는 웹 앱 생성 방법이 제공된다. According to another aspect of the present invention, in a method for generating a web app by a web app generating device, defining a page structure for a web application, static for each page defined using a predefined code generation rule A method of creating a web app including generating a component file or a dynamic component file is provided.

상기 웹 앱 생성 방법은 디렉토리, 파일명, 파일 타입, 파일을 생성하기 위해 호출할 호출함수 중 적어도 하나를 포함하는 코드 생성 룰을 정의하는 단계를 더 포함할 수 있다. The web app creation method may further include defining a code generation rule including at least one of a directory, a file name, a file type, and a calling function to be called to create a file.

상기 기 정의된 코드 생성 룰을 이용하여 상기 정의된 각 페이지에 대한 정적 구성요소 파일 또는 동적 구성요소 파일을 생성하는 단계는, 상기 코드 생성 룰을 이용하여 상기 정의된 각 페이지에 대한 정적 구성요소 파일 또는 동적 구성요소 파일의 로직을 구현하는 단계, 상기 구현된 로직의 호출함수를 호출하여 반환된 결과값을 코드로 생성하는 단계, 상기 생성된 코드를 상기 로직에 정의된 파일명 및 파일타입으로 해당 디렉토리에 저장하는 단계를 포함할 수 있다. The step of generating a static component file or a dynamic component file for each page defined using the predefined code generation rule includes: a static component file for each page defined using the code generation rule Or implementing the logic of a dynamic component file, generating a returned result value as a code by calling a calling function of the implemented logic, and converting the generated code into a file name and file type defined in the logic It may include the step of storing in.

본 발명의 또 다른 측면에 따르면, 웹 앱 생성 장치에 의해 실행될 때, 웹 애플리케이션에 대한 페이지 구조를 정의하는 단계, 기 정의된 코드 생성 룰을 이용하여 상기 정의된 각 페이지에 대한 정적 구성요소 파일 또는 동적 구성요소 파일을 생성하는 단계를 포함하는 웹 앱 생성 방법이 프로그램으로 기록되고 전자 장치에서 판독 가능한 기록매체가 제공된다.
According to another aspect of the present invention, when executed by a web app generating device, defining a page structure for a web application, a static component file for each page defined using a predefined code generation rule, or A method of generating a web app including the step of generating a dynamic component file is recorded as a program and a recording medium readable by an electronic device is provided.

본 발명에 따르면, 웹 기반의 페이지, 이벤트, 위젯 등의 동적인 구성요소들이 반영된 웹 앱 생성 장치를 제공함으로써, 코드 생성이 필요한 저작 및 편집 환경에서 기본 컨셉을 이용하여 유용하게 활용할 수 있다. According to the present invention, by providing a web app generating device in which dynamic elements such as web-based pages, events, and widgets are reflected, it can be usefully utilized by using a basic concept in a writing and editing environment requiring code generation.

또한, 웹 기술을 가지고 애플리케이션을 만들면 특정 플랫폼(iOS, Android)이나 디바이스(PC, tablet, smart phone)에 종속되지 않고 호환 가능하고 재사용성이 높다. In addition, if an application is created with web technology, it is compatible and highly reusable without being dependent on a specific platform (iOS, Android) or device (PC, tablet, smart phone).

또한, 웹 애플리케이션을 생성하기 위해서는 페이지 구성과 이벤트 처리, 위젯 추가가 필수적인데, 코드 생성 장치를 통해 웹 애플리케이션을 쉽게 개발할 수 있다.
In addition, in order to create a web application, page composition, event processing, and widget addition are essential. A web application can be easily developed through a code generating device.

도 1은 본 발명의 실시예에 따른 웹 앱 생성 장치의 구성을 개략적으로 나타낸 블럭도.
도 2는 도 1에 도시된 웹 코드 생성부의 구성을 상세히 나타낸 블럭도.
도 3은 본 발명의 실시예에 따른 웹 애플리케이션 코드 생성 방법을 나타낸 흐름도.
도 4는 본 발명의 실시예에 따른 웹 애플리케이션의 페이지 구조 예시도.
도 5는 본 발명의 실시예에 따른 호출함수를 이용하여 코드를 생성하기 위한 방법을 설명하기 위한 자료구조의 예시도.
1 is a block diagram schematically showing the configuration of a web app generating apparatus according to an embodiment of the present invention.
Figure 2 is a block diagram showing in detail the configuration of the web code generation unit shown in Figure 1;
3 is a flowchart illustrating a method of generating a web application code according to an embodiment of the present invention.
4 is an exemplary view of a page structure of a web application according to an embodiment of the present invention.
5 is an exemplary view of a data structure for explaining a method for generating a code using a calling function according to an embodiment of the present invention.

본 발명의 전술한 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하 상세한 설명에 의해 보다 명확하게 이해될 것이다.Details of the above-described objects and technical configurations of the present invention, as well as operational effects thereof, will be more clearly understood by the following detailed description based on the accompanying drawings in the specification of the present invention.

이하에 기재된 앱은 애플리케이션(application)의 약어로, 설명의 편의를 위해 앱과 애플리케이션을 혼용하여 사용하기로 한다. The app described below is an abbreviation of application, and for convenience of description, an app and an application are used in combination.

도 1은 본 발명의 실시예에 따른 웹 앱 생성 장치의 구성을 개략적으로 나타낸 블럭도, 도 2는 도 1에 도시된 웹 코드 생성부의 구성을 상세히 나타낸 블럭도이다. 1 is a block diagram schematically showing the configuration of a web app generating device according to an embodiment of the present invention, and FIG. 2 is a block diagram showing in detail the configuration of a web code generating unit shown in FIG. 1.

도 1을 참조하면, 웹 앱 생성 장치(100)는 코드 생성 룰 정의부(110), 웹 앱 코드 생성부(120)를 포함한다.Referring to FIG. 1, the web app generation device 100 includes a code generation rule definition unit 110 and a web app code generation unit 120.

코드 생성 룰 정의부(110)는 각 파일들을 생성할 디렉토리, 파일명, 파일 타입, 파일을 생성하기 위해 호출할 호출함수 등을 포함하는 코드 생성 룰을 정의한다. 여기서, 디렉토리는 생성된 파일들이 저장될 장소일 수 있고, 파일명은 생성된 파일의 명칭일 수 있다. 파일 타입은 js, html 등 사용자에 의해 선정된 파일의 타입일 수 있다. 호출함수는 웹 애플리케이션의 데이터 구조에 접근하여 반환된 결과값을 해당 코드(내용, 문자열)로 생성하는 함수일 수 있다. The code generation rule definition unit 110 defines a code generation rule including a directory in which each file is to be generated, a file name, a file type, and a calling function to be called to generate a file. Here, the directory may be a place where the generated files are to be stored, and the file name may be the name of the generated file. The file type may be a file type selected by a user such as js or html. The calling function may be a function that accesses the data structure of a web application and generates the returned result value as a corresponding code (content, string).

코드 생성 룰 정의부(110)에서 정의된 코드 생성 룰은 템플릿 형태로 저장될 수 있다.The code generation rule defined by the code generation rule definition unit 110 may be stored in the form of a template.

웹 앱 코드 생성부(120)는 웹 애플리케이션에 대한 페이지 구조를 정의하고, 코드 생성 룰 정의부(110)에서 정의된 코드 생성 룰을 이용하여 각 페이지에 해당하는 정적 구성요소 파일과 동적 구성요소 파일을 생성한다. 여기서, 정적 구성 요소는 HTML, CSS 등을 포함할 수 있고, 동적 구성요소는 페이지, 이벤트, 위젯 등과 같이 동적으로 동작하는 요소로서, 예컨대 JS 등을 포함할 수 있다. The web app code generation unit 120 defines a page structure for a web application, and uses a code generation rule defined in the code generation rule definition unit 110 to provide a static component file and a dynamic component file corresponding to each page. Create Here, the static component may include HTML, CSS, and the like, and the dynamic component is an element that dynamically operates such as a page, an event, and a widget, and may include, for example, JS.

웹 앱 코드 생성부(120)에 대해 도 2를 참조하면, 웹 앱 코드 생성부(120)는 페이지 구조 정의 모듈(122), 구성요소 파일 생성 모듈(124)을 포함한다.Referring to FIG. 2 for the web app code generation unit 120, the web app code generation unit 120 includes a page structure definition module 122 and a component file generation module 124.

페이지 구조 정의 모듈(122)은 웹 애플리케이션을 이루는 페이지들의 정적 구성요소 또는 동적 구성요소들을 포함하는 페이지 구조를 정의한다. 예컨대, main, view, comment, mypage 총 4개의 페이지로 구성된 웹 애플리케이션을 정의할 수 있다.The page structure definition module 122 defines a page structure including static components or dynamic components of pages constituting a web application. For example, you can define a web application consisting of a total of 4 pages: main, view, comment, and mypage.

구성요소 파일 생성 모듈(124)은 코드 생성 룰을 이용하여 각 페이지에 해당하는 정적 구성요소 파일 또는 동적 구성요소 파일을 생성한다. 즉, 구성요소 파일 생성 모듈(124)은 코드 생성 룰을 이용하여 페이지 구조 정의 모듈(122)에서 정의된 각 페이지에 대한 정적 구성요소 파일 또는 동적 구성요소 파일의 로직을 구현하고, 구현된 로직의 호출함수를 호출하여 반환된 결과값을 코드(내용, 문자열)로 생성하며, 생성된 코드를 상기 로직에 정의된 파일명 및 파일타입으로 해당 디렉토리에 저장한다. The component file generation module 124 generates a static component file or a dynamic component file corresponding to each page by using a code generation rule. That is, the component file generation module 124 implements the logic of a static component file or a dynamic component file for each page defined in the page structure definition module 122 using code generation rules, and The result value returned by calling the calling function is generated as code (contents, character string), and the generated code is stored in the corresponding directory as the file name and file type defined in the above logic.

예컨대, main, view, comment, mypage 총 4개의 페이지로 구성된 웹 애플리케이션의 경우, 구성요소 파일 생성 모듈(124)은 main 페이지의 정적 구성요소 파일 또는 동적 구성요소 파일을 생성, view 페이지의 정적 구성요소 파일 또는 동적 구성요소 파일을 생성, comment 페이지의 정적 구성요소 파일 또는 동적 구성요소 파일을 생성, mypage 페이지의 정적 구성요소 파일 또는 동적 구성요소 파일을 생성한다. 이때, 구성요소 파일 생성모듈(124)은 각 페이지의 정적 구성요소 파일 또는 동적 구성요소 파일을 각 페이지에서 정의된 파일타입으로 생성하고, 생성된 파일들을 각 페이지에서 정의된 파일명으로 해당 디렉토리에 저장한다. For example, in the case of a web application consisting of 4 pages in total, main, view, comment, and mypage, the component file generation module 124 creates a static component file or a dynamic component file of the main page, and the static component of the view page Create file or dynamic component file, create static component file or dynamic component file of comment page, create static component file or dynamic component file of mypage page. At this time, the component file generation module 124 creates a static component file or a dynamic component file of each page as a file type defined in each page, and stores the generated files in a corresponding directory as a file name defined in each page. do.

예를 들어, "commonJs : {For example, "commonJs: {

                    directory : "js",directory: "js",

                    filename : "common.js",filename: "common.js",

                    type : "js",type: "js",

                    generator : generateCommonJsgenerator: generateCommonJs

               }"와 같이 정의된 동적 구성요소 파일에 대해 설명하기로 한다. 이 경우, 구성요소 파일 생성 모듈(124)는 'generateCommonJs' 함수를 호출하여 반환된 결과값을 코드(내용, 문자열)로 생성하고, 생성된 코드를 'js' 디렉토리에 js(자바스크립트) 타입의 파일 'common.js'을 만들어 'js/commom.js' 파일에 추가한다.}" will be described. In this case, the component file generation module 124 calls the'generateCommonJs' function to generate the returned result value as code (contents, string), and , Create a js (Javascript) type file'common.js' in the'js' directory and add the generated code to the'js/commom.js' file.

도 3은 본 발명의 실시예에 따른 웹 애플리케이션 코드 생성 방법을 나타낸 흐름도, 도 4는 본 발명의 실시예에 따른 웹 애플리케이션의 페이지 구조 예시도, 도 5는 본 발명의 실시예에 따른 코드 생성 룰에 포함된 호출함수를 이용하여 코드를 생성하는 방법을 설명하기 위한 도면이다.3 is a flowchart showing a method of generating a web application code according to an embodiment of the present invention, FIG. 4 is an exemplary view of a page structure of a web application according to an embodiment of the present invention, and FIG. 5 is a code generation rule according to an embodiment of the present invention. It is a diagram for explaining a method of generating a code by using the calling function included in.

도 3을 참조하면, 웹 앱 생성 장치는 저작하고자 하는 웹 애플리케이션에 대한 페이지 구조 정보를 정의한다(S302). 즉, 개발자는 저작하고자 하는 웹 애플리케이션의 페이지 구조를 도 4와 같은 형태로 정의할 수 있다. Referring to FIG. 3, the web app generating device defines page structure information for a web application to be authored (S302). That is, the developer can define the page structure of the web application to be authored in the form as shown in FIG. 4.

도 4는 4개의 페이지 main, view, comment, mypage로 구성된 웹 애플리케이션의 경우에 생성되는 코드의 구조를 나타낸다.4 shows the structure of a code generated in the case of a web application composed of four pages, main, view, comment, and mypage.

도 4를 참조하면, 웹 애플리케이션에는 main, view, comment, mypage 각각에 대한 html파일과 js파일, common.js 파일이 존재한다. 여기서, common.js는 모든 페이지에서 공통적으로 필요한 JS 코드가 포함된다. 모든 페이지에서 공통적으로 필요한 코드는 가로/세로 화면 전환시 사이즈 변환에 필요한 코드, 초기화면으로 전환시 필요한 코드 등 모든 페이지에 공통적으로 적용되는 부분들이 정의된다. Html파일은 정적 구성요소 파일일 수 있고, js파일은 동적 구성요소 파일일 수 있다. 웹 앱 생성 장치는 main, view, comment, mypage 4개의 페이지 각각에 대한 html과 js파일을 생성한다. 따라서, main.html과 main.js는 main 페이지를 구성하고, view.html과 view.js는 view페이지를 구성하며, comment.html과 comment.js는 comment페이지를 구성, mypage.html과 mypage.js는 mypage페이지를 구성할 수 있다. Referring to FIG. 4, there are html files, js files, and common.js files for each of main, view, comment, and mypage in a web application. Here, common.js contains JS code that is commonly needed in all pages. Codes commonly required in all pages are defined in parts that are commonly applied to all pages, such as a code required for size conversion when switching to a horizontal/vertical screen, and a code required for switching to an initial screen. The Html file can be a static component file, and the js file can be a dynamic component file. The web app creation device creates html and js files for each of the four pages: main, view, comment, and mypage. Therefore, main.html and main.js constitute the main page, view.html and view.js constitute the view page, comment.html and comment.js constitute the comment page, mypage.html and mypage.js Can compose the mypage page.

웹 애플리케이션에 대한 페이지 구조 정보가 정의되면, 웹 앱 생성 장치는 코드 생성 룰을 이용하여 각 페이지에 해당하는 정적 구성요소 파일 또는 동적 구성요소 파일의 로직을 구현한다(S304). 즉, 각 페이지에는 html과 js파일이 있고, html 파일과 js파일을 생성하는 로직은 상이하므로, 이를 생성하기 위한 로직은 별도로 구현해야 한다. When the page structure information for the web application is defined, the web app generating device implements the logic of a static component file or a dynamic component file corresponding to each page using a code generation rule (S304). In other words, each page has html and js files, and the logic for creating html and js files is different, so the logic for creating them must be implemented separately.

예컨대, 웹 앱 생성 장치는 하기와 같이 정적 구성요소 파일과 동적 구성요소 파일을 생성하기 위한 로직을 정의할 수 있다. 여기서, 정적 구성요소 파일은 html 파일일 수 있고, 동적 구성요소 파일은 js파일일 수 있다.For example, the web app generating device may define logic for generating a static component file and a dynamic component file as follows. Here, the static component file may be an html file, and the dynamic component file may be a js file.

{{

                commonJs : {commonJs: {

                    directory : "js",directory: "js",

                    filename : "common.js",filename: "common.js",

                    type : "js",type: "js",

                    generator : generateCommonJsgenerator: generateCommonJs

                },},

                mainHtml : {mainHtml: {

                    directory : "",directory: "",

                    filename : "main.html",filename: "main.html",

                    type : "html",type: "html",

                    generator : generateMainHtmlgenerator: generateMainHtml

                },},

                mainJs : {mainJs: {

                    directory : "js",directory: "js",

                    filename : "main.js",filename: "main.js",

                    type : "js",type: "js",

                    generator : generateMainJsgenerator: generateMainJs

                },},

...... ......

            };};

상기 로직에서                 commonJs을 살펴보면, 'js' 디렉토리에 js(자바스크립트) 타입의 파일 'common.js'를 만들기 위해서는 'generateMainJs'함수를 호출해야 한다. 즉, 'generateMainJs'함수를 호출하면 결과값이 반환되고, 그 반환된 결과값이 'js/common.js' 파일에 들어갈 내용(문자열)일 수 있다. 이때, generateCommonJs 함수는 전체의 데이터 구조에 접근하여 common.js 파일에 포함되어야 하는 코드를 찾아서 common.js에 추가한다.In the above logic, looking at                commonJs, in order to make a js (JavaScript) type file'common.js' in the'js' directory, the'generateMainJs' function must be called. That is, when the'generateMainJs' function is called, the result value is returned, and the returned result value may be the content (string) to be entered in the'js/common.js' file. At this time, the generateCommonJs function accesses the entire data structure, finds the code that should be included in the common.js file, and adds it to common.js.

다음으로, mainHtml을 살펴보면, 임의 디렉토리에 html 타입의 파일 'main.html'를 만들기 위해서는 'generateMainHtml'함수를 호출해야 한다. 즉, '/main.html'파일에 들어갈 내용(문자열)은 'generateMainHtml' 함수를 호출하면, 결과값으로 반환된다는 것을 의미한다. Next, looking at mainHtml, in order to create an html type file'main.html' in an arbitrary directory, the'generateMainHtml' function must be called. In other words, it means that the content (string) to be entered in the'/main.html' file is returned as a result value when the'generateMainHtml' function is called.

마지막으로, mainJs을 살펴보면, 'js' 디렉토리에 js(자바스크립트) 타입의 파일 'main.js/를 만들기 위해서는 'generateMainJs' 함수를 호출해야 한다. 즉, 'js/main.html'파일에 들어갈 내용(문자열)은 'generateMainJs' 함수를 호출하면, 결과값으로 반환된다는 것을 의미한다. 이때, generateMainJs 함수는 main 노드 이하의 노드들만 검사하면서 main.js에 포함되어야 하는 코드를 찾아서 main.js에 추가한다. 각 함수에서 해당 js 파일에 추가될 코드는 각 노드에 속성으로 추가되어야 한다.Finally, looking at mainJs, in order to create a js (javascript) type file'main.js/' in the'js' directory, the'generateMainJs' function must be called. In other words, it means that the content (string) to be entered in the'js/main.html' file is returned as a result value when the'generateMainJs' function is called. At this time, generateMainJs function checks only nodes below the main node, finds the code that should be included in main.js, and adds it to main.js. In each function, the code to be added to the js file must be added as a property to each node.

코드 생성 룰은 각 파일들을 생성할 디렉토리, 파일명, 파일 타입, 파일을 생성하기 위해 호출할 호출 함수를 포함하므로, 웹 앱 생성 장치는 코드 생성 룰을 이용하여 구현된 로직의 호출 함수를 이용하여 해당 코드(내용, 문자열)를 생성한다. 각각의 호출(generator) 함수는 저작하려고 하는 웹 애플리케이션의 데이터 구조에 접근하여 해당 코드(내용, 문자열)를 생성한다.Since the code generation rule includes the directory to create each file, the file name, the file type, and the calling function to be called to create the file, the web app generation device uses the calling function of the logic implemented using the code generation rule. Generate code (content, string). Each generator function accesses the data structure of the web application to be authored and creates the corresponding code (content, string).

웹 앱 생성 장치가 호출 함수를 이용하여 파일의 코드(내용, 문자열)를 만들기 위해서는 웹 애플리케이션을 구성하는 페이지, 위젯, 이벤트 등의 각 요소를 도 5와 같은 자료 구조로 만들어야 한다. In order for the web app generating device to create the code (contents, strings) of the file using the calling function, each element, such as a page, widget, and event, constituting the web application must be made into a data structure as shown in FIG. 5.

웹 앱 생성 장치가 코드 생성 룰을 이용하여 구현된 로직에 포함된 호출함수를 이용하여 파일의 코드(내용, 문자열)을 만들기 위한 자료구조에 대해 도 5를 참조하여 설명하기로 한다. 도 5를 참조하면, 웹 애플리케이션(App)은 main, view, comment, mypage 총 4개의 페이지로 구성되고, main 페이지에는 Widget1이 포함된 트리 구조로 되어 있다. A data structure for creating a code (content, string) of a file by using a calling function included in a logic implemented using a code generation rule by the web app generation device will be described with reference to FIG. 5. Referring to FIG. 5, a web application (App) is composed of a total of 4 pages, main, view, comment, and mypage, and the main page has a tree structure including Widget1.

하기 로직은 main 페이지의 widget1에서 코드 생성을 위해 가지고 있어야 하는 값을 JSON(제이슨, JavaScript Object Notation)형태로 선언한 예를 나타낸 것이다. JSON은 인터넷에서 자료를 주고받을 때 그 자료를 표현하는 방법일 수 있다. The following logic shows an example of declaring a value that must have for code generation in widget1 of the main page in JSON (Jason, JavaScript Object Notation) format. JSON can be a way of expressing data when sending and receiving data on the Internet.

{ {

  html : " html로 생성되어야 하는 문자열", html: "a string that should be created as html",

    js : {js: {

            common : {common: {

                    tmapInit : function( id ){tmapInit: function( id ){

                        var map;var map;

                        var markerLayer;var markerLayer;

                                                ........

                        }}

                    },},

                    tmapShopInit :  function( id ){tmapShopInit :  function( id ){

                        var map;var map;

                        var markerLayer;var markerLayer;

                                                ........

                        }}

                    }}

               },},

            pageshow : "페이지가 보이는 순간 실행되어야 할 코드의 문자열", pageshow: "a string of code to be executed the moment the page is viewed",

            onResize : "화면이 resize되는 순간에 실행되어야 할 코드의 문자열"onResize: "A string of code to be executed at the moment the screen is resized"

   } }

}}

상기에서 html로 된 부분은 html 파일을 생성하기 위한 부분이고, js로 선언된 부분은 js 파일을 생성하기 위한 부분이다. js.common은 common.js 파일에 추가되어야 할 함수들이고, js.pageshow 및 js.onResize는 페이지에 관련된 이벤트인 페이지가 보이는 순간, 화면이 resize되는 순간에 실행되어야 할 코드가 들어간다. In the above, the html part is a part to create an html file, and the part declared as js is a part to create a js file. js.common is the functions to be added to the common.js file, and js.pageshow and js.onResize contain the code to be executed at the moment the page is viewed and the screen is resized.

상기와 같이 각 페이지의 정적 구성요소 파일 또는 동적 구성요소 파일이 생성되면, 웹 앱 생성 장치는 생성된 파일들을 코드 생성 룰을 이용하여 구현된 로직에 정의된 파일명 및 파일타입으로 해당 디렉토리에 저장한다. When the static component file or the dynamic component file of each page is created as described above, the web app generation device stores the generated files in the directory as the file name and file type defined in the logic implemented using the code generation rule. .

한편, 본 발명의 다른 측면에 따르면, 웹 앱 생성 장치에 의해 실행될 때, 웹 애플리케이션에 대한 페이지 구조를 정의하는 단계, 기 정의된 코드 생성 룰을 이용하여 상기 정의된 각 페이지에 대한 정적 구성요소 파일 또는 동적 구성요소 파일을 생성하는 단계를 포함하는 웹 앱 생성 방법이 프로그램으로 기록되고 전자 장치에서 판독 가능한 기록매체가 제공된다. Meanwhile, according to another aspect of the present invention, when executed by a web app generating device, defining a page structure for a web application, static component files for each of the defined pages using a predefined code generation rule Alternatively, a method of generating a web app including generating a dynamic component file is recorded as a program and a recording medium readable by an electronic device is provided.

이러한 웹 앱 생성 방법은 프로그램으로 작성 가능하며, 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 웹 앱 생성 방법에 관한 프로그램은 전자장치가 읽을 수 있는 정보저장매체(Readable Media)에 저장되고, 전자장치에 의하여 읽혀지고 실행될 수 있다.Such a web app creation method can be written as a program, and codes and code segments constituting the program can be easily inferred by a programmer in the art. In addition, a program relating to a method for generating a web app is stored in an information storage medium that can be read by an electronic device, and can be read and executed by the electronic device.

지금까지 기술한 웹 앱 생성 방법은 이를 실행하기 위한 프로그램이 수록된 컴퓨터로 판독 가능한 기록 매체의 형태에 의해 생산, 사용, 양도될 수 있다. 뿐만 아니라, 본 발명은 상기 프로그램을 온라인 상에서 송수신하는 방식에 의해 양도되는 경우, 송수신의 주체가 되는 장치 및 송수신 행위에 대해서도 권리 범위가 미친다고 봄이 당연하다.The web app creation method described so far can be produced, used, and transferred in the form of a computer-readable recording medium containing a program for executing it. In addition, when the present invention is transferred by a method of transmitting and receiving the program online, it is natural to assume that the scope of the rights extends to the device that is the subject of the transmission and reception and the transmission and reception activity.

이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
As such, those skilled in the art to which the present invention pertains will be able to understand that the present invention can be implemented in other specific forms without changing the technical spirit or essential features. Therefore, the embodiments described above are illustrative in all respects and should be understood as non-limiting. The scope of the present invention is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

본 발명은 웹 앱 생성 장치, 방법 및 컴퓨터로 판독 가능한 기록 매체를 제공함으로써, 웹 기반의 페이지, 이벤트, 위젯 등의 동적인 구성요소들이 반영된 웹 앱 생성 장치를 제공함으로써, 코드 생성이 필요한 저작 및 편집 환경에서 기본 컨셉을 이용하여 유용하게 활용할 수 있다.
The present invention provides a web app generating device, a method, and a computer-readable recording medium, thereby providing a web app generating device reflecting dynamic components such as web-based pages, events, and widgets, It can be usefully utilized by using the basic concept in the editing environment.

100 : 웹 앱 생성 장치 110 : 코드 생성 룰 정의부
120 : 웹 앱 코드 생성부 122 : 페이지 구조 정의 모듈
124 : 구성 요소 파일 생성 모듈
100: web app generation device 110: code generation rule definition unit
120: web app code generation unit 122: page structure definition module
124: component file generation module

Claims (8)

디렉토리, 파일명, 파일 타입, 파일을 생성하기 위해 호출할 호출함수 중 적어도 하나를 포함하는 코드 생성 룰을 정의하는 코드 생성 룰 정의부; 및
웹 애플리케이션에 대한 페이지 구조를 정의하고, 상기 코드 생성 룰을 이용하여 각 페이지에 대한 정적 구성요소 파일 또는 동적 구성요소 파일을 생성하는 웹 앱 코드 생성부; 를 포함하되,
상기 웹 앱 코드 생성부는,
웹 애플리케이션을 이루는 페이지 구조를 정의하는 페이지 구조 정의 모듈; 및
상기 코드 생성 룰을 이용하여 상기 페이지 구조 정의 모듈에서 정의된 각 페이지에 대한 정적 구성요소 파일 또는 동적 구성요소 파일의 로직을 구현하고, 상기 구현된 로직의 호출함수를 호출하여 반환된 결과값을 코드로 생성하며, 상기 생성된 코드를 상기 로직에 정의된 파일명 및 파일타입으로 해당 디렉토리에 저장하여, 각 페이지에 대한 정적 구성요소 파일 또는 동적 구성요소 파일을 생성하는 구성요소 파일 생성모듈;
을 포함하는 것을 특징으로 하는 웹 앱 생성 장치.
A code generation rule definition unit defining a code generation rule including at least one of a directory, a file name, a file type, and a calling function to be called to generate a file; And
A web app code generation unit defining a page structure for a web application and generating a static component file or a dynamic component file for each page using the code generation rule; Including,
The web app code generation unit,
A page structure definition module defining a page structure constituting a web application; And
Implement the logic of a static component file or a dynamic component file for each page defined in the page structure definition module using the code generation rule, and call the call function of the implemented logic to code the returned result value. A component file generation module that generates a static component file or a dynamic component file for each page by storing the generated code in a corresponding directory as a file name and file type defined in the logic;
A web app generating device comprising: a.
제1항에 있어서,
상기 호출함수는 웹 애플리케이션의 데이터 구조에 접근하여 반환된 결과값을 해당 코드로 생성하는 함수인 것을 특징으로 하는 웹 앱 생성장치.
The method of claim 1,
The calling function is a function that accesses a data structure of a web application and generates a returned result value with a corresponding code.
삭제delete 제1항에 있어서,
상기 로직은 디렉토리, 파일명, 파일 타입, 호출함수 중 적어도 하나를 포함하는 것을 특징으로 하는 웹 앱 생성 장치.
The method of claim 1,
The logic comprises at least one of a directory, a file name, a file type, and a calling function.
삭제delete 삭제delete 삭제delete 삭제delete
KR1020130119771A 2013-10-08 2013-10-08 Apparatus and Method for creating web application KR102152136B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130119771A KR102152136B1 (en) 2013-10-08 2013-10-08 Apparatus and Method for creating web application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130119771A KR102152136B1 (en) 2013-10-08 2013-10-08 Apparatus and Method for creating web application

Publications (2)

Publication Number Publication Date
KR20150041352A KR20150041352A (en) 2015-04-16
KR102152136B1 true KR102152136B1 (en) 2020-09-04

Family

ID=53034862

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130119771A KR102152136B1 (en) 2013-10-08 2013-10-08 Apparatus and Method for creating web application

Country Status (1)

Country Link
KR (1) KR102152136B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001344105A (en) * 2000-03-31 2001-12-14 Hitachi Software Eng Co Ltd Web application developing method, development support system, and memory medium storing program related to this method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101116939B1 (en) * 2009-12-10 2012-03-14 주식회사 엘지유플러스 Mobile terminal and method for operating web application the mobile terminal
KR101161946B1 (en) 2010-03-24 2012-07-04 (주)아이윈디 Smart-phone application development system and developing method thereof
KR101277145B1 (en) * 2011-12-07 2013-06-20 한국과학기술연구원 Method For Transforming Intermediate Language by Using Common Representation, System And Computer-Readable Recording Medium with Program Therefor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001344105A (en) * 2000-03-31 2001-12-14 Hitachi Software Eng Co Ltd Web application developing method, development support system, and memory medium storing program related to this method

Also Published As

Publication number Publication date
KR20150041352A (en) 2015-04-16

Similar Documents

Publication Publication Date Title
US10546035B2 (en) System and method for data-driven web page navigation control
US9524279B2 (en) Help document animated visualization
Dory et al. Introduction to Tornado: Modern Web Applications with Python
KR20150043333A (en) User interface control framework for stamping out controls using a declarative template
KR20040002658A (en) System and method for issuing a message to a program
Tacy et al. GWT in Action
CN109960491A (en) Application program generation method, generating means, electronic equipment and storage medium
US10671801B2 (en) Markup code generator
US20060242187A1 (en) Type safe data proxy
Karger et al. The web page as a wysiwyg end-user customizable database-backed information management application
KR102152136B1 (en) Apparatus and Method for creating web application
Johnson Programming in HTML5 with JavaScript and CSS3
Kotaru Material Design Implementation with AngularJS
CN110968709B (en) Data transmission method and related system
Vogelsteller Building Single-page Web Apps with Meteor
Bittar et al. Accessible organizational elements in wikis with model-driven development
Sikora Dart Essentials
Johnson Training Guide Programming in HTML5 with JavaScript and CSS3 (MCSD)
Bronson Program development and design using C++
Feiler Exploring Swift Playgrounds: The Fastest and Most Effective Way to Learn to Code and to Teach Others to Use Your Code
Strazzullo Frameworkless Front-End Development
Ganatra Kendo UI Cookbook
CN114003213A (en) Data processing method, device and equipment
CN117348960A (en) Webpage content export method, device, equipment and medium
CN117348871A (en) Page control generation method and device based on template

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant