KR101519381B1 - Apparatus and method for making web application using html5 - Google Patents

Apparatus and method for making web application using html5 Download PDF

Info

Publication number
KR101519381B1
KR101519381B1 KR1020130168464A KR20130168464A KR101519381B1 KR 101519381 B1 KR101519381 B1 KR 101519381B1 KR 1020130168464 A KR1020130168464 A KR 1020130168464A KR 20130168464 A KR20130168464 A KR 20130168464A KR 101519381 B1 KR101519381 B1 KR 101519381B1
Authority
KR
South Korea
Prior art keywords
block
view
blocks
control block
layer
Prior art date
Application number
KR1020130168464A
Other languages
Korean (ko)
Inventor
박석
배주호
Original Assignee
서강대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서강대학교산학협력단 filed Critical 서강대학교산학협력단
Priority to KR1020130168464A priority Critical patent/KR101519381B1/en
Application granted granted Critical
Publication of KR101519381B1 publication Critical patent/KR101519381B1/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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention relates to a method and an apparatus for producing a web application using HTML5 including a hyper text markup language (HTML) and JAVA scripts. In order to produce a web application, a development tool: converts at least one tag range, generated by the HTML, into a view block and also converts a JAVA script, executing a task with respect to one or more commands, into a control block; combines and stacks the view block and the control block according to an input of a user who recognizes attributes for the view blocks and the control blocks; sets the bottom stage of a structure in which the view block and the control block are stacked and combined as a route; defines child nodes according to the stack order to substitute a tree structure for a tree structure; sequentially searches the view block and the control block in the tree structure; and converts the view block and the control block into the HTML language based on source codes of the view block and the control block which are read as search results.

Description

HTML5를 이용하여 웹 어플리케이션을 제작하는 방법 및 장치{Apparatus and method for making web application using html5}[0001] Apparatus and method for making a web application using HTML5 [0002]

본 발명은 HTML5를 이용하여 웹 어플리케이션을 제작하는 방법에 관한 것으로, 특히, 블록 결합방식을 응용한 그래픽 유저 인터페이스 제작 방법과 이를 웹 어플리케이션 형태로 변환하는 방법에 관한 것이다.The present invention relates to a method for producing a web application using HTML5, and more particularly, to a method for constructing a graphical user interface applying a block combining method and a method for converting it into a web application form.

최근 휴대폰 시장에 스마트폰 보급이 많이 증가함에 따라 다양한 스마트폰 기반 어플리케이션들이 선보이고 있다. 앱 생태계(App Environment)를 구성하는 구글 마켓이나 애플의 앱스토어 등에는 스마트폰 기반 어플리케이션이 매일 등록되고 많은 다운로드 횟수를 기록하고 있다.Recently, as the spread of smart phones in the mobile phone market has increased, a variety of smartphone-based applications are being introduced. Smartphone-based applications are registered daily in Google Market and Apple's App Store, which make up the App Environment, and have recorded many downloads.

어플리케이션 개발 전문업체들에게 이러한 현상은 매우 고무적인 부분이지만, 안드로이드 기반의 앱개발이나 IOS 기반의 앱개발은 기기에 종속적이고 일정 수준의 개발 능력을 갖추지 않으면 원하는 수준의 만족할만한 앱을 개발하기가 어렵다. 따라서, 좋은 서비스를 제공할 수 있는 사업자라 할지라도 장치 종속적인 앱개발 환경의 제약 때문에 비용이나 시간 측면에서 어려움을 겪는 경우가 많아 이러한 부분들이 유동적인 서비스 제공환경에 필요한 고객 맞춤형 서비스를 제공하는데 걸림돌이 되고 있다.This phenomenon is very encouraging for application development companies. However, it is difficult to develop an app that satisfies the desired level unless the Android-based application development or the IOS-based application development is device dependent and has a certain level of development capability . Therefore, even if the service provider can provide a good service, it is difficult to provide a customized service required for a flexible service provision environment due to the difficulty in terms of cost and time due to restriction of device-dependent application development environment. .

앱 개발에 드는 비용과 기간의 제약 때문에 서비스 제공자는 다양한 서비스 제공환경을 앱에 적용하기 어렵고, 이러한 부분은 서비스의 단순화라는 결과를 야기하여 서비스품질(QoS)을 높이는데 장애요소로 작용한다. Due to the cost and time constraints of developing an app, it is difficult for a service provider to apply various service provisioning environments to an application, and this part leads to simplification of service, which is an obstacle to enhancement of quality of service (QoS).

한편, 이하에서 인용되는 선행기술 문헌에는 모바일 웹 앱 프레임워크 중 가장 방대하고 객체 지향적으로 설계된 API를 제공하는 자바 스크립트 기반의 프레임워크인 센차 터치(sencha touch)를 소개하고 있다. 하지만, 상기 센차 터치는 드래그앤드랍(drag & drop)을 이용하여 개발할 수 없으며, 모바일의 디바이스에 대해 접근할 수 없다는 치명적인 단점이 존재한다.Meanwhile, the prior art cited below introduces sencha touch, a JavaScript-based framework that provides the widest and object-oriented designed API among mobile web app frameworks. However, there is a fatal disadvantage that the sensor touch can not be developed using drag & drop, and the mobile device can not be accessed.

이와 같은 관점에서, 앱 개발의 장치종속적인 어려움, 개발시간의 문제, 업데이트 및 서비스 수정에 대한 배포 문제를 개선할 수 있는 기술적 수단이 필요하다는 사실을 알 수 있다.From this point of view, we can see that there is a need for technical means to improve the device-dependent difficulties of the development of the app, the problems of the development time, and the distribution problems of updating and modifying the service.

Sencha Touch 2: Up and Running, O'Reilly Media, Adrian Kosmaczewski, 2013. Sencha Touch 2: Up and Running, O'Reilly Media, Adrian Kosmaczewski, 2013.

따라서, 본 발명이 해결하고자 하는 첫 번째 과제는 HTML의 태그범위와 자바스크립트를 각각 뷰 블록 및 컨트롤 블록으로 변환하고, 변환된 블록간의 속성을 고려하여 결합하며, 결합된 블록을 트리 구조로 저장한 후 HTML언어로 변환하여 웹 어플리케이션을 제작하는 방법을 제공하는데 있다.Therefore, the first problem to be solved by the present invention is to convert the tag range of HTML and JavaScript into view blocks and control blocks, combine them considering the properties of the converted blocks, and store the combined blocks in a tree structure And then converting it into HTML language to produce a web application.

본 발명이 해결하고자 하는 두 번째 과제는 HTML의 태그범위와 자바스크립트를 각각 뷰 블록 및 컨트롤 블록으로 변환하고, 변환된 블록간의 속성을 고려하여 결합하며, 결합된 블록을 트리 구조로 저장한 후 HTML언어로 변환하여 웹 어플리케이션을 제작하는 장치를 제공하는데 있다.The second problem to be solved by the present invention is to convert the tag range of HTML and JavaScript into view blocks and control blocks, combine them in consideration of the attributes of the converted blocks, store the combined blocks in a tree structure, And a device for converting a web page into a language and producing a web application.

또한, 상기된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.It is another object of the present invention to provide a computer-readable recording medium storing a program for causing a computer to execute the above-described method.

상기 첫 번째 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 HTML 언어와 자바스크립트(javascript)가 포함된 HTML5를 이용하여 웹 어플리케이션(web application)을 제작하는 방법에 있어서, 개발 툴(tool)이 상기 HTML 언어를 통해 생성된 하나 이상의 태그범위를 뷰(view) 블록으로 각각 변환하고, 하나 이상의 명령에 대한 동작을 수행하는 자바스크립트를 컨트롤(control) 블록으로 각각 변환하는 단계; 상기 뷰 블록 및 상기 컨트롤 블록에 대한 속성을 인지한 사용자의 입력에 따라 상기 개발 툴이 상기 뷰 블록 및 상기 컨트롤 블록을 적층식으로 결합하는 단계; 상기 개발 툴이 상기 결합된 뷰 블록 및 컨트롤 블록에 대하여 상기 적층식 구조의 최하단을 루트로 설정하고, 적층된 순서에 따라 상기 루트의 자식 노드를 설정함으로써, 부모-자식 관계가 성립하는 트리 구조로 치환하는 단계; 및 상기 개발 툴이 상기 트리 구조로 치환된 뷰 블록 및 컨트롤 블록을 상기 트리 구조에 따라 순차적으로 검색하고, 상기 검색결과 독출된 뷰 블록 및 컨트롤 블록의 소스 코드를 참조하여 HTML 언어로 변환함으로써, 상기 웹 어플리케이션을 제작하는 방법을 제공한다.According to an aspect of the present invention, there is provided a method of creating a web application using HTML5 including an HTML language and a javascript according to an embodiment of the present invention, Transforming one or more tag ranges generated through the HTML language into view blocks, respectively, and converting JavaScripts that perform operations on one or more commands into control blocks, respectively; Coupling the view block and the control block in a laminating manner by the development tool according to a user's input recognizing the attributes of the view block and the control block; The development tool sets the lowest level of the stacked structure as the root for the combined view block and the control block and sets the child node of the root according to the stacked order so that the tree structure in which the parent- Substituting; And a step of sequentially searching the view block and the control block in which the development tool is replaced with the tree structure according to the tree structure and referring to the source code of the view block and the control block read out as a result of the search, Provides a way to build a web application.

상기된 일 실시예에 따른 상기 뷰 블록 및 상기 컨트롤 블록은, 상기 뷰 블록 및 상기 컨트롤 블록 각각에 대하여 속성으로 타입, 레이어(layer), 이름, 소스코드, 결합 인자, 색상, 및 크기를 포함하는 것을 특징으로 하는 방법일 수 있다.The view block and the control block according to an embodiment of the present invention may include a type, a layer, a name, a source code, a coupling factor, a color, and a size for each of the view block and the control block And the like.

상기된 일 실시예에 따른 상기 레이어는, 상기 뷰 블록 및 상기 컨트롤 블록을 바인딩(binding)하는 플레이트(plate) 블록이 포함된 제 1 레이어, 상기 뷰 블록 및 상기 컨트롤 블록이 포함된 제 2 레이어, 및 상기 제 2 레이어에 포함된 블록들의 연결 설정을 하는 영역별 세부 블록이 포함된 제 3 레이어로 구성되는 것을 특징으로 하는 방법일 수 있다.The layer according to the embodiment may include a first layer including a plate block binding the view block and the control block, a second layer including the view block and the control block, And a third layer including a detailed block for each area for setting connection of the blocks included in the second layer.

상기된 일 실시예에 따른 상기 블록을 적층식으로 결합하는 것은, 상기 적층될 블록 중 상단에 위치한 블록의 레이어가 하단에 적층될 블록의 레이어 보다 상위 레이어일 경우 상기 블록을 적층하는 것을 특징으로 하는 방법일 수 있다.The blocks may be stacked when a layer of a block located at an upper end of the blocks to be stacked is an upper layer than a layer of a block to be stacked at a lower end, Lt; / RTI >

상기된 일 실시예에 따른 상기 개발 툴은 사용자로부터 상기 개발 툴 사용에 대하여 난이도에 따라 분류된 세 가지의 수준을 입력받고, 상기 입력된 세 가지의 수준에 따라 상기 블록 결합에 사용되는 사용자 인터페이스를 결정하는 것을 특징으로 하는 방법일 수 있다.The development tool according to an embodiment of the present invention receives three levels classified according to degree of difficulty in using the development tool from a user and receives a user interface used for the block combining according to the inputted three levels And then determining whether or not the result of the determination is positive.

상기된 일 실시예에 따른 상기 트리 구조로 치환되는 블록 중에서 동일한 상기 태그범위를 포함하는 블록이 존재할 경우, 상기 트리 구조로 치환된 블록의 하위 노드에 상기 동일한 태그범위를 포함하는 블록을 서브 트리 구조로 연결하는 것을 특징으로 하는 방법일 수 있다.If a block including the same tag range is present among the blocks to be replaced with the tree structure according to the above embodiment, a block including the same tag range in a lower node of the block replaced with the tree structure is referred to as a subtree structure In the case of the first embodiment.

상기 두 번째 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 HTML 언어와 자바스크립트가 포함된 HTML5를 이용하여 웹 어플리케이션을 제작하는 장치에 있어서, 뷰 블록 및 컨트롤 블록에 대한 속성을 인지한 사용자로부터 결합될 블록을 입력받는 입력부; 상기 HTML 언어를 통해 생성된 하나 이상의 태그범위를 상기 뷰 블록으로 각각 변환하고, 하나 이상의 명령에 대한 동작을 수행하는 자바스크립트를 컨트롤 블록으로 각각 변환하고, 상기 입력받은 블록을 적층식으로 결합하고, 상기 결합된 블록에 대하여 상기 적층식 구조의 최하단을 루트로 설정하고, 적층된 순서에 따라 상기 루트의 자식 노드를 설정하고, 부모-자식 관계가 성립하는 트리 구조로 치환하며, 상기 트리 구조로 블록을 상기 트리 구조에 따라 순차적으로 검색함으로써, 상기 검색결과 독출된 블록의 소스 코드를 참조하여 HTML 언어로 변환하는 처리부; 및 상기 각각 변환된 뷰 블록 및 컨트롤 블록을 출력하여 상기 사용자로부터 결합에 이용될 블록의 선택을 유도하며, 상기 HTML 언어로 변환되어 제작된 상기 웹 어플리케이션을 출력하는 출력부를 포함하는 장치를 제공한다.According to another aspect of the present invention, there is provided an apparatus for creating a web application using HTML5 including HTML language and JavaScript, according to an embodiment of the present invention, An input unit for receiving a block to be combined from the input unit; Transforming at least one tag range generated through the HTML language into the view block, converting each of the plurality of tags into a control block, converting the JavaScript into a control block, combining the input blocks in a laminating manner, Setting a lowermost end of the stacked structure as a root for the combined block, setting a child node of the root according to a stacking order, replacing the tree with a tree structure in which a parent-child relationship is established, To the HTML language by referring to the source code of the block read out as a result of the search; And an output unit outputting the converted view block and control block to induce selection of a block to be used by the user from the user, and outputting the web application converted into the HTML language.

상기된 일 실시예에 따른 상기 뷰 블록 및 상기 컨트롤 블록은, 상기 뷰 블록 및 상기 컨트롤 블록 각각에 대하여 속성으로 타입, 레이어, 이름, 소스코드, 결합 인자, 색상, 및 크기를 포함하되, 상기 레이어는 상기 뷰 블록 및 상기 컨트롤 블록을 바인딩하는 플레이트 블록이 포함된 제 1 레이어, 상기 뷰 블록 및 상기 컨트롤 블록이 포함된 제 2 레이어, 및 상기 제 2 레이어에 포함된 블록들의 연결 설정을 하는 영역별 세부 블록이 포함된 제 3 레이어로 구성되는 것을 특징으로 하는 장치일 수 있다.The view block and the control block according to the embodiment include a type, a layer, a name, a source code, a coupling factor, a color, and a size for each of the view block and the control block, A first layer including a plate block for binding the view block and the control block, a second layer including the view block and the control block, and a second layer including a block including the control block, And a third layer including a detailed block.

상기된 일 실시예에 따른 상기 처리부는, 상기 적층될 블록 중 상단에 위치한 블록의 레이어가 하단에 적층될 블록의 레이어 보다 상위 레이어일 경우 상기 블록을 적층하는 것을 특징으로 하는 장치일 수 있다.The processing unit according to an embodiment of the present invention may stack the blocks when the layer of the block located at the top of the blocks to be stacked is higher than the layer of the block to be stacked at the lower end.

상기된 일 실시예에 따른 상기 사용자로부터 상기 블록 사용에 대하여 난이도에 따라 분류된 세 가지의 수준을 입력받고, 상기 입력된 세 가지의 수준에 따라 상기 블록 결합에 사용되는 사용자 인터페이스를 결정하되, 상기 세 가지의 수준 중 기능 사용의 입출력을 이해하는 제 1 수준은 뷰 블록 및 컨트롤 블록이 미리 결합되어 패키지화된 블록을 제공하고, 상기 세 가지의 수준 중 상기 블록 결합을 변경 및 수정할 수 있는 제 2 수준은 블록 결합에 사용되는 뷰 블록 및 컨트롤 블록을 제공하며, 상기 세 가지의 수준 중 코드를 이용하여 기능 생성을 할 수 있는 제 3 수준은 코드를 생성 및 수정할 수 있는 블록을 제공하는 것을 특징으로 하는 장치일 수 있다.The method includes receiving three levels classified by the degree of difficulty from the user and determining a user interface to be used for the block combining according to the input three levels, The first level that understands the input / output of functional use among the three levels provides a packaged block of view blocks and control blocks in advance, and a second level that can modify and modify the block combination among the three levels And a third level capable of generating functions using the code among the three levels provides a block capable of generating and modifying a code, Device.

상기된 일 실시예에 따른 상기 트리 구조로 치환되는 블록 중에서 동일한 상기 태그범위를 포함하는 블록이 존재할 경우, 상기 트리 구조로 치환된 블록의 하위 노드에 상기 동일한 태그범위를 포함하는 블록을 서브 트리 구조로 연결하는 것을 특징으로 하는 장치일 수 있다.If a block including the same tag range is present among the blocks to be replaced with the tree structure according to the above embodiment, a block including the same tag range in a lower node of the block replaced with the tree structure is referred to as a subtree structure As shown in FIG.

상기 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 HTML5를 이용하여 웹 어플리케이션을 제작하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.According to another aspect of the present invention, there is provided a computer-readable recording medium storing a program for causing a computer to execute a method of creating a web application using HTML5.

본 발명에 따르면, HTML의 구조를 개발 툴에서 블록 형태의 조합으로 변형하여 시각화함으로써, 사용자가 직관적으로 블록을 쌓는 방식으로 웹 어플리케이션을 제작할 수 있는 효과가 있다. 또한, 미리 구성된 블록 구조를 패키지화하여 재사용할 수 있으므로, 생산성이 우수하며, 초보자도 쉽게 일정 수준 이상의 웹 어플리케이션을 개발할 수 있다.According to the present invention, a web application can be produced by a method in which a user intuitively stacks blocks by transforming and visualizing the structure of HTML into a combination of blocks in a development tool. In addition, since the prebuilt block structure can be packaged and reused, the productivity is excellent, and a novice user can easily develop a certain level of web application.

도 1은 본 발명의 실시예들이 채택하고 있는 HTML5를 이용하여 웹 어플리케이션을 제작하는 방법을 도시한 흐름도이다.
도 2a는 본 발명의 일 실시예에 따른 사용자 수준별 기능 분류 기준을 도시한 도면이다.
도 2b는 본 발명의 일 실시예에 따른 제 1 수준인 사용자에게 제공되는 웹 어플리케이션 제작 과정을 도시한 도면이다.
도 2c는 본 발명의 일 실시예에 따른 제 2 수준인 사용자에게 제공되는 웹 어플리케이션 제작 과정을 도시한 도면이다.
도 2d는 본 발명의 일 실시예에 따른 제 3 수준인 사용자에게 제공되는 웹 어플리케이션 제작 과정을 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 레이어에 따라 구분되는 블록을 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 개발 툴에서 블록 결합의 예시하여 도시한 도면이다.
도 5a는 본 발명의 일 실시예에 따른 컨트롤 블록을 예시하여 도시한 도면이다.
도 5b는 본 발명의 일 실시예에 따른 블록을 결합된 블록을 저장하는 과정을 도시한 도면이다.
도 5c는 본 발명의 일 실시예에 따른 코드 에디팅 과정을 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 개발 툴에서의 이벤트 등록과 소스코드 반영을 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 트리 구조를 도시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 확장 블록에 대한 연결 기법을 도시한 도면이다.
도 9는 본 발명의 실시예들이 채택하고 있는 HTML5를 이용하여 웹 어플리케이션을 제작하는 장치를 도시한 블록도이다.
FIG. 1 is a flowchart illustrating a method for creating a web application using HTML5 adopted by embodiments of the present invention.
FIG. 2A is a diagram illustrating functional classification criteria according to an embodiment of the present invention.
FIG. 2B is a diagram illustrating a process of creating a web application provided to a user at a first level according to an embodiment of the present invention.
FIG. 2C is a diagram illustrating a web application creation process provided to a user at a second level according to an exemplary embodiment of the present invention.
FIG. 2D is a diagram illustrating a process of creating a web application provided to a user at a third level according to an embodiment of the present invention.
FIG. 3 is a diagram illustrating blocks classified according to layers according to an embodiment of the present invention.
Figure 4 is an illustration of block combining in a development tool according to an embodiment of the present invention.
FIG. 5A is a diagram illustrating control blocks according to an exemplary embodiment of the present invention. Referring to FIG.
5B is a diagram illustrating a process of storing a combined block according to an embodiment of the present invention.
5C is a diagram illustrating a code editing process according to an embodiment of the present invention.
6 is a diagram illustrating event registration and source code reflection in a development tool according to an embodiment of the present invention.
7 is a diagram illustrating a tree structure according to an embodiment of the present invention.
FIG. 8 is a diagram illustrating a connection technique for an extension block according to an exemplary embodiment of the present invention. Referring to FIG.
FIG. 9 is a block diagram illustrating an apparatus for creating a web application using HTML5 adopted by embodiments of the present invention. Referring to FIG.

본 발명의 실시예들을 설명하기에 앞서, 기존의 웹 어플리케이션 제작 방법에서 발생하는 문제점들을 검토한 후, 이들 문제점을 해결하기 위해 본 발명의 실시예들이 채택하고 있는 기술적 수단을 개괄적으로 소개하도록 한다.Before explaining the embodiments of the present invention, the technical means adopted by the embodiments of the present invention will be outlined to solve the problems occurring in the conventional web application production method.

종래의 웹 어플리케이션 개발도구는 해당 언어를 충분히 숙달하여야만 어플리케이션을 개발할 수 있다는 치명적인 단점이 존재한다. Conventional web application development tools have a fatal disadvantage of being able to develop applications only if the language is sufficiently mastered.

따라서, 본 발명의 실시예들은 드래그앤드랍 조작을 이용하여 시각화된 기능 블록을 위로 쌓아 올리는 방식으로 마크업 언어(Markup Language) 형태의 프로그래밍 언어를 사용할 수 있도록 하고, HTML5와 자바스크립트의 기능을 블록으로 치환하여 단순 조립으로 기능이 구현되는 어플리케이션 개발 도구를 생성하여 초보자도 쉽게 HTML5기반의 웹 어플리케이션을 제작할 수 있는 기술적 수단을 제안하고자 한다.Therefore, embodiments of the present invention allow a programming language of markup language type to be used by stacking function blocks visualized using a drag and drop operation, To create an application development tool that can function as a simple assembly, and to suggest a technical means for a beginner to easily create an HTML5-based web application.

이하에서는 도면을 참조하여 본 발명의 실시예들을 구체적으로 설명하도록 한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the following description and the accompanying drawings, detailed description of well-known functions or constructions that may obscure the subject matter of the present invention will be omitted. It should be noted that the same constituent elements are denoted by the same reference numerals as possible throughout the drawings.

도 1은 본 발명의 실시예들이 채택하고 있는 HTML5를 이용하여 웹 어플리케이션을 제작하는 방법을 도시한 흐름도로서, HTML 언어와 자바스크립트(javascript)가 포함된 HTML5를 이용하여 웹 어플리케이션(web application)을 제작하는 방법에 있어서, 개발 툴(tool)이 상기 HTML 언어를 통해 생성된 하나 이상의 태그범위를 뷰(view) 블록으로 각각 변환하고, 하나 이상의 명령에 대한 동작을 수행하는 자바스크립트를 컨트롤(control) 블록으로 각각 변환하고, 상기 뷰 블록 및 상기 컨트롤 블록에 대한 속성을 인지한 사용자의 입력에 따라 상기 개발 툴이 상기 뷰 블록 및 상기 컨트롤 블록을 적층식으로 결합하고, 상기 개발 툴이 상기 결합된 뷰 블록 및 컨트롤 블록에 대하여 상기 적층식 구조의 최하단을 루트로 설정하고, 적층된 순서에 따라 상기 루트의 자식 노드를 설정함으로써, 부모-자식 관계가 성립하는 트리 구조로 치환하고, 상기 개발 툴이 상기 트리 구조로 치환된 뷰 블록 및 컨트롤 블록을 상기 트리 구조에 따라 순차적으로 검색하며, 상기 검색결과 독출된 뷰 블록 및 컨트롤 블록의 소스 코드를 참조하여 HTML 언어로 변환함으로써, 상기 웹 어플리케이션을 제작한다.FIG. 1 is a flowchart illustrating a method of creating a web application using HTML5 adopted by embodiments of the present invention. Referring to FIG. 1, a web application is created using HTML5 including HTML language and JavaScript. A method of producing a program, the method comprising the steps of: converting a one or more tag ranges generated through the HTML language into view blocks, respectively, and controlling JavaScript, which performs operations on one or more commands, And the development tool combines the view block and the control block in a laminating manner in accordance with a user's input recognizing the attributes of the view block and the control block, The lowest level of the stacked structure is set as a root for the block and the control block, and the child nodes of the root are set according to the stacking order The tree structure in which the development tool replaces the tree structure and the view block and the control block in which the development tool is replaced with the tree structure are sequentially searched according to the tree structure, By referring to the source code of the control block and converting it into the HTML language, the web application is produced.

보다 구체적으로, S110 단계에서, 개발 툴이 상기 HTML 언어를 통해 생성된 하나 이상의 태그범위를 뷰 블록으로 각각 변환하고, 하나 이상의 명령에 대한 동작을 수행하는 자바스크립트를 컨트롤 블록으로 각각 변환한다. 다시 말해, 상기 HTML5 어플리케이션은 크게 HTML 언어 부분과 자바스크립트 부분으로 구성될 수 있다. 여기서, 상기 HTML언어 부분은 어플리케이션에서 화면에 보이는 부분을 담당하며 모델-뷰-컨트롤(model-view-control) 패턴 개발 방식에 의하면 뷰 파트에 해당할 수 있다. 또한, 상기 자바스크립트 부분은 상기 개발 패턴에서 컨트롤 파트에 해당되는 부분으로서, 사용자가 특정 이벤트(버튼을 누른다거나)를 수행하거나 동작이 필요할 때 작동하는 역할을 수행할 수 있다.More specifically, in step S110, the development tool converts the one or more tag ranges generated through the HTML language into view blocks, respectively, and translates the JavaScript, which performs operations on one or more instructions, into a control block. In other words, the HTML5 application can be largely composed of an HTML language part and a JavaScript part. Here, the HTML language part is responsible for the visible part of the application and may correspond to the view part according to the model-view-control pattern development method. In addition, the JavaScript part corresponds to a control part in the development pattern, and may perform a function when the user performs a specific event (presses a button) or when an operation is required.

따라서, 본 발명에서는 상기 HTML 부분과 상기 자바스크립트를 블록 형태로 시각화하여 조립하는 방법일 수 있다. 여기서, 상기 블록 형태로 시각화하기 위해서는 상기 HTML은 태그 범위를 하나의 블록으로 변환할 수 있다. 예를 들어, <div> … </div>는 하나의 div블록으로 변환될 수 있다. 즉, 상기 HTML은 마크업 언어이므로 시작태그와 끝 태그의 조합으로 표현되기 때문에 태그의 시작과 끝을 포함하는 하나의 덩어리를 블록으로 표현할 수 있다. 따라서, 상기 해당하는 덩어리를 블록으로 표현하여 시각화함으로써, 블록의 위치가 상기 HTML의 태그 간의 포함관계를 나타낼 수 있다.Accordingly, the present invention can be a method of visualizing and assembling the HTML portion and the JavaScript in block form. Here, in order to visualize in the block form, the HTML may convert the tag range into one block. For example, <div> ... </ div> can be converted to a single div block. That is, since the HTML is a markup language, it is represented by a combination of a start tag and an end tag, so that one lump including a start and an end of the tag can be expressed as a block. Accordingly, by visualizing the corresponding chunk as a block, the position of the block can represent the inclusion relation between the HTML tags.

한편, 상기 자바스크립트는 기본 한 덩어리가 절차적 프로그래밍 언어에서의 함수와 동일할 수 있다. 따라서, func(){ … } 에 해당하는 부분을 하나의 덩어리로 간주하여 블록 형태로 시각화할 수 있다. 여기서, 상기 자바스크립트 블록은 웹 어플리케이션에서 기술될 때 특정 위치를 요구하지 않으므로 블록 조합을 코드로 재변환할 때 유연하게 순차적으로 기술할 수 있다.On the other hand, the chunk of the JavaScript may be the same as the function in the procedural programming language. Therefore, func () {... } Can be regarded as a single chunk and can be visualized in block form. Here, since the JavaScript block does not require a specific location when described in a web application, it can be described in a flexible manner when the block combination is re-converted into a code.

이후, 변환된 HTML 블록과 자바 스크립트 블록은 분리된 영역에서 개별적으로 조립할 수 있다. 예를 들어, 상기 HTML 블록 조립 영역에서 버튼 블록을 쌓고 자바스크립트 영역에서 버튼 클릭 함수에 대한 블록을 쌓았다면 HTML 블록에서 해당 자바스크립트 블록을 선택연결 할 수 있다. 여기서, 상기 HTML 블록에서 해당 자바스크립트 블록을 선택 연결하는 것은 이하에서 S120 단계에서보다 구체적으로 설명하도록 한다.Thereafter, the transformed HTML block and JavaScript block can be assembled separately in separate regions. For example, if a button block is stacked in the HTML block assembly area and a block for the button click function is stacked in the JavaScript area, the corresponding JavaScript block can be selectively connected to the HTML block. Here, selecting and connecting the corresponding JavaScript block in the HTML block will be described in more detail in step S120.

한편, 본 발명에서 제안하는 개발 툴은 사용자의 수준을 고려한 UI/UX 조립환경을 구축할 수 있다.Meanwhile, the development tool proposed in the present invention can build a UI / UX assembly environment considering the level of the user.

도 2a는 본 발명의 일 실시예에 따른 사용자 수준별 기능 분류 기준을 도시한 도면으로서, 상기 개발 툴은 사용자로부터 상기 개발 툴 사용에 대하여 난이도에 따라 분류된 세 가지의 수준을 입력받고, 상기 입력된 세 가지의 수준에 따라 상기 블록 결합에 사용되는 사용자 인터페이스를 결정할 수 있다. 본 발명에서는 설명의 이해를 돕기 위하여 사용자 수준에 따른 구분을 제 1 수준인 초급자(21), 제 2 수준인 중급자(22), 제 3 수준인 고급자(33)로 구분하여 설명하도록 한다. 상기 수준에 따른 구분은 상황에 따라 세분화하거나 단순화할 수 있다.FIG. 2A is a diagram illustrating a functional classification criterion according to a user level according to an embodiment of the present invention, in which the development tool receives three levels classified according to degree of difficulty of use of the development tool from a user, The user interface used for the block combining can be determined according to three levels. In order to facilitate the understanding of the explanation, the present invention will be described by dividing the classification according to the user level into a first level (21), a second level (22), and a third level (33). The division according to the level can be refined or simplified depending on the situation.

보다 구체적으로, 사용자는 초보자(21), 중급자(22), 고급자(33)로 수준별로 나누어진 블록단위의 기능 요소들을 블록의 드래그앤드랍을 통해 계층적, 적층적으로 조립할 수 있는 인터페이스를 제공받아 웹 어플리케이션에 대한 다양한 기능을 구현할 수 있으며, 파트별 부품 조합을 익스포트(export) 및 임포트(import) 하여 미리 디자인된 부분들을 쉽게 이용하고 템플릿을 이용하여 기존의 경험적 요소들을 쉽게 습득할 수 있다. 이러한, 부분들은 서비스 개발자가 코드 종속적 환경에서 벗어날 수 있고 기획했던 부분들을 직관적으로 판단하여 앱 개발 과정에서 발생할 수 있는 문제점을 줄일 수 있고, 유지보수 측면의 효율성을 높일 수 있다.More specifically, the user provides an interface that allows the beginner 21, the intermediate player 22, and the advanced player 33 to hierarchically and layer-build functional elements of blocks divided into levels by drag and drop of blocks It can implement various functions for the web application. It can easily export pre-designed parts by importing and importing part-by-part combination of parts, and can easily acquire existing experiential elements by using templates. These parts can intuitively judge the parts that the service developer can escape from the code-dependent environment and plan, reduce the problems that can occur during the application development process, and improve the maintenance efficiency.

도 2b는 본 발명의 일 실시예에 따른 제 1 수준인 사용자에게 제공되는 웹 어플리케이션 제작 과정을 도시한 도면으로서, 상기 세 가지의 수준 중 기능 사용의 입출력을 이해하는 제 1 수준은, 뷰 블록 및 컨트롤 블록이 미리 결합되어 패키지화된 블록(24)을 제공할 수 있다. 즉, 초급자(21)는 기능 사용의 입출력을 이해하는 수준의 개발자로서 블랙박스 형태로 블록의 패키지(24)를 이용할 수 있다. 예를 들어, 초급자의 개발자(21)는 '사진 버튼을 누르면 사진이 찍힌다.'의 이해 수준을 포함하는 개발자일 수 있다.FIG. 2B illustrates a web application creation process for a user at a first level according to an embodiment of the present invention, wherein a first level for understanding input / The control block may be pre-combined to provide a packaged block 24. [ That is, the beginner 21 can use the package 24 of the block in a black box form as a developer who understands the input / output of the function use. For example, the developer 21 of the beginner may be a developer who includes a level of understanding that 'when a photograph button is pressed, the photograph is taken.'

도 2c는 본 발명의 일 실시예에 따른 제 2 수준인 사용자에게 제공되는 웹 어플리케이션 제작 과정을 도시한 도면으로서, 상기 세 가지의 수준 중 상기 블록 결합(26)을 변경 및 수정할 수 있는 제 2 수준은, 블록 결합에 사용되는 뷰 블록 및 컨트롤 블록(25)을 제공할 수 있다. 즉, 중급자(22)는 컴포넌트 블록조합(26)을 변경하거나 수정할 수 있는 수준을 가진 개발자(22)로서 세부 컴포넌트 블록(25)을 사용하여 개발을 할 수 있다. 중급자(22)는 기능 수행을 위해 어떠한 요소가 필요한지 이해할 수 있는 수준의 개발자일 수 있으며, 예를 들어 카메라 어플에서 카메라 보정기능 추가, 플래시 on/off 등의 추가적인 기능을 더하거나 변경할 수 있는 이해 수준을 포함하는 개발자일 수 있다.FIG. 2C illustrates a web application creation process for a user at a second level according to an embodiment of the present invention. In FIG. 2C, a second level May provide a view block and a control block 25 used for block combining. That is, the intermediate player 22 may develop using the detail component block 25 as the developer 22 with a level that can modify or modify the component block combination 26. [ Intermediate (22) can be a level developer who can understand what elements are needed to perform a function. For example, it is possible to add a camera correction function, a flash on / off function, It can be a developer to include.

도 2d는 본 발명의 일 실시예에 따른 제 3 수준인 사용자에게 제공되는 웹 어플리케이션 제작 과정을 도시한 도면으로서, 상기 세 가지의 수준 중 코드를 이용하여 기능 생성을 할 수 있는 제 3 수준은, 코드를 생성 및 수정할 수 있는 블록(27)을 제공할 수 있다. 즉, 고급자(23)는 코드(27)를 이용하여 기능의 구현이 가능하고 컴포넌트 블록(26)을 생성할 수 있는 개발자(23)로서, 이때 독자적인 컴포넌트 블록(26)을 생성할 수 있다. 고급자(23)는 각 기능 요소에 대한 세부 수정 및 블록을 창작하여 사용할 수 있는 수준의 개발자일 수 있다. 예를 들어, 카메라 어플에서 파노라마 효과, 포토샵 효과 등 세부 코딩이 필요한 요소를 추가하여 작성할 수 있는 수준을 포함하는 개발자일 수 있다.FIG. 2d illustrates a web application creation process for a user at a third level according to an exemplary embodiment of the present invention. The third level, at which functions can be generated using the code among the three levels, A block 27 that can generate and modify code can be provided. That is to say, the master 23 can create a unique component block 26 at this time as the developer 23 who is able to implement the function using the code 27 and can generate the component block 26. The master 23 can be a level developer who can use and make detailed modifications and blocks for each functional element. For example, a developer can include a level that can be created by adding elements that require detailed coding, such as panorama effects and Photoshop effects, in a camera application.

이제 다시 도 1로 돌아가 S110 단계에 이후를 설명하도록 한다.Returning now to FIG. 1, step S110 will be described later.

S120 단계에서, 상기 뷰 블록 및 상기 컨트롤 블록에 대한 속성을 인지한 사용자의 입력에 따라 상기 개발 툴이 상기 뷰 블록 및 상기 컨트롤 블록을 적층식으로 결합한다.In step S120, the development tool combines the view block and the control block in a laminating manner according to a user's input recognizing the attributes of the view block and the control block.

보다 구체적으로, 본 발명에서 블록 결합에 이용되는 블록을 위에서 아래로 결합하는 방식으로 코드 간의 결합을 구현하므로, 이에 대해서 레고의 블록 쌓기처럼 기능을 구현하기 위한 데이터 설계와 저장이 필요할 수 있다. 따라서, 이러한 부분을 구현하기 위하여 마크업 언어를 위한 라벨링 스킴(labeling scheme)을 적용함으로써, 개발 툴에서 사용자가 생성하고자 하는 블록을 적층식으로 결합할 수 있다. 여기서, 상기 각각의 블록에는 속성으로 타입, 레이어, 이름, 소스코드, 결합 인자, 색상, 및 크기를 포함할 수 있다.More specifically, in the present invention, combining codes is performed in such a manner that blocks used for block joining are combined from top to bottom. Therefore, data design and storage for implementing functions like block building of Lego may be required. Therefore, by applying a labeling scheme for a markup language to implement such a part, a block to be generated by a user can be combined in a laminating manner in a development tool. Here, each block may include a type, a layer, a name, a source code, a binding factor, a color, and a size as attributes.

도 3은 본 발명의 일 실시예에 따른 레이어에 따라 구분되는 블록을 도시한 도면으로서, 본 발명의 실시예에서는 이해를 돕기 위하여 상기 레이어에 대한 구분을 레이어 0(31), 레이어 1(32), 및 레이어 2(33)로 구분하였다.FIG. 3 is a block diagram illustrating a layered block according to an embodiment of the present invention. In order to facilitate understanding of the present invention, the layers are classified into a layer 0 31, a layer 1 32, , And layer 2 (33).

보다 구체적으로, 상기 레이어 0(31)은 상기 뷰 블록 및 상기 컨트롤 블록을 바인딩하는 플레이트 블록이 포함하고, 상기 레이어 1(32)은 상기 뷰 블록 및 상기 컨트롤 블록이 포함하며, 상기 레이어 2(33)는 상기 레이어 1(32)에 포함된 블록들의 연결 설정을 하는 영역별 세부 블록으로 구성될 수 있다.More specifically, the layer 0 31 includes a plate block binding the view block and the control block, the layer 1 32 includes the view block and the control block, and the layer 2 33 May be configured as a detailed block for each area for setting the connection of the blocks included in the layer 1 32. [

또한, 상기 블록을 적층식으로 결합하는 것은, 상기 적층될 블록 중 상단에 위치한 블록의 레이어가 하단에 적층될 블록의 레이어 보다 상위 레이어일 경우 상기 블록을 적층할 수 있다.In addition, the blocks may be stacked when a layer of a block located at an upper end of the blocks to be stacked is an upper layer than a layer of a block to be stacked at a lower end.

도 4는 본 발명의 일 실시예에 따른 개발 툴에서 블록 결합의 예시하여 도시한 도면이다.Figure 4 is an illustration of block combining in a development tool according to an embodiment of the present invention.

보다 구체적으로 도 4의 개발 툴에서 왼쪽의 메뉴(41)는 블록 조합에 사용되는 블록이 나열된 것이며, 왼쪽 메뉴(41)에 위치한 블록들을 가운데 화면인 메인테이블(42)로 드래그앤드랍 하여 블록을 조립하고 웹 어플리케이션을 제작할 수 있다. 여기서, 왼쪽 메뉴(41)의 패키지 블록(package block)은 코드 세부 구현이 어려운 사용자를 위해 미리 제공하는 템플릿형태의 블록 조합일 수 있다.More specifically, the left menu 41 in the development tool of FIG. 4 lists the blocks used in the block combination. The blocks located in the left menu 41 are dragged and dropped to the main table 42, which is the center screen, You can assemble and build web applications. Here, the package block of the left menu 41 may be a block combination of a template type that is provided in advance for a user having difficulty in detailed code implementation.

우선, 어플리케이션을 제작하기 위하여 밑판인 플레이트 블록(43)을 왼쪽 메뉴(41)로부터 드래그앤드랍을 통해 메인테이블(42)에 배치할 수 있다. 여기서, 플레이트 블록(43)은 뷰 블록(44)과 컨트롤 블록(45)을 결합하는 상위블록일 수 있다. 이후, 뷰 블록(44) 및 컨트롤 블록(45)을 왼쪽 메뉴(41)로부터 드래그앤드랍을 통해 플레이트 블록(43) 위에 배치할 수 있다. 여기서, 왼쪽 메뉴(41)의 블록을 선택할 경우, 메인테이블(42)에 배치된 블록들 중 상기 선택된 블록을 배치할 수 있는 블록의 테두리에 하이라이팅이 됨으로써, 조립 가능한 블록이 같이 표시되어 사용자의 선택을 쉽게 유도할 수 있다. 이후, 왼쪽 메뉴(41)로부터 세부블록(46)을 드래그앤드랍을 통해 배치된 뷰 블록(44) 위에 배치할 수 있다. 예를 들어, 뷰 블록(44)에 HTML 컨포넌트가 배치되어, 왼쪽 메뉴(41)에서 lv.3 항목에서 라벨 블록을 끌어와 배치할 경우, 상기 라벨 블록은 상위블록인 뷰 블록(44)에만 결합될 수 있다. 또한, 이미 조립된 블록과 새 블록은 결합되기 전에는 독립적으로 움직이며, 상위 블록과 조립된 후에는 동일한 블록으로 함께 움직일 수 있다. 이후, 상기 라벨 블록의 화살표표시 버튼을 통해 내용을 수정할 경우 실행 버튼(49)을 통해 결과물을 확인할 수 있다. 이와 같은 방식으로 세부 블록을 뷰 블록 위에 배치하여 사용자가 원하는 블록을 결합할 수 있다.First, a plate block 43, which is a base plate, can be placed on the main table 42 through a drag-and-drop operation from the left menu 41 to produce an application. Here, the plate block 43 may be a top block that combines the view block 44 and the control block 45. The view block 44 and the control block 45 can be placed on the plate block 43 from the left menu 41 by dragging and dropping. Here, when the block of the left menu 41 is selected, the blocks of the blocks arranged in the main table 42 are highlighted at the edges of the blocks in which the selected blocks can be arranged, Can be easily induced. Then, the detail block 46 can be placed on the view block 44 arranged through the drag-and-drop from the left menu 41. For example, when an HTML component is placed in the view block 44 and a label block is dragged from the lv.3 item in the left menu 41, the label block is combined only with the view block 44, . In addition, the already assembled block and the new block move independently before being combined, and can be moved together into the same block after being assembled with the upper block. Thereafter, if the content is modified through the arrow display button of the label block, the result can be confirmed through the execution button 49. [ In this way, the detail block can be arranged on the view block, so that the user can combine the desired block.

이후, 웹 어플리케이션에서 자바스크립트로 변환되어 동적 이벤트를 관리하는 컨트롤 블록(45)에 왼쪽 메뉴(41)에서 세부 블록(46)인 코드 블록을 드래그앤드랍을 통해 컨트롤 블록(45) 위쪽에 배치할 수 있다. 여기서, 코드에 필요한 부분은 자유롭게 수정 가능할 수 있다. 예를 들어, 카메라 셋을 상기 코드블록을 넣으면 웹 어플리케이션에서 해당 기기의 카메라 센서를 구동할 수 있다. 이후, 뷰 블록(44)에 배치된 세부 블록(46)인 버튼 블록에 대한 버튼을 작동시키기 위해 왼쪽 메뉴(41)에서 세부 블록(46)인 함수블록을 끌어와서 컨트롤 블록(45) 위에 배치할 수 있다. 여기서, 아래쪽에 배치된 상태창(48)에서는 실제 구현되는 코드를 미리 볼 수 있다.Thereafter, a code block, which is the detail block 46 in the left menu 41, is placed on the control block 45, which is converted into JavaScript in the web application and manages the dynamic event, via the drag and drop operation . Here, the part necessary for the code can be freely modified. For example, by inserting the code block into a camera set, a web application can drive the camera sensor of the device. Then, the function block, which is the detail block 46, is dragged from the left menu 41 to operate the button for the button block, which is the detail block 46 disposed in the view block 44, and placed on the control block 45 . Here, the actually implemented code can be previewed in the status window 48 arranged below.

이후, 뷰 블록(44) 위에 배치된 세부 블록(46) 하단에 위치한 별모양 표시를 통해 컨트롤 블록(45)에 등록된 세부 블록(46)과 연결하여 상기 버튼을 동작시킬 수 있도록 등록된 함수에 연결할 수 있다. 이후, 실행(49)을 통해 제작된 웹 어플리케이션의 결과물을 확인할 수 있다.Thereafter, the function is registered in the registered block 46 so as to be connected to the detailed block 46 registered in the control block 45 through the star-shaped display located at the lower end of the detailed block 46 disposed on the view block 44 You can connect. Thereafter, the result of the web application produced through the execution (49) can be confirmed.

도 5a는 본 발명의 일 실시예에 따른 컨트롤 블록을 예시하여 도시한 도면이다.FIG. 5A is a diagram illustrating control blocks according to an exemplary embodiment of the present invention. Referring to FIG.

보다 구체적으로, X 표시(51)는 해당 블록의 삭제이고, @표시(52)는 해당 블록을 트레이에 등록할 수 있고,

Figure 112013121107381-pat00001
표시(53)는 해당 블록의 코드를 에디팅(editing)할 수 있는 기능을 제공한다. 여기서, 상기 기능들은 다른 모든 블록에서 동일하게 사용 가능할 수 있다.More specifically, the X display 51 is the deletion of the block, the @ mark 52 can register the block in the tray,
Figure 112013121107381-pat00001
The display 53 provides a function of editing the code of the corresponding block. Here, the functions may be equally usable in all other blocks.

도 5b는 본 발명의 일 실시예에 따른 블록을 결합된 블록을 저장하는 과정을 도시한 도면으로서, 상기 적층식으로 결합된 블록을 저장(52)할 경우, 상기 저장 시점에서 결합된 블록에 대한 하위 블록도 함께 저장되며, 상기 저장된 블록들은 상시 재사용이 가능할 수 있다.FIG. 5B is a diagram illustrating a process of storing a block combined with a block according to an embodiment of the present invention. When storing the combined block in the stacking manner, Sub-blocks are also stored, and the stored blocks may be always reusable.

보다 구체적으로, 블록 등록의 구현에 대한 예시로서, 블록을 트레이(54)에 저장하면, 해당 시점의 블록 상태 그대로 트레이(54)에 저장될 수 있다. 즉, 저장된 블록 안에 포함된 하부블록도 함께 트레이에 등록되며, 등록된 블록을 메인 테이블로 드랍할 경우 새로운 컴포넌트(55)로 재생성되어 블록을 재사용할 수 있다. 해당 시점에 대한 값으로 저장되므로 블록 객체의 독립성을 유지할 수도 있다. More specifically, as an example of the implementation of block registration, if a block is stored in the tray 54, the block state at that point of time can be stored in the tray 54 as it is. That is, the lower block included in the stored block is also registered in the tray, and when the registered block is dropped into the main table, the block can be reused by the new component 55 and reused. It is stored as a value for that point in time so that the independence of the block object can be maintained.

도 5c는 본 발명의 일 실시예에 따른 코드 에디팅 과정을 도시한 도면이다.5C is a diagram illustrating a code editing process according to an embodiment of the present invention.

보다 구체적으로, 코드 에디팅의 구현에 대한 것으로서,

Figure 112013121107381-pat00002
표시(53)를 통해 코드를 수정할 수 있는 블록 창(56)을 사용할 수 있고, 블록 창(56)에 포함된 코드를 에디팅하여 블록을 수정할 수 있으며, 블록 창(56)을 닫으며 에디팅된 코드 내용이 저장될 수 있다.More specifically, as for the implementation of code editing,
Figure 112013121107381-pat00002
A block window 56 that allows modification of the code via the display 53 can be used and the code contained in the block window 56 can be edited to modify the block and the block window 56 is closed, Contents can be saved.

도 6은 본 발명의 일 실시예에 따른 개발 툴에서의 이벤트 등록과 소스코드 반영을 도시한 도면으로서, mvc 개발 패턴 기반의 동적 어플리케이션 환경을 위한 자바스크립트 이벤트 핸들링 기법일 수 있다.FIG. 6 is a diagram illustrating event registration and source code reflection in a development tool according to an exemplary embodiment of the present invention, and may be a JavaScript event handling technique for a dynamic application environment based on an mvc development pattern.

보다 구체적으로, 뷰 블록 위에 배치된 세부 블록(61) 하단에 위치한 별모양 표시를 통해 컨트롤 블록에 등록된 세부 블록(62)과 연결할 수 있는 선택 창(62)에서 상기 버튼을 동작시킬 수 있도록 등록된 함수에 연결할 수 있다. 예를 들어, 뷰 블록에 배치된 세부 블록(61)에서 컨트롤 블록에 배치된 함수 중 'window msg'함수(62)를 선택할 경우 이벤트 등록과 소스 코드에 'window msg()'가 반영될 수 있다. 즉, 뷰 파트와 컨트롤 파트의 연동을 손쉽게 하는 기법으로서 등록된 함수를 선택 클릭할 수 있도록 구현 설계하여 클릭 UI형태로 자바스크립트를 웹 어플리케이션에 적용할 수 있다.More specifically, in order to operate the button in the selection window 62 that can be connected to the detailed block 62 registered in the control block through the star display located at the lower end of the detail block 61 disposed on the view block, You can link to a function that has been called. For example, if the 'window msg' function (62) among the functions arranged in the control block in the detailed block (61) arranged in the view block is selected, 'event registration and source code can reflect' window msg . In other words, it is a technique to easily link the view part and the control part, and it is possible to implement the click function of the registered function so that the JavaScript can be applied to the web application in the form of click UI.

이제 다시 도 1로 돌아가 S120 단계 이후를 설명하도록 한다.Returning now to FIG. 1, step S120 and subsequent steps will be described.

S130 단계는 이하에서 도 7을 통해 보다 구체적으로 설명하도록 한다.Step S130 will be described in more detail with reference to FIG. 7 below.

도 7은 본 발명의 일 실시예에 따른 트리 구조를 도시한 도면이다.7 is a diagram illustrating a tree structure according to an embodiment of the present invention.

보다 구체적으로, 상기 개발 툴이 상기 결합된 뷰 블록 및 컨트롤 블록에 대하여 상기 적층식 구조의 최하단을 루트로 설정하고, 적층된 순서에 따라 상기 루트의 자식 노드를 설정함으로써, 부모-자식 관계가 성립하는 트리 구조로 치환한다. 다시 말해, S120 단계에서 결합한 적층식 블록 조합 구조를 바탕으로 블록들 사이의 부모-자식 관계가 성립하는 트리 구조로 블록을 저장할 수 있다. 이러한 저장 방식은 구현 단계인 S140 단계에서 마크업 언어의 표현 개념을 그대로 이용할 수 있으므로, 직관적인 구조를 설계할 수 있으며, 마크업 언어로 출력하는 웹 어플리케이션 환경에서 구성 컴포넌트 트리에 대한 재귀적 탐색을 이용하여 컴파일할 수 있다는 장점을 가질 수 있다.More specifically, the development tool sets the lowest level of the layered structure as the root for the combined view block and control block, and sets the child node of the root according to the stacked order, thereby establishing a parent- . &Lt; / RTI &gt; In other words, the block can be stored in a tree structure in which the parent-child relationship between the blocks is established based on the combined laminated block combination structure in step S120. This storage method can design an intuitive structure since the expression concept of the markup language can be used as it is in step S140 of the implementation step. Therefore, it is possible to design an intuitive structure and to perform a recursive search for the constituent component tree in a web application environment outputting in a markup language You can have the advantage of being able to compile with.

한편, 도 8은 본 발명의 일 실시예에 따른 확장 블록에 대한 연결 기법을 도시한 도면으로서, 상기 트리 구조로 치환되는 블록 중에서 동일한 상기 태그범위를 포함하는 블록이 존재할 경우, 상기 트리 구조로 치환된 블록의 하위 노드에 상기 동일한 태그범위를 포함하는 블록을 서브 트리 구조로 연결할 수 있다.8 is a diagram illustrating a connection scheme for an extension block according to an embodiment of the present invention. When a block including the same tag range is present among the blocks replaced with the tree structure, A block including the same tag range can be connected to a lower node of a block in a subtree structure.

보다 구체적으로, 블록 적층 방식의 시각적 한계부분인 다중 적층 블록 쌓기에 대하여 트리 구조에서의 디캄퍼지션 스킴(pruning: 가지치기))을 이용하여 여러 개의 블록이 중첩될 경우 유사레벨의 블록을 연결해주는 방식으로 무한 쌓기 기능을 구현하여 웹 환경에서 발생할 수 있는 다양한 구현 환경을 유연하게 적용할 수 있다. 즉, 본 발명의 실시예에서 블록들은 조합되더라도 화면에 표현될 때 작은 크기의 단일 블록으로 표현될 수 있다. 따라서, 각 블록 내부를 표현하기 위해서는 블록 내부를 표현하기 위해 해당 블록을 노드로 하는 다른 트리 구조와 연결할 수 있다. 상기 각각 블록마다 세부 블록이 존재할 수 있으므로, 보여지는 부분의 트리 노드에 해당하는 블록을 제외하고는 각 블록 노드의 하위 노드를 가지치기하여 별개의 서브 트리로 저장하여 이용할 수 있다. 예를 들어, div 블록(73) 안에 div 블록이 추가로 들어가는 것은 무한으로 연결할 수 있다. 또한, div 블록(73) 안에 버튼 블록과 div 블록을 연결하고, 또 버튼 블록을 연결할 수도 있다. 여기서, 상기 유사레벨이란 예를 들어 HTML에서 표현될 수 있는 태그 상의 위치가 <body> 태그 안에서는 어디든 들어갈 수 있다는 의미일 수 있다.More specifically, when a plurality of blocks are overlapped by using a de-camping scheme (pruning) in a tree structure for multi-layered block building, which is a visual limit part of the block stacking method, It is possible to flexibly apply various implementation environments that may occur in the web environment. That is, in the embodiment of the present invention, even if the blocks are combined, they can be represented by a single block having a small size when expressed on the screen. Therefore, in order to express the inside of each block, it can be connected with another tree structure having the corresponding block as a node in order to express the inside of the block. Since the detailed blocks may exist for each block, the lower node of each block node except the block corresponding to the tree node of the part to be viewed may be truncated and stored as a separate subtree. For example, an additional div block in the div block (73) can be connected indefinitely. It is also possible to connect the button block and the div block in the div block 73 and also connect the button block. Here, the similar level may mean that the position on the tag, which can be expressed in HTML, can be inserted anywhere in the <body> tag, for example.

이제 다시 도 1로 돌아가 S130 단계 이후를 설명하도록 한다.Returning now to FIG. 1, step S130 and subsequent steps will be described.

S140 단계에서, 상기 개발 툴이 상기 트리 구조로 치환된 뷰 블록 및 컨트롤 블록을 상기 트리 구조에 따라 순차적으로 검색하고, 상기 검색결과 독출된 뷰 블록 및 컨트롤 블록의 소스 코드를 참조하여 HTML 언어로 변환함으로써, 상기 웹 어플리케이션을 제작한다. 즉 상기 트리 구조를 깊이 우선탐색(DFS: Depth First Search)을 통해 노드 블록들을 탐색하여 탐색된 블록의 소스 코드를 참조하여 HTML 언어로 변환함으로써, 웹 어플리케이션을 제작할 수 있다.In step S140, the development tool sequentially searches for a view block and a control block in which the development tool has been replaced with the tree structure according to the tree structure, and converts the source code of the view block and the control block read in the search result into an HTML language Thereby creating the web application. That is, the tree structure is searched for through the depth first search (DFS: Depth First Search), and the source code of the searched block is referred to and converted into the HTML language, thereby making it possible to produce a web application.

도 9는 본 발명의 실시예들이 채택하고 있는 HTML5를 이용하여 웹 어플리케이션을 제작하는 장치를 도시한 블록도로서, 웹 어플리케이션 제작 장치(80)는 앞서 기술한 도 1의 각 과정에 대응하는 구성을 포함한다. 따라서, 여기서는 설명의 중복을 피하기 위해 시스템의 세부구성을 중심으로 그 기능을 약술하도록 한다.FIG. 9 is a block diagram showing an apparatus for producing a web application using HTML 5 adopted by the embodiments of the present invention. The web application production apparatus 80 has a configuration corresponding to each process of FIG. 1 described above . Therefore, in order to avoid duplication of explanation, the function is outlined mainly in the detailed configuration of the system.

HTML 언어와 자바스크립트가 포함된 HTML5를 이용하여 웹 어플리케이션을 제작하는 장치(80)에 있어서, 입력부(81)는 뷰 블록 및 컨트롤 블록에 대한 속성을 인지한 사용자로부터 결합될 블록을 입력받는다.In an apparatus 80 for producing a web application using HTML5 including an HTML language and JavaScript, an input unit 81 receives a block to be combined from a user who has recognized an attribute of a view block and a control block.

처리부(82)는 상기 HTML 언어를 통해 생성된 하나 이상의 태그범위를 상기 뷰 블록으로 각각 변환하고, 하나 이상의 명령에 대한 동작을 수행하는 자바스크립트를 컨트롤 블록으로 각각 변환하고, 상기 입력받은 블록을 적층식으로 결합하고, 상기 결합된 블록에 대하여 상기 적층식 구조의 최하단을 루트로 설정하고, 적층된 순서에 따라 상기 루트의 자식 노드를 설정하고, 부모-자식 관계가 성립하는 트리 구조로 치환하며, 상기 트리 구조로 블록을 상기 트리 구조에 따라 순차적으로 검색함으로써, 상기 검색결과 독출된 블록의 소스 코드를 참조하여 HTML 언어로 변환한다.The processing unit 82 converts each of the one or more tag ranges generated through the HTML language into the view block, converts the Javascript that performs the operation for one or more commands into a control block, , Setting the lowest end of the stacked structure as a root for the combined block, setting a child node of the root according to the stacking order, replacing the tree structure with a parent-child relationship, By sequentially searching the blocks in the tree structure according to the tree structure, the source code of the block read out in the search result is referred to and converted into an HTML language.

출력부(83)는 상기 각각 변환된 뷰 블록 및 컨트롤 블록을 출력하여 상기 사용자로부터 결합에 이용될 블록의 선택을 유도하며, 상기 HTML 언어로 변환되어 제작된 상기 웹 어플리케이션을 출력한다.The output unit 83 outputs the converted view blocks and control blocks to induce the user to select a block to be used for combination, and outputs the web application converted into the HTML language.

또한, 상기 뷰 블록 및 상기 컨트롤 블록 각각에 대하여 속성으로 타입, 레이어, 이름, 소스코드, 결합 인자, 색상, 및 크기를 포함하되, 상기 레이어는 상기 뷰 블록 및 상기 컨트롤 블록을 바인딩하는 플레이트 블록이 포함된 제 1 레이어, 상기 뷰 블록 및 상기 컨트롤 블록이 포함된 제 2 레이어, 및 상기 제 2 레이어에 포함된 블록들의 연결 설정을 하는 영역별 세부 블록이 포함된 제 3 레이어로 구성될 수 있다.In addition, each of the view block and the control block includes a type, a layer, a name, a source code, a coupling factor, a color, and a size as attributes, and the layer includes a plate block for binding the view block and the control block And a third layer including a first layer included, a view layer, a second layer including the control block, and a detailed block for each area for establishing connection of the blocks included in the second layer.

또한, 처리부(82)는 상기 적층될 블록 중 상단에 위치한 블록의 레이어가 하단에 적층될 블록의 레이어 보다 상위 레이어일 경우 상기 블록을 적층할 수 있다.In addition, the processing unit 82 can stack the blocks when the layer of the block located at the top of the blocks to be stacked is higher than the layer of the block to be stacked at the lower end.

또한, 상기 사용자로부터 상기 블록 사용에 대하여 난이도에 따라 분류된 세 가지의 수준을 입력받고, 상기 입력된 세 가지의 수준에 따라 상기 블록 결합에 사용되는 사용자 인터페이스를 결정하되, 상기 세 가지의 수준 중 기능 사용의 입출력을 이해하는 제 1 수준은 뷰 블록 및 컨트롤 블록이 미리 결합되어 패키지화된 블록을 제공하고, 상기 세 가지의 수준 중 상기 블록 결합을 변경 및 수정할 수 있는 제 2 수준은 블록 결합에 사용되는 뷰 블록 및 컨트롤 블록을 제공하며, 상기 세 가지의 수준 중 코드를 이용하여 기능 생성을 할 수 있는 제 3 수준은 코드를 생성 및 수정할 수 있는 블록을 제공할 수 있다.In addition, the user inputs three levels classified according to degree of difficulty for use of the block from the user, and determines a user interface used for the block combining according to the input three levels, The first level for understanding the input / output of function usage provides a packaged block of view blocks and control blocks in advance, and a second level for modifying and modifying the block combination of the three levels is used for block combining And a third level capable of generating functions using the code among the three levels can provide a block capable of generating and modifying the code.

또한, 상기 트리 구조로 치환되는 블록 중에서 동일한 상기 태그범위를 포함하는 블록이 존재할 경우, 상기 트리 구조로 치환된 블록의 하위 노드에 상기 동일한 태그범위를 포함하는 블록을 서브 트리 구조로 연결할 수 있다.In addition, when a block including the same tag range exists among the blocks replaced by the tree structure, a block including the same tag range may be connected to a lower node of the block replaced with the tree structure in a subtree structure.

상기된 본 발명에 따르면, 드래그앤드랍을 이용한 적층 조립방식의 직관적인 UI/UX를 구축하고, XML 라벨링 스킴을 차용한 블록 조립 방식을 도입하여 웹 컴포넌트 컴파일링 기업을 구현하였고, 블록 조립 단계에서 이벤트 등록 UI/UX를 구현하여 웹 어플리케이션에서도 손쉽게 이벤트 핸들링 가능하도록 하였으며, HTML5 기반의 모든 웹브라우저에서 원활하게 구동되는 웹기반 IDE 개발환경을 구축하였다. 나아가, HTML 위의 특정 컴포넌트 영역 부분에 대한 레이블링, 각 레이블에 대한 권한정보를 기록하고, 권한이 있는 컴포넌트만 보여주는 방식으로 권한 외의 요청을 차단하고, 기존의 웹 문서 단위의 보기 구조를 세부 단위로 나눠서 표현하고, 각 부분들에 대한 조합을 이용하여 페이지를 새롭게 구성할 수 있으며, 웹 어플리케이션의 문서 설계 단위가 웹 페이지에서 기능 단위로 세분화하여 접근제어에 적용이 가능할 수 있다.According to the present invention, an intuitive UI / UX using a drag and drop stacking method is constructed, a web component compiling company is implemented by introducing a block assembling method utilizing an XML labeling scheme, Event registration UI / UX is implemented so that event handling can be handled easily in web applications and web-based IDE development environment that runs smoothly in all HTML5 based web browsers is built. Furthermore, it is possible to label the specific component area on the HTML, record the authority information for each label, block only the authorized components in such a manner that only authorized components are displayed, It is possible to construct a new page by using a combination of parts, and the document design unit of the web application can be applied to the access control by subdividing into functional units in a web page.

한편, 본 발명의 실시예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.Meanwhile, the embodiments of the present invention can be embodied as computer readable codes on a computer readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.

컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device and the like, and also a carrier wave (for example, transmission via the Internet) . In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily deduced by programmers skilled in the art to which the present invention belongs.

이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described above with reference to various embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

80 : 웹 어플리케이션 제작 장치
81 : 입력부
82 : 처리부
83 : 출력부
80: Web application creation device
81:
82:
83: Output section

Claims (16)

HTML 언어와 자바스크립트(javascript)가 포함된 HTML5를 이용하여 웹 어플리케이션(web application)을 제작하는 방법에 있어서,
개발 툴(tool)이 상기 HTML 언어를 통해 생성된 하나 이상의 태그범위를 뷰(view) 블록으로 각각 변환하고, 하나 이상의 명령에 대한 동작을 수행하는 자바스크립트를 컨트롤(control) 블록으로 각각 변환하는 단계;
상기 뷰 블록 및 상기 컨트롤 블록에 대한 속성을 인지한 사용자의 입력에 따라 상기 개발 툴이 상기 뷰 블록 및 상기 컨트롤 블록을 적층식으로 결합하는 단계;
상기 개발 툴이 상기 결합된 뷰 블록 및 컨트롤 블록에 대하여 상기 적층식 구조의 최하단을 루트로 설정하고, 적층된 순서에 따라 상기 루트의 자식 노드를 설정함으로써, 부모-자식 관계가 성립하는 트리 구조로 치환하는 단계; 및
상기 개발 툴이 상기 트리 구조로 치환된 뷰 블록 및 컨트롤 블록을 상기 트리 구조에 따라 순차적으로 검색하고, 검색결과 독출된 뷰 블록 및 컨트롤 블록의 소스 코드를 참조하여 HTML 언어로 변환함으로써, 상기 웹 어플리케이션을 제작하는 방법.
A method for producing a web application using HTML5 including HTML language and JavaScript,
Converting each of the one or more tag ranges generated through the HTML language into a view block, and converting a JavaScript, which performs an operation on one or more commands, into a control block, respectively, by a development tool ;
Coupling the view block and the control block in a laminating manner by the development tool according to a user's input recognizing the attributes of the view block and the control block;
The development tool sets the lowest level of the stacked structure as the root for the combined view block and the control block and sets the child node of the root according to the stacked order so that the tree structure in which the parent- Substituting; And
The development tool sequentially searches the view block and the control block in which the development tool has been replaced with the tree structure according to the tree structure and converts the view block and the control block into the HTML language with reference to the source code of the view block and the control block read out in the search result, Lt; / RTI &gt;
제 1 항에 있어서,
상기 뷰 블록 및 상기 컨트롤 블록은,
상기 뷰 블록 및 상기 컨트롤 블록 각각에 대하여 속성으로 타입, 레이어(layer), 이름, 소스코드, 결합 인자, 색상, 및 크기를 포함하는 것을 특징으로 하는 방법.
The method according to claim 1,
Wherein the view block and the control block comprise:
A layer, a name, a source code, a coupling factor, a color, and a size for each of the view block and the control block.
제 2 항에 있어서,
상기 레이어는,
상기 뷰 블록 및 상기 컨트롤 블록을 바인딩(binding)하는 플레이트(plate) 블록이 포함된 제 1 레이어, 상기 뷰 블록 및 상기 컨트롤 블록이 포함된 제 2 레이어, 및 상기 제 2 레이어에 포함된 블록들의 연결 설정을 하는 영역별 세부 블록이 포함된 제 3 레이어로 구성되는 것을 특징으로 하는 방법.
3. The method of claim 2,
The layer
A first layer including a plate block for binding the view block and the control block, a second layer including the view block and the control block, and a link between blocks included in the second layer, And a third layer including detailed blocks for each area to be set.
제 1 항에 있어서,
상기 블록을 적층식으로 결합하는 것은,
적층될 블록 중 상단에 위치한 블록의 레이어가 하단에 적층될 블록의 레이어 보다 상위 레이어일 경우 상기 블록을 적층하는 것을 특징으로 하는 방법.
The method according to claim 1,
When the blocks are stacked together,
Wherein when the layer of the block located at the uppermost one of the blocks to be laminated is higher than the layer of the block to be laminated at the lower layer, the block is laminated.
제 1 항에 있어서,
상기 개발 툴은 사용자로부터 상기 개발 툴 사용에 대하여 난이도에 따라 분류된 세 가지의 수준을 입력받고, 상기 입력된 세 가지의 수준에 따라 상기 블록 결합에 사용되는 사용자 인터페이스를 결정하는 것을 특징으로 하는 방법.
The method according to claim 1,
Wherein the development tool receives three levels of classification classified according to degree of difficulty for use of the development tool from a user and determines a user interface used for the block combining according to the three input levels .
제 5 항에 있어서,
상기 세 가지의 수준 중 기능 사용의 입출력을 이해하는 제 1 수준은, 뷰 블록 및 컨트롤 블록이 미리 결합되어 패키지화된 블록을 제공하는 것을 특징으로 하는 방법.
6. The method of claim 5,
Wherein a first level that understands the input / output of functional use among the three levels provides a packaged block in which a view block and a control block are combined in advance.
제 5 항에 있어서,
상기 세 가지의 수준 중 상기 블록 결합을 변경 및 수정할 수 있는 제 2 수준은, 블록 결합에 사용되는 뷰 블록 및 컨트롤 블록을 제공하는 것을 특징으로 하는 방법.
6. The method of claim 5,
Wherein a second level of the three levels of level that can modify and modify the block combination provides a view block and a control block used for block combining.
제 5 항에 있어서,
상기 세 가지의 수준 중 코드를 이용하여 기능 생성을 할 수 있는 제 3 수준은, 코드를 생성 및 수정할 수 있는 블록을 제공하는 것을 특징으로 하는 방법.
6. The method of claim 5,
Wherein the third level capable of generating functions using the code of the three levels provides a block capable of generating and modifying code.
제 1 항에 있어서,
상기 적층식으로 결합된 블록을 저장할 경우,
상기 저장 시점에서 결합된 블록에 대한 하위 블록도 함께 저장되며, 상기 저장된 블록들은 상시 재사용이 가능한 것을 특징으로 하는 방법.
The method according to claim 1,
When the laminated block is stored,
The subblocks for the combined blocks at the storage time are also stored, and the stored blocks are always reusable.
제 1 항에 있어서,
상기 트리 구조로 치환되는 블록 중에서 동일한 상기 태그범위를 포함하는 블록이 존재할 경우, 상기 트리 구조로 치환된 블록의 하위 노드에 상기 동일한 태그범위를 포함하는 블록을 서브 트리 구조로 연결하는 것을 특징으로 하는 방법.
The method according to claim 1,
Wherein a block including the same tag range is connected to a lower node of a block replaced by the tree structure in a subtree structure when a block including the same tag range is present among the blocks replaced by the tree structure. Way.
제 1 항 내지 제 10 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium storing a program for causing a computer to execute the method according to any one of claims 1 to 10. HTML 언어와 자바스크립트가 포함된 HTML5를 이용하여 웹 어플리케이션을 제작하는 장치에 있어서,
뷰 블록 및 컨트롤 블록에 대한 속성을 인지한 사용자로부터 결합될 블록을 입력받는 입력부;
상기 HTML 언어를 통해 생성된 하나 이상의 태그범위를 상기 뷰 블록으로 각각 변환하고, 하나 이상의 명령에 대한 동작을 수행하는 자바스크립트를 컨트롤 블록으로 각각 변환하고, 상기 입력받은 블록을 적층식으로 결합하고, 상기 결합된 블록에 대하여 상기 적층식 구조의 최하단을 루트로 설정하고, 적층된 순서에 따라 상기 루트의 자식 노드를 설정하고, 부모-자식 관계가 성립하는 트리 구조로 치환하며, 상기 트리 구조로 블록을 상기 트리 구조에 따라 순차적으로 검색함으로써, 검색결과 독출된 블록의 소스 코드를 참조하여 HTML 언어로 변환하는 처리부; 및
상기 각각 변환된 뷰 블록 및 컨트롤 블록을 출력하여 상기 사용자로부터 결합에 이용될 블록의 선택을 유도하며, 상기 HTML 언어로 변환되어 제작된 상기 웹 어플리케이션을 출력하는 출력부를 포함하는 장치.
1. An apparatus for producing a web application using HTML5 including an HTML language and JavaScript,
An input unit for receiving a block to be combined from a user who has recognized a property of a view block and a control block;
Transforming at least one tag range generated through the HTML language into the view block, converting each of the plurality of tags into a control block, converting the JavaScript into a control block, combining the input blocks in a laminating manner, Setting a lowermost end of the stacked structure as a root for the combined block, setting a child node of the root according to a stacking order, replacing the tree with a tree structure in which a parent-child relationship is established, To the HTML language by referring to the source code of the block read out as a result of the search; And
And an output unit outputting the converted view block and control block to induce selection of a block to be used by the user from the user and outputting the web application converted into the HTML language.
제 12 항에 있어서,
상기 뷰 블록 및 상기 컨트롤 블록은,
상기 뷰 블록 및 상기 컨트롤 블록 각각에 대하여 속성으로 타입, 레이어, 이름, 소스코드, 결합 인자, 색상, 및 크기를 포함하되,
상기 레이어는 상기 뷰 블록 및 상기 컨트롤 블록을 바인딩하는 플레이트 블록이 포함된 제 1 레이어, 상기 뷰 블록 및 상기 컨트롤 블록이 포함된 제 2 레이어, 및 상기 제 2 레이어에 포함된 블록들의 연결 설정을 하는 영역별 세부 블록이 포함된 제 3 레이어로 구성되는 것을 특징으로 하는 장치.
13. The method of claim 12,
Wherein the view block and the control block comprise:
A name, a source code, a coupling factor, a color, and a size for each of the view block and the control block,
The layer includes a first layer including a plate block for binding the view block and the control block, a second layer including the view block and the control block, and a block including blocks included in the second layer And a third layer including a detailed block for each area.
제 12 항에 있어서,
상기 처리부는,
적층될 블록 중 상단에 위치한 블록의 레이어가 하단에 적층될 블록의 레이어 보다 상위 레이어일 경우 상기 블록을 적층하는 것을 특징으로 하는 장치.
13. The method of claim 12,
Wherein,
Wherein when the layer of the block located at the uppermost one of the blocks to be laminated is higher than the layer of the block to be laminated at the lower layer, the block is laminated.
제 12 항에 있어서,
상기 사용자로부터 상기 블록 사용에 대하여 난이도에 따라 분류된 세 가지의 수준을 입력받고, 상기 입력된 세 가지의 수준에 따라 상기 블록 결합에 사용되는 사용자 인터페이스를 결정하되,
상기 세 가지의 수준 중 기능 사용의 입출력을 이해하는 제 1 수준은 뷰 블록 및 컨트롤 블록이 미리 결합되어 패키지화된 블록을 제공하고, 상기 세 가지의 수준 중 상기 블록 결합을 변경 및 수정할 수 있는 제 2 수준은 블록 결합에 사용되는 뷰 블록 및 컨트롤 블록을 제공하며, 상기 세 가지의 수준 중 코드를 이용하여 기능 생성을 할 수 있는 제 3 수준은 코드를 생성 및 수정할 수 있는 블록을 제공하는 것을 특징으로 하는 장치.
13. The method of claim 12,
A user interface unit for inputting three levels classified according to degree of difficulty for use of the block from the user and determining a user interface used for the block combining according to the three input levels,
A first level for understanding the input / output of function usage among the three levels provides a packaged block in which a view block and a control block are combined in advance, and a second level that can change and modify the block combination among the three levels Level provides a view block and a control block used for block combining and a third level capable of generating a function using the code among the three levels provides a block capable of generating and modifying a code .
제 12 항에 있어서,
상기 트리 구조로 치환되는 블록 중에서 동일한 상기 태그범위를 포함하는 블록이 존재할 경우, 상기 트리 구조로 치환된 블록의 하위 노드에 상기 동일한 태그범위를 포함하는 블록을 서브 트리 구조로 연결하는 것을 특징으로 하는 장치.



13. The method of claim 12,
Wherein a block including the same tag range is connected to a lower node of a block replaced by the tree structure in a subtree structure when a block including the same tag range is present among the blocks replaced by the tree structure. Device.



KR1020130168464A 2013-12-31 2013-12-31 Apparatus and method for making web application using html5 KR101519381B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130168464A KR101519381B1 (en) 2013-12-31 2013-12-31 Apparatus and method for making web application using html5

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130168464A KR101519381B1 (en) 2013-12-31 2013-12-31 Apparatus and method for making web application using html5

Publications (1)

Publication Number Publication Date
KR101519381B1 true KR101519381B1 (en) 2015-05-13

Family

ID=53394437

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130168464A KR101519381B1 (en) 2013-12-31 2013-12-31 Apparatus and method for making web application using html5

Country Status (1)

Country Link
KR (1) KR101519381B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101672791B1 (en) 2015-10-26 2016-11-07 고려대학교 산학협력단 Method and system for detection of vulnerability on html5 mobile web application
KR101725450B1 (en) 2015-10-26 2017-04-11 고려대학교 산학협력단 Reputation management system provides safety in html5 and method of the same
KR20190047810A (en) 2017-10-30 2019-05-09 (주)앱젯 System and method for making mobile application for small business member
KR102620692B1 (en) 2023-08-21 2024-01-03 주식회사 비전트리 HTML5 Automatic Conversion Method for E-learning Content Creation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006243829A (en) * 2005-02-28 2006-09-14 Toshiba Corp Method and system for converting web content
KR20110019942A (en) * 2009-08-21 2011-03-02 주식회사 엔피커 Webpage editing and storing sysyem
KR20110060419A (en) * 2009-11-30 2011-06-08 한국전자통신연구원 Apparatus and method for generating software based on web using javascript
KR20130094003A (en) * 2012-02-15 2013-08-23 주식회사 시공미디어 System and method for making hybrid application

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006243829A (en) * 2005-02-28 2006-09-14 Toshiba Corp Method and system for converting web content
KR20110019942A (en) * 2009-08-21 2011-03-02 주식회사 엔피커 Webpage editing and storing sysyem
KR20110060419A (en) * 2009-11-30 2011-06-08 한국전자통신연구원 Apparatus and method for generating software based on web using javascript
KR20130094003A (en) * 2012-02-15 2013-08-23 주식회사 시공미디어 System and method for making hybrid application

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101672791B1 (en) 2015-10-26 2016-11-07 고려대학교 산학협력단 Method and system for detection of vulnerability on html5 mobile web application
KR101725450B1 (en) 2015-10-26 2017-04-11 고려대학교 산학협력단 Reputation management system provides safety in html5 and method of the same
KR20190047810A (en) 2017-10-30 2019-05-09 (주)앱젯 System and method for making mobile application for small business member
KR102620692B1 (en) 2023-08-21 2024-01-03 주식회사 비전트리 HTML5 Automatic Conversion Method for E-learning Content Creation

Similar Documents

Publication Publication Date Title
Galloway et al. Professional ASP. NET MVC 4
KR101456506B1 (en) An authoring tool for web applications and the authoring method thereof
CN102609271B (en) Metadata-driven visual SaaS (Software as a Service) application customizing method and metadata-driven visual SaaS application customizing system
JP2006510133A (en) Modeling system for graphic user interface to cross-reference with related applications
CN104216691A (en) Application creating method and device
EP2625606A2 (en) System and method for extending a visualization platform
KR101519381B1 (en) Apparatus and method for making web application using html5
US20180189033A1 (en) Graphical software meta-development tool
KR20170083718A (en) System of Building Responsive Website And Method there-of
CN112099780B (en) Visual application development method, device and medium based on ERP system
KR102067661B1 (en) Widget authoring system and method thereof
de Lange et al. Collaborative wireframing for model-driven web engineering
CN102253830A (en) Method for automatically generating configuration file under struts2
Giani et al. A set of languages for context-aware adaptation
Chaisatien et al. A Description-Based Composition Method for Mobile and Tethered Mashup Applications.
Iñesta et al. Framework and authoring tool for an extension of the UIML language
Bekic Empowered End-User Computing: A Historical Investigation and Development of a File-System-Based Environment
Sekulovski Cross-platform mobile application generation with a model-driven approach based on IFML and cross-compilation
CN117435193A (en) Page generation method and device, electronic equipment and storage medium
Hild et al. Pro SharePoint 2010 Solution Development: Combining. NET, SharePoint, and Office 2010
KR20150098995A (en) A recording media specialized for an application developing environment program recording recognized by computer
KR20150099281A (en) A system for providing an application developing environment
KR20150097108A (en) A method for providing an application developing environment
KR20150097131A (en) A device for providing an application developing environment
KR20150097133A (en) A device for providing an application developing environment

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
FPAY Annual fee payment

Payment date: 20180425

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190325

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200304

Year of fee payment: 6