KR20180027023A - 앱 개발을 위한 통합 개발 환경을 제공하는 앱 저작 장치 및 방법 - Google Patents
앱 개발을 위한 통합 개발 환경을 제공하는 앱 저작 장치 및 방법 Download PDFInfo
- Publication number
- KR20180027023A KR20180027023A KR1020160114089A KR20160114089A KR20180027023A KR 20180027023 A KR20180027023 A KR 20180027023A KR 1020160114089 A KR1020160114089 A KR 1020160114089A KR 20160114089 A KR20160114089 A KR 20160114089A KR 20180027023 A KR20180027023 A KR 20180027023A
- Authority
- KR
- South Korea
- Prior art keywords
- authoring
- application
- user interface
- project
- app
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 디스플레이 모듈, 앱 저작 서버와 데이터 통신을 수행하는 통신 모듈, 앱 저작을 위한 통합 개발 환경 프로그램이 저장된 메모리 및 메모리에 저장된 프로그램을 실행하는 프로세서를 포함한다. 이때, 프로세서는 프로그램의 실행에 따라, 앱 저작 서버로부터 수신한 프로젝트 및 프로젝트에 포함된 하나 이상의 블록을 디스플레이 모듈을 통해 표시한다. 그리고 프로젝트 및 하나 이상의 블록은 앱 저작 서버로부터 수신한 앱 저작 사용자 인터페이스를 통해 디스플레이 모듈에 표시되는 것이며, 블록은 데이터 블록 및 사용자 인터페이스 블록을 포함한다.
Description
본 발명은 앱 개발을 위한 통합 개발 환경을 제공하는 앱 저작 장치 및 방법에 관한 것이다.
최근 스마트 폰 및 스마트 태블릿 등 다양한 플랫폼의 모바일 단말이 보급됨에 따라, 다양한 플랫폼에서 실행될 수 있는 앱 개발에 대한 요구가 증가되고 있다. 일반적으로 개발자들은 각 플랫폼 별로 별도의 개발용 컴퓨터를 통하여 플랫폼에 종속적인 앱을 개발하거나, 각 플랫폼 별로 동작하는 가상 머신을 이용하여 각 플랫폼에 종속적인 앱을 개발한다.
이러한 다양한 플랫폼 별로 앱을 개발하기 위하여, 사용하는 프로그래밍 언어 및 통합 개발 환경은 플랫폼 별로 상이할 수 있다. 그러므로 개발자는 동일한 기능을 하는 앱을 개발하기 위하여, 각 플랫폼에 따라 상이한 프로그래밍 언어 및 통합 개발 환경(integrated development environment; IDE)을 사용하여야 한다. 그러므로 다양한 플랫폼 별로 앱을 개발하기 위하여 소요되는 시간 및 노력이 증가하게 된다.
이와 관련되어, 한국 공개특허공보 제10-1416089호(발명의 명칭: "웹 어플리케이션 저작을 위한 통합 플랫폼 및 그 저작 방법")는 웹 어플리케이션 저작을 위한 통합 플랫폼 및 그 구성 방법을 개시하고 있다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 멀티 플랫폼을 지원하는 앱을 개발하기 위한 웹 기반 통합 개발 환경을 제공하는 앱 저작 장치 및 방법을 제공한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 앱 개발을 위한 통합 개발 환경을 제공하는 앱 저작 장치는 디스플레이 모듈, 앱 저작 서버와 데이터 통신을 수행하는 통신 모듈, 앱 저작을 위한 통합 개발 환경 프로그램이 저장된 메모리 및 메모리에 저장된 프로그램을 실행하는 프로세서를 포함한다. 이때, 프로세서는 프로그램의 실행에 따라, 앱 저작 서버로부터 수신한 프로젝트 및 프로젝트에 포함된 하나 이상의 블록을 디스플레이 모듈을 통해 표시한다. 그리고 프로젝트 및 하나 이상의 블록은 앱 저작 서버로부터 수신한 앱 저작 사용자 인터페이스를 통해 디스플레이 모듈에 표시되는 것이며, 블록은 데이터 블록 및 사용자 인터페이스 블록을 포함한다.
또한, 본 발명의 제 2 측면에 따른 앱 개발을 위한 통합 개발 환경을 제공하는 장치의 앱 저작 방법은 앱 저작 서버로부터 프로젝트 및 프로젝트에 포함된 하나 이상의 블록을 수신하는 단계 및 프로젝트 및 하나 이상의 블록을 디스플레이 모듈을 통해 표시하는 단계를 포함한다. 이때, 프로젝트 및 하나 이상의 블록은 앱 저작 서버로부터 수신한 앱 저작 사용자 인터페이스를 통해 디스플레이 모듈에 표시되는 것이며, 블록은 데이터 블록 및 사용자 인터페이스 블록을 포함한다.
본 발명은 개발자가 개발하는 앱의 플랫폼에 독립적인 통합 개발 환경을 제공할 수 있다. 또한, 본 발명은 그래픽 사용자 인터페이스 기반의 웹 기반 통합 개발 환경을 통하여 소스 코드 작성 없이 하나 이상의 플랫폼에서 실행할 수 있는 앱을 개발할 수 있다. 본 발명은 개발된 앱을 하나 이상의 플랫폼의 네이티브 소스 코드로 생성하고, 이를 이용하여 추가적인 기능 구현 및 유지 보수가 가능하다.
그러므로 본 발명은 프로그래밍 언어에 익숙한 사용자 및 프로그래밍 언어에 익숙하지 않은 사용자에게 빠르고 쉽게 앱을 개발할 수 있도록 지원할 수 있다.
도 1 은 본 발명의 일 실시예에 따른 앱 저작 시스템의 블록도이다.
도 2는 본 발명의 일 실시예에 따른 앱 저작 서버의 블록도이다.
도 3은 본 발명의 일 실시예에 다른 앱 저작 장치의 블록도이다.
도 4는 본 발명의 일 실시예에 따른 앱 저작 통합 개발 환경 사용자 인터페이스의 예시도이다.
도 5는 본 발명의 일 실시예에 따른 데이터 입력 사용자 인터페이스의 예시도이다.
도 6은 본 발명의 일 실시예에 따른 개발된 앱의 예시도이다.
도 7은 본 발명의 일 실시예에 따른 앱 저작 장치의 앱 저작 방법에 대한 순서도이다.
도 2는 본 발명의 일 실시예에 따른 앱 저작 서버의 블록도이다.
도 3은 본 발명의 일 실시예에 다른 앱 저작 장치의 블록도이다.
도 4는 본 발명의 일 실시예에 따른 앱 저작 통합 개발 환경 사용자 인터페이스의 예시도이다.
도 5는 본 발명의 일 실시예에 따른 데이터 입력 사용자 인터페이스의 예시도이다.
도 6은 본 발명의 일 실시예에 따른 개발된 앱의 예시도이다.
도 7은 본 발명의 일 실시예에 따른 앱 저작 장치의 앱 저작 방법에 대한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
다음은 도 1 내지 도 6을 참조하여, 본 발명의 일 실시예에 따른 앱 저작 시스템(100)을 설명한다.
도 1 은 본 발명의 일 실시예에 따른 앱 저작 시스템(100)의 블록도이다.
앱 저작 시스템(100)은 개발자가 앱 저작 장치(120)를 통하여 다양한 플랫폼에 독립적인 앱을 개발하고, 사용자 단말에 배포하도록 지원한다. 이때, 앱 저작 시스템(100)이 지원하는 플랫폼은 서버 및 개인용 컴퓨터를 위한 운영체제 및 모바일 단말 등 임베디드 시스템을 위한 운영체제를 포함할 수 있다. 예를 들어, 앱 저작 시스템(100)이 지원하는 플랫폼은 Window, Linux, Unix, Android, iOS 및 Tizen 등의 운영체제를 포함할 수 있으나, 이에 한정된 것은 아니다.
앱 저작 시스템(100)은 앱 저작 서버(110) 및 앱 저작 장치를 포함한다. 앱 저작 서버(110)는 도 2를 참조하여 상세하게 설명하며, 앱 저작 장치(120)는 도 3을 참조하여 상세하게 설명한다.
도 2는 본 발명의 일 실시예에 따른 앱 저작 서버(110)의 블록도이다.
앱 저작 서버(110)는 개발자가 앱 저작 장치(120)를 통하여 다양한 플랫폼에 독립적인 앱을 개발하기 위한 통합 개발 환경(integrated development environment; IDE)인 앱 저작 통합 개발 환경을 제공한다.
이때, 앱 저작 통합 개발 환경은 개발자가 앱을 개발하기 위한 GUI(graphic user interface)인 앱 저작 통합 개발 환경 사용자 인터페이스 및 앱 저작 소프트웨어 개발 도구를 포함할 수 있다.
이때, 앱 저작 통합 개발 환경 사용자 인터페이스는 웹 브라우저를 통하여 제공될 수 있다. 이때, 웹 브라우저는 HTML 5를 지원하는 웹 브라우저 일 수 있으나, 이에 한정된 것은 아니다. 또는, 앱 저작 통합 개발 환경 사용자 인터페이스는 앱 저작 장치(120)에 설치된 별도의 애플리케이션을 통하여 실행될 수 있다.
또한, 앱 저작 소프트웨어 개발 도구는 각 플랫폼에 독립적인 앱을 개발하기 위한 라이브러리 일 수 있다. 즉, 앱 저작 소프트웨어 개발 도구는 앱에 포함된 데이터 블록, 사용자 인터페이스 블록 등을 정의하고, 사용하기 위한 미리 정의된 소스 코드를 포함할 수 있다.
예를 들어, 앱 저작 소프트웨어 개발 도구는 앱에 포함되는 하나 이상의 사용자 인터페이스의 정의, 계층 관계, 속성, 기능 등에 대한 상세 정의가 포함될 수 있다. 또한, 앱 저작 소프트웨어 개발 도구는 각 사용자 인터페이스 간의 관계가 정의될 수 있다.
그리고 앱 저작 소프트웨어 개발 도구는 외부 소프트웨어 개발 도구(140)와 연결될 수 있다. 이때, 외부 소프트웨어 개발 도구는 iOS 소프트웨어 개발 도구(141), Android 소프트웨어 개발 도구(142), Java 소프트웨어 개발 도구(143) 및 .NET 소프트웨어 개발 도구 등을 포함할 수 있으나, 이에 한정된 것은 아니다.
예를 들어, 앱 저작 서버(110)가 지원하는 플랫폼이 Android 및 iOS이라면, 앱 저작 소프트웨어 개발 도구는 Android 소프트웨어 개발 도구 및 iOS 소프트웨어 개발 도구와 각각 연결되어 각 플랫폼에 대응하는 네이티브 소스 코드를 생성하기 위하여 미리 정의된 복수의 소스 코드를 포함할 수 있다.
이때, 네이티브 소스 코드는 과 같이 각 플랫폼에서 컴파일 될 수 있는 프로그래밍 언어로 생성된 것일 수 있다. 예를 들어, 네이티브 소스 코드는 c, c++, c#, Java 및 Objective C 일 수 있으나, 이에 한정된 것은 아니다.
그리고 앱 저작 소프트웨어 개발 도구는 개발자가 개발하는 앱에 포함될 수 있는 기능이 정의된 복수의 소스 코드가 포함된 라이브러리를 포함할 수 이다.
도 2를 참조하면, 앱 저작 서버(110)는 통신 모듈(200), 메모리(210), 스토리지 모듈(210) 및 프로세서(220)를 포함한다.
통신 모듈(200)은 앱 저작 장치(120)와 데이터 통신을 수행한다. 또한, 통신 모듈(200)은 빌드 서버(미도시)와 데이터 통신을 수행할 수 있다.
메모리(210)는 앱 저작 통합 개발 환경 프로그램이 저장된다. 이때, 메모리(210)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치를 통칭하는 것이다.
스토리지 모듈(220)은 앱을 임시 저장할 수 있다. 또한, 스토리지 모듈(220)은 앱을 배포한 이후 생성되는 설치 패키지를 저장할 수 있다.
또한, 프로세서(230)는 메모리(210)에 저장된 앱 저작 통합 개발 환경 프로그램을 실행한다.
도 3은 본 발명의 일 실시예에 다른 앱 저작 장치(120)의 블록도이다.
앱 저작 장치(120)는 앱 저작 서버(110)로부터 수신한 앱 저작 통합 개발 환경 프로그램을 개발자에게 제공한다. 앱 저작 장치(120)는 개발자가 입력하는 신호를 앱 저작 서버(110)로 전달하여 앱을 개발한다. 그리고 앱 저작 장치(120)는 앱 저작 서버(110)를 통하여 앱을 빌드하고, 빌드된 앱을 사용자 단말(130)에 배포한다.
이때, 앱 저작 장치(120)는 입력 모듈(300), 디스플레이 모듈(310), 통신 모듈(320), 메모리(330) 및 프로세서(340)를 포함한다.
입력 모듈(300)은 개발자로부터 신호를 수신한다.
또한, 디스플레이 모듈(310)은 앱 저작 서버(110)로부터 수신한 앱 저작 통합 개발 환경 프로그램을 개발자에게 디스플레이 한다.
통신 모듈(320)은 앱 저작 서버(110)와 데이터 통신을 수행한다. 또한, 통신 모듈(320)은 직접 사용자 단말(130)에 개발된 앱을 배포하거나, 앱 스토어를 통하여 사용자 단말(130)에 앱을 배포할 수 있다.
메모리(330) 는 앱 저작 프로그램이 저장된다. 이때, 메모리(330) 는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치를 통칭하는 것이다.
또한, 프로세서(340)는 메모리에 저장된 앱 저작 프로그램을 실행한다.
이하에서는 도 4 내지 도 6을 참조하여, 앱 저작 서버(110) 및 앱 저작 장치(120)를 통한 앱 저작 과정을 설명한다.
개발자는 앱 저작 장치(120)의 입력 모듈(300)을 통하여 하나 이상의 플랫폼을 지원하는 앱 저작 통합 개발 환경 프로그램을 요청할 수 있다.
앱 저작 장치(120)는 개발자의 요청에 따라 앱 저작 장치(120)의 통신 모듈(310)을 통하여 앱 저작 서버(110)로 앱 저작 통합 개발 환경 프로그램을 요청 신호를 전달할 수 있다.
앱 저작 서버(110)는 앱 저작 서버(110)의 통신 모듈(200)을 통하여 앱 저작 장치(120)로부터 수신한 요청 신호에 따라 앱 저작 통합 개발 환경 프로그램에 대응하는 앱 저작 통합 개발 환경 사용자 인터페이스를 앱 저작 장치(120)로 전달할 수 있다.
앱 저작 장치(120)는 앱 저작 장치(120)의 통신 모듈(310)을 통하여 앱 저작 서버(110)로부터 수신한 앱 저작 통합 개발 환경 사용자 인터페이스를 웹 브라우저 통하여 실행할 수 있다. 또는, 앱 저장 장치는 앱 저작 서버(110)로부터 수신한 앱 저작 통합 개발 환경 사용자 인터페이스를 앱 저작 장치(120)에 설치된 별도의 프로그램을 통하여 실행할 수 있다. 그리고 앱 저작 장치(120)는 앱 저작 장치(120)의 디스플레이 모듈(310)에 앱 저작 통합 개발 환경 사용자 인터페이스를 디스플레이 할 수 있다.
도 4는 본 발명의 일 실시예에 따른 앱 저작 통합 개발 환경 사용자 인터페이스의 예시도이다.
도 4를 참조하면, 앱 저작 통합 개발 환경 사용자 인터페이스는 앱이 실행되는 사용자 단말(130)의 가상화된 사용자 단말(400)을 포함할 수 있다. 또한, 앱 저작 통합 개발 환경 사용자 인터페이스는 앱에 포함된 프로젝트 및 블록을 추가하고 편집하며, 배포하기 위한 메뉴(P430)를 포함할 수 있다.
이때, 가상화된 사용자 단말(400)은 앱이 실행되는 환경 또는 사용자 단말(130)의 종류에 따라 하나 이상이 될 수 있다. 예를 들어, 앱이 실행되는 사용자 단말(130)의 종류가 스마트 폰 및 컴퓨터에서 실행되는 경우, 가상화된 사용자 단말(400)은 가상화된 스마트 폰 및 가상화된 컴퓨터가 될 수 있다.
또한, 통합 개발 환경 사용자 인터페이스에 디스플레이 되는 가상화된 사용자 단말(400)은 해당 앱의 실행 시 디스플레이 되는 앱의 사용자 인터페이스가 될 수 있다. 그러므로 개발자는 가상화된 사용자 단말(400)을 통하여, 앱의 사용자 인터페이스를 디자인 할 수 있다.
이때, 앱이 실행되는 환경 또는 사용자 단말(130)의 종류는 사용자의 요청 신호에 포함될 수 있다. 또는, 앱이 실행되는 환경 또는 사용자 단말(130)의 종류는 앱 저작 통합 개발 환경 사용자 인터페이스를 통하여 개발자가 설정할 수 있다.
또한, 앱 저작 통합 개발 환경 사용자 인터페이스는 개발자가 앱에 포함되는 프로젝트 및 프로젝트에 포함되는 데이터 블록과 사용자 인터페이스 블록을 추가하도록 구성될 수 있다. 또한, 앱 저작 통합 개발 환경 사용자 인터페이스는 프로젝트, 데이터 블록 및 사용자 인터페이스 블록에 대한 속성을 설정할 수 있도록 구성될 수 있다.
이때, 프로젝트는 개발되는 앱에 대응하는 것이다. 즉, 하나의 프로젝트는 하나의 앱을 생성하고 배포할 수 있다. 프로젝트는 프로젝트 이름을 속성으로 포함할 수 있다. 또한, 프로젝트는 앱이 실행되는 하나 이상의 플랫폼 정보 및 사용자 단말(130)의 환경 정보를 속성으로 포함할 수 있다.
또한, 데이터 블록 및 사용자 인터페이스 블록은 프로젝트에 포함되는 것이다. 이때, 각각의 데이터 블록 및 사용자 인터페이스 블록은 이름 및 유형을 속성으로 포함할 수 있다.
데이터 블록은 해당 앱에 대응되어 데이터베이스에 저장되거나, 해당 앱과 연동되는 데이터와 연결될 수 있다. 이때, 데이터 블록은 하나 이상의 데이터 필드를 포함할 수 있다. 데이터 블록은 데이터베이스의 테이블과 대응될 수 있다.
사용자 인터페이스 블록은 해당 앱이 실행될 때, 사용자 단말(130)의 디스플레이 모듈에 디스플레이 된다. 이때, 사용자 인터페이스 블록은 데이터 블록과 연동될 수 있다.
예를 들어, 사용자 인터페이스 블록은 사용자 단말(130)의 디스플레이 모듈의 특정 영역에 텍스트를 표현할 수 있는 텍스트 박스, 사용자 단말(130)의 디스플레이 모듈의 특정 영역에 동영상 또는 이미지를 표현할 수 있는 이미지 박스 및 사용자 단말(130)의 디스플레이 모듈의 특정 영역에 외부 웹 페이지의 내용을 표현할 수 있는 웹 페이지 박스를 포함할 수 있다. 또한, 사용자 인터페이스 블록은 사용자 단말(130)을 사용하는 사용자의 인터렉션을 입력받을 수 있는 버튼 및 설명 등의 텍스트를 표현할 수 있는 레이블을 포함할 수 있으나, 이에 한정된 것은 아니다.
한편, 개발자는 앱 저작 장치(120)의 디스플레이 모듈(310)에 디스플레이된 앱 저작 통합 개발 환경 사용자 인터페이스를 통하여 프로젝트 생성을 요청할 수 있다.
이를 위하여, 앱 저작 서버(110)는 개발자가 사용할 수 있는 미리 설정된 복수의 템플릿을 미리 생성하여 저장할 수 있다. 그리고 앱 저작 서버(110)는 개발자가 미리 설정된 복수의 템플릿 중 어느 하나를 선택할 수 있도록 하는 앱 저작 통합 개발 환경 사용자 인터페이스를 생성하여 앱 저작 장치(120)로 전달할 수 있다.
이때, 템플릿은 프로젝트에 대응하는 플랫폼 정보 및 사용자 단말(130)의 환경 정보 등에 기초하여 프로젝트의 레이아웃 또는 프로젝트에 포함되는 사용자 인터페이스 블록의 레이아웃이 설정된 것일 수 있다.
개발자는 앱 저작 서버(110)로부터 앱 저작 장치(120)로 전달된 미리 설정된 복수의 템플릿 중 어느 하나의 템플릿을 선택하기 위하여, 앱 저작 통합 개발 환경 사용자 인터페이스에 포함된 템플릿 버튼을 클릭할 수 있다. 그리고 개발자는 복수의 템플릿 중 어느 하나의 템플릿을 선택할 수 있다.
앱 저작 장치(120)는 개발자가 선택한 템플릿에 대응하는 프로젝트가 생성되도록 앱 저작 서버(110)로 프로젝트 생성 요청을 전달할 수 있다.
또는, 개발자는 앱 저작 서버(110)로부터 수신된 미리 설정된 복수의 템플릿 중 어느 하나를 선택하여 수정하거나, 새로운 신규 정의 템플릿을 생성할 수 있다. 앱 저작 장치(120)는 개발자가 수정한 템플릿 또는 신규 사용자 정의 템플릿에 대응하는 프로젝트가 생성되도록 앱 저작 서버(110)로 프로젝트 생성 요청을 전달할 수 있다.
이와 같이, 앱 저작 장치(120)는 개발자의 입력 신호에 따라 프로젝트 생성을 위한 프로젝트 생성 신호를 앱 저작 서버(110)로 전달할 수 있다. 이때, 프로젝트 생성 신호는 프로젝트의 이름 또는 프로젝트의 속성 정보를 포함할 수 있다. 이때, 프로젝트의 속성 정보는 지원하는 플랫폼의 정보, 디스플레이되는 화면의 크기 및 해상도 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
앱 저작 서버(110)는 앱 저작 장치(120)로부터 수신한 프로젝트 생성 신호에 기초하여 프로젝트를 생성할 수 있다.
앱 저작 서버(110)에서 프로젝트의 생성이 완료되면 앱 저작 장치(120)는 생성된 프로젝트를 앱 저작 장치(120)의 디스플레이 모듈(310)에 디스플레이할 수 있다.
개발자는 앱 저작 통합 개발 환경 사용자 인터페이스를 통하여 프로젝트에 데이터 블록을 추가할 수 있다. 다시 도 4를 참조하면, 개발자는 앱 저작 통합 개발 환경 사용자 인터페이스의 데이터 블록 생성 버튼(P400)을 이용하여 데이터 블록에 대응하는 이름, 유형 및 값을 입력하고, 데이터 블록의 생성을 요청할 수 있다.
앱 저작 장치(120)는 개발자의 데이터 블록 생성 요청에 따라 블록 생성 신호를 생성하여 앱 저작 서버(110)로 전달할 수 있다. 이때, 블록 생성 신호는 개발자가 입력한 데이터 블록에 대응하는 이름, 유형 및 값을 포함할 수 있다.
예를 들어, 블록 생성 신호는 개발자가 입력한 데이터 블록에 대응하는 이름, 유형 및 값을 JSON 형식으로 저장할 수 있다.
앱 저작 서버(110)는 앱 저작 장치(120)로부터 수신된 블록 생성 신호 및 블록 생성 신호에 포함된 데이터 블록에 대응하는 이름, 유형 및 값을 이용하여 데이터 블록을 생성할 수 있다. 그리고 앱 저작 서버(110)는 앱 저작 서버(110)의 스토리지 모듈(220)에 데이터 블록을 임시 저장할 수 있다.
이를 위하여, 앱 저작 서버(110)는 앱 저작 서버(110)와 연결된 데이터베이스에 블록 생성 신호에 포함된 데이터 블록을 저장할 수 있다. 또는, 앱 저작 서버(110)는 프로젝트 내의 별도의 데이터베이스에 블록 생성 신호에 포함된 데이터 블록이 저장될 수 있도록 데이터 테이블을 생성할 수 있다.
이때, 앱 저작 서버(110)는 앱 저작 소프트웨어 개발 도구에 포함된 데이터베이스 API(application programming interface)에 기초하여 데이터 테이블을 생성할 수 있다. 이때, 데이터베이스 API는 앱 내의 데이터베이스 또는 앱이 실행되는 사용자 단말(130)의 데이터베이스에 대응하는 API일 수 있다.
또한, 앱 저작 서버(110)는 해당 데이터 테이블에 데이터를 저장하거나, 데이터 테이블에 저장된 값을 읽을 수 있는 데이터 모델을 생성할 수 있다. 그리고 앱 저작 서버(110)는 앱 저작 소프트웨어 개발 도구 및 생성된 데이터 모델에 기초하여 데이터를 입력, 수정, 삭제 및 조회할 수 있도록 데이터 입력 소스 코드, 데이터 수정 소스 코드, 데이터 삭제 소스 코드 또는 데이터 조회 소스 코드를 생성할 수 있다.
도 4를 참조하면, 개발자는 텍스트, 사진, 지도 및 동영상을 저장할 수 있는 4개의 데이터 블록(P421, P422, P423, P423)을 생성할 수 있다. 그러므로 앱 저작 서버(110)는 앱 내의 데이터베이스에 4개의 데이터 블록이 각각 저장될 수 있도록 데이터 테이블 및 데이터 모델을 생성할 수 있다.
또한, 앱 저작 장치(120)는 4개의 데이터 블록이 생성되면, 생성된 데이터 블록을 데이터 블록 리스트 인터페이스(P420)에 디스플레이할 수 있다. 개발자는 데이터 블록 리스트 인터페이스(P420)를 통하여, 생성된 4개의 데이터 블록(P421, P422, P423, P423)을 확인할 수 있다.
도 5는 본 발명의 일 실시예에 따른 데이터 입력 사용자 인터페이스의 예시도이다.
한편, 앱 저작 장치(120)는 앱 저작 장치(120)의 디스플레이 모듈(310)에 앱 저작 통합 개발 환경 사용자 인터페이스에 포함된 데이터 입력을 위한 사용자 인터페이스를 디스플레이 할 수 있다.
데이터 입력을 위한 사용자 인터페이스는 개발자가 앱 저작 장치(120)를 통하여 선택한 단일 데이터 블록 또는 복수의 데이터 블록에 대하여 데이터 입력할 수 있도록 구성될 수 있다. 또는 도 5와 같이, 데이터 입력을 위한 사용자 인터페이스는 프로젝트에 포함된 복수의 데이터 블록에 대하여 일괄적으로 데이터를 입력할 수 있도록 구성될 수 있다.
개발자는 데이터 입력을 위한 사용자 인터페이스를 통하여, 데이터 블록에 대응하는 값을 입력할 수 있다. 그리고 개발자는 앱 저장 장치에 입력된 데이터의 저장을 요청할 수 있다.
앱 저작 장치(120)는 개발자의 요청에 따라, 해당 데이터 블록의 식별자 및 해당 데이터 블록의 데이터 입력 요청 신호를 앱 저작 서버(110)로 전달할 수 있다.
앱 저작 서버(110)는 데이터 입력 요청 신호 및 해당 데이터 블록의 데이터 입력 소스 코드에 기초하여, 해당 데이터 블록에 데이터를 저장할 수 있다.
데이터 저장을 완료하면, 앱 저작 서버(110)는 앱 저작 통합 개발 환경 사용자 인터페이스에 데이터 저장 여부가 디스플레이 되도록 앱 저작 장치(120)로 전달할 수 있다.
앱 저작 장치(120)는 앱 저작 장치(120)의 디스플레이 모듈(310)을 통하여, 데이터 저장 완료 메시지 및 저장된 데이터를 디스플레이 할 수 있다.
또한, 개발자는 데이터 수정 및 삭제를 위한 사용자 인터페이스를 통하여, 특정 데이터 블록에 저장된 값을 수정하거나 삭제할 수 있다. 그리고 개발자는 앱 저장 장치에 입력된 데이터의 저장을 요청할 수 있다.
이때, 앱 저작 장치(120)는 개발자의 요청에 따라, 해당 데이터 블록의 식별자 및 해당 데이터 블록의 데이터 수정 또는 삭제 요청 신호를 앱 저작 서버(110)로 전달할 수 있다.
앱 저작 서버(110)는 데이터 수정 신호 및 해당 데이터 블록의 데이터 수정 소스 코드에 기초하여, 해당 데이터 블록에 저장된 데이터를 수정할 수 있다. 또는, 앱 저작 서버(110)는 데이터 삭제 신호 및 해당 데이터 블록의 데이터 수정 삭제 코드에 기초하여, 해당 데이터 블록에 저장된 데이터를 삭제하거나, 해당 데이터 블록을 삭제할 수 있다.
데이터 수정 또는 삭제가 완료하면, 앱 저작 서버(110)는 앱 저작 통합 개발 환경 사용자 인터페이스에 데이터의 수정 또는 삭제 여부가 디스플레이 되도록 앱 저작 장치(120)로 전달할 수 있다.
앱 저작 장치(120)는 앱 저작 장치(120)의 디스플레이 모듈(310)을 통하여, 데이터 저장 완료 메시지 및 저장된 데이터를 디스플레이 할 수 있다.
한편, 개발자는 앱 저장 장치에 디스플레이 된 앱 저작 통합 개발 환경 사용자 인터페이스에 기초하여, 데이터 블록에 대응하는 사용자 인터페이스 블록을 생성할 수 있다.
이때, 개발자가 앱 저장 장치의 입력 모듈(300)을 통하여, 앱 저작 통합 개발 환경 사용자 인터페이스 상의 데이터 블록 리스트 인터페이스(P420)에 디스플레이 된 데이터 블록 중 어느 하나를 선택하여 가상화된 사용자 단말(400) 상의 소정의 영역에 드래그 앤 드롭(drag and drop)하면, 앱 저작 장치(120)는 개발자가 선택한 데이터 블록에 대응하는 사용자 인터페이스 블록이 생성되도록 하는 블록 생성 신호를 생성할 수 있다. 그리고 앱 저작 장치(120)는 블록 생성 신호를 앱 저작 서버(110)로 전달할 수 있다.
앱 저작 서버(110)는 블록 생성 신호에 기초하여 사용자 인터페이스 블록을 생성할 수 있다. 그리고 앱 저작 서버(110)는 생성된 사용자 인터페이스 블록에 블록 생성 신호에 대응하는 데이터 블록을 연결할 수 있다.
만약, 블록 생성 신호에 기초하여 생성된 사용자 인터페이스 블록이 하나 이상인 경우, 앱 저작 서버(110)는 하나 이상의 사용자 인터페이스 블록의 레이아웃이 설정할 수 있다. 그리고 앱 저작 서버(110)는 사용자 인터페이스 블록에 대응하는 소스 코드를 생성할 수 있다.
예를 들어, 앱 저작 서버(110)는 미리 정해진 템플릿에 기초하여 하나 이상의 사용자 인터페이스 블록의 레이아웃을 설정할 수 있다. 그리고 앱 저작 서버(110)는 복수의 사용자 인터페이스 블록의 레이아웃에 대응하는 리스트 뷰를 생성할 수 있다. 또한, 앱 저작 서버(110)는 리스트 뷰에 대응하는 리스트 로우 및 리스트 아이템을 생성할 수 있다.
앱 저작 서버(110)는 생성된 하나 이상의 사용자 인터페이스 블록이 포함되는 가상화된 화면(400)에 대한 신호를 생성하고 앱 저작 장치(120)에 전달할 수 있다.
앱 저작 장치(120)는 앱 저작 서버(110)로부터 수신한 신호에 기초하여 가상화된 화면(400)을 생성하여, 앱 저작 통합 개발 환경 사용자 인터페이스를 통하여 디스플레이 할 수 있다.
개발자가 가상화된 화면(400)에 포함된 사용자 인터페이스 블록을 선택하면, 앱 저작 장치(120)는 사용자 인터페이스 블록의 메시지를 설정하기 위한 메시지 설정 사용자 인터페이스(P470)를 디스플레이 할 수 있다.
메시지 설정 사용자 인터페이스(P470)는 해당 사용자 인터페이스 블록에 대응하는 메시지, 검색 조건, 고급 옵션 및 속성을 설정할 수 있다. 이때, 메시지는 해당 사용자 인터페이스 블록에 대한 기능을 설정하는 것이 될 수 있다. 또한, 속성은 해당 사용자 인터페이스 블록에 대한 이름, 위치에 대한 좌표, 크기 및 유형 등 설정하기 할 수 있다.
개발자가 메시지 설정 사용자 인터페이스(P470)를 통하여, 사용자 인터페이스 블록에 대한 속성 또는 메시지를 설정하면, 그리고 앱 저작 장치(120)는 설정된 속성 정보 또는 메시지 정보를 포함하는 신호를 앱 저작 서버(110)로 전달할 수 있다.
앱 저작 서버(110)는 앱 저작 장치(120)로부터 신호에 기초하여, 사용자 인터페이스 블록에 대한 속성 또는 메시지를 설정할 수 있다. 이때, 앱 저작 서버(110)는 앱 저작 소프트웨어 개발 도구를 이용할 수 있다. 그리고 앱 저작 서버(110)는 가상화된 화면(400)에 설정된 속성 또는 메시지가 반영되도록 하는 신호를 앱 저작 장치(120)로 전달할 수 있다.
앱 저작 장치(120)는 앱 저작 서버(110)로부터 수신한 신호에 기초하여, 속성 또는 메시지가 반영된 가상화된 화면(400)을 디스플레이 할 수 있다.
도 6은 본 발명의 일 실시예에 따른 개발된 앱의 예시도이다.
이러한 과정을 통하여, 개발자는 하나 이상의 플랫폼에서 실행이 가능한 앱을 개발할 수 있다. 이때, 개발자는 본인이 개발한 앱이 각각의 플랫폼에서 정상적으로 작동하는지 확인하기 위하여, 앱 저작 통합 개발 환경 사용자 인터페이스의 미리 보기 버튼을 이용할 수 있다.
개발자가 미리 보기 버튼(P460)을 클릭하면, 앱 저작 장치(120)는 개발자가 선택한 플랫폼에 대응하는 미리 보기 신호를 앱 저작 서버(110)로 전달할 수 있다.
앱 저작 서버(110)는 미리 보기 신호에 따라 프로젝트에 포함된 데이터 블록 및 사용자 인터페이스 블록에 대응하는 소스 코드를 생성할 수 있다. 이때, 소스 코드는 각 플랫폼에 독립적인 html, css 및 javascript 소스 코드가 될 수 있으나, 이에 한정되는 것은 아니다.
앱 저작 서버(110)는 미리 보기 신호에 대응하는 플랫폼에 따라 프로젝트에 대응하는 미리 보기를 생성할 수 있다. 이때, 앱 저작 서버(110)는 미리 보기를 위하여 필요한 그리고 앱 저작 서버(110)는 생성된 미리 보기를 앱 저작 장치(120)로 전달할 수 있다.
앱 저작 장치(120)는 앱 저작 장치(120)의 디스플레이 모듈(310)을 통하여 앱 저작 서버(110)로부터 수신한 미리 보기를 디스플레이 할 수 있다.
한편, 개발자가 앱 저작 통합 개발 환경 사용자 인터페이스를 통하여, 프로젝트의 빌드를 선택하면, 앱 저장 장치는 빌드 신호를 생성하여 앱 저작 서버(110)로 전달할 수 있다. 이때, 빌드 신호는 프로젝트를 빌드하여 배포하게 될 플랫폼의 정보를 포함할 수 있다.
앱 저작 서버(110)는 빌드 신호 및 앱 저작 소프트웨어 개발 도구에 기초하여 현재 개발된 프로젝트를 각 플랫폼에 종속된 프로젝트를 생성할 수 있다. 예를 들어, 플랫폼이 Android 및 iOS 이라면, 앱 저작 서버(110)는 현재 개발된 프로젝트에 기초하여, Android 프로젝트 및 iOS 프로젝트를 생성할 수 있다.
그리고 앱 저작 서버(110)는 각각의 플랫폼 종속 프로젝트에 기초하여 네이티브 소스 프로젝트를 생성할 수 있다. 이때, 네이티브 소스 프로젝트는 앱 저작 소프트웨어 개발 도구에 기초하여 생성되는 것으로 각 플랫폼에서 빌드 가능한 형태의 소스 코드를 포함할 수 있다.
그리고 앱 저작 서버(110)는 각각의 플랫폼에 대응하는 빌드 태스크를 생성하고, 앱 저작 서버(110)의 통신 모듈(200)을 통하여 빌드 서버(미도시)로 빌드 태스크를 전달할 수 있다. 이때, 빌드 서버(미도시)는 각각의 플랫폼에 대응하는 빌드 태스크를 빌드하도록 설정된 서버일 수 있다. 앱 저작 서버(110)는 빌드 서버(미도시)에서 빌드 태스그가 빌드되면 앱 저작 서버(110)의 통신 모듈(200)을 통하여 빌드 서버(미도시)로부터 빌드 태스그에 대응하는 설치 패키지를 수신할 수 있다.
앱 저작 서버(110)는 각각의 플랫폼에 대응하여 생성된 설치 패키지를 앱 저작 장치(120)에 전달할 수 있다. 이때, 앱 저작 서버(110)는 앱 저작 장치(120)가 다운로드 가능하도록 URL 또는 QR 코드를 생성하여 앱 저작 장치(120)에 전달할 수 있다.
앱 저작 장치(120)는 개발자의 요청에 따라, 앱 저작 서버(110)로부터 설치 패키지를 다운로드 할 수 있다. 그리고 앱 저작 장치(120)는 개발자의 요청에 따라 직접 설치 패키지를 사용자 단말(130)로 배포하거나, 앱 스토어를 통하여 사용자 단말(130)로 배포할 수 있다.
예를 들어, 앱 저작 서버(110)는 앱 저작 소프트웨어 개발 도구에 포함된 미리 정의된 Android 용 라이브러리를 이용하여, Android 네이티브 소스 프로젝트를 생성할 수 있다. 또한, 앱 저작 서버(110)는 앱 저작 소프트웨어 개발 도구에 포함된 미리 정의된 iOS 용 라이브러리를 이용하여 iOS 네이티브 소스 프로젝트를 생성할 수 있다.
앱 저작 서버(110)는 Android 네이티브 소스 프로젝트에 대응하는 빌드 태스크를 생성하여 Andriod 빌드 서버로 전달할 수 있다. 그리고 Android 빌드 서버에서 해당 빌드 태스크가 빌드되면 Android 네이티브 소스 프로젝트에 대응하는 Android 설치 패키지를 수신할 수 있다.
또한, 앱 저작 서버(110)는 iOS 네이티브 소스 프로젝트에 대응하는 빌드 태스크를 생성하여 iOS 빌드 서버로 전달할 수 있다. 그리고 iOS 빌드 서버에서 해당 빌드 태스크가 빌드되면 iOS 네이티브 소스 프로젝트에 대응하는 iOS 설치 패키지를 수신할 수 있다.
앱 저작 서버(110)는 앱 저작 장치(120)가 Android 설치 패키지 및 iOS 설치 패지키를 다운로드 받을 수 있도록 Android 설치 패키지 및 iOS 설치 패지키가 저장된 곳의 URL 또는 QR 코드를 생성하여 앱 저작 장치(120)에 전달할 수 있다.
한편, 앱 저작 장치(120)는 개발자가 앱 저작 서버(110)에서 생성된 네이티브 소스를 이용하여 앱을 수정하고, 수정된 앱을 배포할 수 있도록 지원할 수 있다.
구체적으로 개발자의 요청에 따라, 앱 저작 장치(120)는 앱 저작 서버(110)로 네이티브 소스 프로젝트를 요청할 수 있다. 그리고 앱 저장 장치는 앱 저작 서버(110)로부터 네이티브 소스 프로젝트를 수신하여 개발자가 수정할 수 있도록 앱 저작 통합 개발 환경 사용자 인터페이스에 디스플레이 할 수 있다.
개발자가 앱 저작 통합 개발 환경 사용자 인터페이스를 통하여, 네이티브 소스 프로젝트에 포함된 특정 네이티브 소스를 수정하고 빌드를 요청하면, 앱 저작 장치(120)는 앱 저작 서버(110)에 수정된 네이티브 소스를 포함하는 네이티브 소스 프로젝트에 대한 빌드를 요청할 수 있다.
다음은 도 3을 참조하여, 본 발명의 일 실시예에 따른 앱 저작 장치(120)를 설명한다.
앞에서 도 3을 참조하여 설명한 바와 같이 앱 저작 장치(120)는 개발자의 입력 신호에 따라, 앱 저작 서버(110)를 통하여 앱을 개발한다.
프로세서(340)는 통신 모듈(300)을 통하여, 앱 저작 서버(110)로부터 수신한 프로젝트 및 프로젝트에 포함된 하나 이상의 블록을 디스플레이 모듈(310)을 통해 표시할 수 있다. 이때, 프로젝트 및 하나 이상의 블록은 앱 저작 서버(110)로부터 수신한 앱 저작 사용자 인터페이스를 통해 디스플레이 모듈(310)에 표시될 수 있다. 또한, 블록은 데이터 블록 및 사용자 인터페이스 블록을 포함한다.
구체적으로 프로세서(340)는 개발자의 요청에 따라 프로젝트에 대응하는 프로젝트 생성 신호를 생성할 수 있다. 그리고 프로세서(340)는 앱 저작 서버(110)로 전달할 수 있다.
앱 저작 서버(110)는 프로젝트 생성 신호에 기초하여 프로젝트를 생성하고, 앱 저작 사용자 인터페이스를 생성할 수 있다. 앱 저작 서버(110)는 통신 모듈(300)을 통하여 앱 저작 장치(120)에 전달할 수 있다.
프로세서(340)는 전달된 프로젝트 및 앱 저작 사용자 인터페이스를 수신할 수 있다. 이때, 앱 저작 사용자 인터페이스는 html 5에 기초하여 생성된 것일 수 있으나, 이에 한정된 것은 아니다.
또한, 프로세서(340)는 프로젝트에 포함되는 데이터 블록에 대응하는 블록 생성 신호를 앱 저작 서버(110)로 전달할 수 있다.
그리고 앱 저작 서버(110)가 데이터 블록을 생성한 후, 데이터 블록 리스트에 추가하여 전달하면, 프로세서(340)는 데이터 블록 리스트를 앱 저작 사용자 인터페이스를 통해 디스플레이 모듈(310)에 표시할 수 있다. 이때, 데이터 블록 리스트는 하나 이상의 데이터 블록을 포함할 수 있다.
한편, 프로세서(340)는 데이터 블록에 포함된 하나 이상의 데이터 블록 중 어느 하나의 데이터 블록과 대응하는 사용자 인터페이스 블록을 생성하도록 하는 블록 생성 신호를 통신 모듈(300)을 통하여 앱 저작 서버(110)로 전달할 수 있다.
이때, 블록 생성 신호는 개발자가 입력 모듈(300)을 통하여, 앱 저작 사용자 인터페이스에 포함된 가상화된 사용자 단말(400)로 사용자가 데이터 블록을 드래그 앤 드롭하여 생성할 수 있다.
그리고 프로세서(340)는 앱 저작 서버(110)로부터 앱 저작 서버(110)가 생성한 사용자 인터페이스 블록이 포함된 앱 디자인 사용자 인터페이스를 수신할 수 있다. 그리고 프로세서(340)는 앱 디자인 사용자 인터페이스를 통해 디스플레이 모듈(310)에 표시할 수 있다.
이때, 사용자 인터페이스 블록은 앱 저작 서버(110)가 블록 생성 신호에 기초하여 선택된 어느 하나의 데이터 블록과 연결되도록 생성되는 것이다.
이때, 앱 디자인 사용자 인터페이스는 앱 저작 사용자 인터페이스에 포함되는 것으로 앱 저작 사용자 인터페이스 상의 가상화된 사용자 단말(400)에 대응하는 것일 수 있다.
즉, 앱 디자인 사용자 인터페이스는 가상화된 사용자 단말(400)에 해당 앱이 실행되거나, 실재 사용자 단말(130)에 해당 앱이 실행 때, 디스플레이 모듈에 디스플레이 되는 사용자 인터페이스를 디자인하는 것일 수 있다. 그러므로 앱 디자인 사용자 인터페이스는 가상화된 사용자 단말(400)에 기초하여 하나 이상의 사용자 인터페이스 블록이 배치할 수 있다.
이때, 프로세서(340)는 입력 모듈(300)을 통하여 입력되는 개발자의 입력 신호에 따라 하나 이상의 사용자 인터페이스 블록을 배치할 레이아웃을 정의할 수 있다. 그리고 프로세서(340)는 정의된 레이아웃에 기초하여, 사용자 인터페이스 블록을 배치할 수 있다. 또는, 프로세서는 개발자가 미리 정해진 레이아웃 중 어느 하나를 선택한 경우, 해당 레이아웃에 기초하여 하나 이상의 사용자 인터페이스 블록을 배치할 수 있다.
다시 도 6을 참조하면, 프로세서(340)는 개발자가 정의한 레이아웃에 기초하여, 복수의 사용자 인터페이스 블록을 배치할 수 있다.
한편, 프로세서(340)는 개발자가 앱 저작 사용자 인터페이스에 포함된 플랫폼별 미리 보기 버튼에 기초하여 미리 보기를 수행할 특정 플랫폼을 선택하면, 해당 플랫폼에 대응하는 플랫폼 선택 신호를 생성할 수 있다. 그리고 프로세서(340)는 플랫폼 선택 신호를 앱 저작 서버(110)로 전달할 수 있다. 이때, 플랫폼은 Android 및 iOS 중 어느 하나일 수 있으나, 이에 한정된 것은 아니다.
그리고 프로세서(340)는 앱 저작 서버(110)로부터 플랫폼 선택 신호에 대응하는 미리 보기를 수신할 수 있다. 이때, 미리 보기는 앱 저작 사용자 인터페이스를 통하여 특정 플랫폼에 대응하는 가상화된 사용자 단말(400)을 제공하는 것이다. 프로세서(340)는 생성된 미리 보기를 디스플레이 모듈에 표시할 수 있다.
또한, 프로세서(340)는 빌드 신호를 앱 저작 서버(110)로 전달할 수 있다. 이때, 빌드 신호는 앱 저작 사용자 인터페이스에 포함된 빌드 버튼에 기초하여 생성된 것일 수 있다. 그리고 프로세서는 앱 저작 서버(110)로부터 프로젝트를 빌드 한 후 생성한 배포 패키지를 수신할 수 있다.
이때, 프로세서(340)는 하나 이상의 플랫폼 중 어느 하나에 대응하여 빌드 신호를 생성할 수 있다. 그러므로 빌드 신호를 통하여 생성된 배포 패키지는 빌드 신호에 포함된 플랫폼에 대응하여 빌드된 후 생성된 것일 수 있다.
또한, 프로세서(340)는 앱 저작 서버(110)로부터 프로젝트에 대응하는 네이티브 소스 코드를 수신하여 앱 저작 사용자 인터페이스를 통해 디스플레이 모듈(310)에 표시할 수 있다. 이때, 네이티브 소스 코드는 빌드 신호에 기초하여 생성된 프로젝트에 대응하는 네이티브 소스 프로젝트에 포함된 것일 수 있다. 그리고 프로세서(340)는 앱 저작 서버(110)로부터 배포 패키지의 주소를 수신하여 디스플레이 모듈(310)에 표시할 수 있다.
이때, 배포 패키지의 주소는 URL 및 QR 코드 중 하나일 수 있다.
다음은 도 7을 참조하여, 본 발명의 일 실시예에 따른 앱 저작 장치(120)의 앱 저작 방법을 설명한다.
도 7은 본 발명의 일 실시예에 따른 앱 저작 장치(120)의 앱 저작 방법에 대한 순서도이다.
앱 저작 장치(120)는 앱 저작 서버(110)로부터 프로젝트 및 프로젝트에 포함된 하나 이상의 블록을 수신한다(S700).
그리고 앱 저작 장치(120)는 수신된 프로젝트 및 하나 이상의 블록을 디스플레이 모듈을 통해 표시할 수 있다(S710).
이때, 프로젝트 및 하나 이상의 블록은 앱 저작 서버(110)로부터 수신한 앱 저작 사용자 인터페이스를 통해 디스플레이 모듈(310)에 표시되는 것이다. 또한, 블록은 데이터 블록 및 사용자 인터페이스 블록을 포함한다.
한편, 프로젝트 및 하나 이상의 블록을 상기 디스플레이 모듈(310)을 통해 표시한 이후, 앱 저작 장치(120)는 프로젝트에 포함되는 데이터 블록에 대응하는 블록 생성 신호를 앱 저작 서버(110)로 전달할 수 있다.
그리고 앱 저작 장치(120)는 앱 저작 서버(110)로부터 데이터 블록을 포함하는 데이터 블록 리스트를 수신할 수 있다. 이때, 데이터 블록 리스트는 하나 이상의 데이터 블록을 포함하며, 앱 저작 서버(110)가 블록 생성 신호에 기초하여 데이터 블록을 생성하여 추가한 것이다.
또한, 앱 저작 장치(120)는 데이터 블록 리스트를 앱 저작 사용자 인터페이스를 통해 상기 디스플레이 모듈(310)에 표시할 수 있다.
그리고 프로젝트 및 하나 이상의 블록을 상기 디스플레이 모듈(310)을 통해 표시한 이후, 앱 저작 장치(120)는 데이터 블록에 포함된 하나 이상의 데이터 블록 중 어느 하나의 데이터 블록과 대응하는 사용자 인터페이스 블록을 생성하도록 하는 블록 생성 신호 상기 앱 저작 서버(110)로 전달할 수 있다.
그리고 앱 저작 장치(120)는 앱 저작 서버(110)에서 사용자 인터페이스 블록이 생성된 이후, 생성된 인터페이스 블록이 포함된 앱 디자인 사용자 인터페이스를 통해 디스플레이 모듈(310)에 표시할 수 있다. 이때, 앱 디자인 사용자 인터페이스는 앱 저작 사용자 인터페이스에 포함되며 하나 이상의 사용자 인터페이스 블록이 배치될 수 있다. 또한, 사용자 인터페이스 블록은 앱 저작 서버(110)가 블록 생성 신호에 기초하여 어느 하나의 데이터 블록과 연결되도록 생성한 것이다.
한편, 앱 저작 장치(120)는 빌드 신호를 앱 저작 서버로 전달하여, 프로젝트를 빌드할 수 있다. 그리고 앱 저작 장치(110)는 앱 저작 서버(110)로부터 빌드 신호에 기초하여, 생성된 배포 패키지를 수신할 수 있다. 이때, 배포 패키지는 앱 저작 서버(110)가 빌드 신호에 기초하여 프로젝트를 빌드한 이후 생성한 것이다.
그리고 앱 저작 장치(120)는 앱 저작 서버(110)로부터 프로젝트에 대응하는 네이티브 소스 코드를 수신할 수 있다. 그리고 앱 저작 장치(120)는 앱 저작 사용자 인터페이스를 통해 네이티브 소스 코드를 디스플레이 모듈(310)에 표시할 수 있다. 이때, 네이티브 소스 코드는 빌드 신호에 기초하여 생성된 것이다. 또한, 네이티브 소스 코드는 프로젝트에 대응하는 네이티브 소스 프로젝트에 포함될 수 있다.
본 발명의 일 실시예에 따른 앱 개발을 위한 통합 개발 환경을 제공하는 앱 저작 장치(120) 및 방법은 개발자가 개발하는 앱의 플랫폼에 독립적인 통합 개발 환경을 제공할 수 있다. 또한, 앱 개발을 위한 통합 개발 환경을 제공하는 앱 저작 장치(120) 및 방법은 그래픽 사용자 인터페이스 기반의 웹 기반 통합 개발 환경을 통하여 소스 코드 작성 없이 하나 이상의 플랫폼에서 실행할 수 있는 앱을 개발할 수 있다. 앱 개발을 위한 통합 개발 환경을 제공하는 앱 저작 장치(120) 및 방법은 개발된 앱을 하나 이상의 플랫폼의 네이티브 소스 코드로 생성하고, 이를 이용하여 추가적인 기능 구현 및 유지 보수가 가능하다.
그러므로 앱 개발을 위한 통합 개발 환경을 제공하는 앱 저작 장치(120) 및 방법은 프로그래밍 언어에 익숙한 사용자 및 프로그래밍 언어에 익숙하지 않은 사용자에게 빠르고 쉽게 앱을 개발할 수 있도록 지원할 수 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 앱 저작 시스템
110: 앱 저작 서버
120: 앱 저작 장치
130: 사용자 단말
140: 외부 소프트웨어 개발 도구
150: 앱 스토어
110: 앱 저작 서버
120: 앱 저작 장치
130: 사용자 단말
140: 외부 소프트웨어 개발 도구
150: 앱 스토어
Claims (16)
- 앱 개발을 위한 통합 개발 환경을 제공하는 앱 저작 장치에 있어서,
디스플레이 모듈,
앱 저작 서버와 데이터 통신을 수행하는 통신 모듈,
앱 저작을 위한 통합 개발 환경 프로그램이 저장된 메모리 및
상기 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하고,
상기 프로세서는 상기 프로그램의 실행에 따라, 상기 앱 저작 서버로부터 수신한 프로젝트 및 상기 프로젝트에 포함된 하나 이상의 블록을 상기 디스플레이 모듈을 통해 표시하되,
상기 프로젝트 및 상기 하나 이상의 블록은 상기 앱 저작 서버로부터 수신한 앱 저작 사용자 인터페이스를 통해 상기 디스플레이 모듈에 표시되는 것이며,
상기 블록은 데이터 블록 및 사용자 인터페이스 블록을 포함하는, 앱 저작 장치. - 제 1 항에 있어서,
상기 프로세서는 상기 프로젝트에 대응하는 프로젝트 생성 신호를 생성하고, 상기 앱 저작 서버로 전달한 이후, 상기 앱 저작 서버로부터 상기 프로젝트 생성 신호에 대응하여 생성된 프로젝트를 수신하는 것인, 앱 저작 장치. - 제 1 항에 있어서,
상기 프로세서는 상기 프로젝트에 포함되는 데이터 블록에 대응하는 블록 생성 신호를 상기 앱 저작 서버로 전달하고, 상기 앱 저작 서버로부터 상기 데이터 블록을 포함하는 데이터 블록 리스트를 수신하여, 상기 앱 저작 사용자 인터페이스를 통해 상기 디스플레이 모듈에 표시하되,
상기 데이터 블록 리스트는 하나 이상의 데이터 블록을 포함하며, 상기 앱 저작 서버가 상기 블록 생성 신호에 기초하여 상기 데이터 블록을 생성하여 추가한 것인, 앱 저작 장치. - 제 3 항에 있어서,
상기 프로세서는 상기 데이터 블록 리스트에 포함된 하나 이상의 데이터 블록 중 어느 하나의 데이터 블록과 대응하는 사용자 인터페이스 블록을 생성하도록 하는 블록 생성 신호를 상기 앱 저작 서버로 전달하고, 상기 앱 저작 서버에서 상기 사용자 인터페이스 블록이 생성된 이후, 상기 생성된 인터페이스 블록이 포함된 앱 디자인 사용자 인터페이스를 통해 상기 디스플레이 모듈에 표시하되,
상기 앱 디자인 사용자 인터페이스는 상기 앱 저작 사용자 인터페이스에 포함되며 하나 이상의 사용자 인터페이스 블록이 배치되며,
상기 사용자 인터페이스 블록은 상기 앱 저작 서버가 상기 블록 생성 신호에 기초하여 상기 어느 하나의 데이터 블록과 연결되도록 생성되는 것인, 앱 저작 장치. - 제 4 항에 있어서,
상기 앱 디자인 사용자 인터페이스는 상기 프로젝트에 대응하는 레이아웃에 따라 상기 하나 이상의 사용자 인터페이스 블록을 배치하는 것인, 앱 저작 장치. - 제 1 항에 있어서,
상기 프로세서는 플랫폼 선택 신호를 상기 앱 저작 서버로 전달하고,
상기 앱 저작 서버로부터 상기 프로젝트에 대응하는 미리보기를 수신하여 상기 앱 저작 사용자 인터페이스를 통해 상기 디스플레이 모듈에 표시하되,
상기 플랫폼 선택 신호는 상기 앱 저작 사용자 인터페이스에 포함된 플랫폼 별 미리보기에 대응하는 소정의 영역에 기초하여 생성된 것이며, 상기 미리보기에 대응하는 플랫폼을 포함하는, 앱 저작 장치. - 제 6 항에 있어서,
상기 플랫폼은 Android 및 iOS 중 어느 하나 이상인, 앱 저작 장치. - 제 1 항에 있어서,
상기 프로세서는 빌드 신호를 상기 앱 저작 서버로 전달하고, 상기 앱 저작 서버로부터 배포 패키지를 수신하되,
상기 배포 패키지는 상기 앱 저작 서버가 상기 빌드 신호에 기초하여 상기 프로젝트를 빌드한 이후 생성한 것인, 앱 저작 장치. - 제 8 항에 있어서,
상기 프로젝트는 상기 앱 저작 서버로부터 상기 프로젝트에 대응하는 네이티브 소스 코드를 수신하여, 상기 앱 저작 사용자 인터페이스를 통해 상기 디스플레이 모듈에 표시하되,
상기 네이티브 소스 코드는 상기 빌드 신호에 기초하여 생성된 것이며, 상기 프로젝트에 대응하는 네이티브 소스 프로젝트에 포함된 것인, 앱 저작 장치. - 제 8 항에 있어서,
상기 프로세서는 상기 앱 저작 서버로부터 상기 배포 패키지의 주소를 수신하여 상기 디스플레이 모듈에 표시하되,
상기 배포 패키지의 주소는 URL 및 QR 코드 중 하나인, 앱 저작 장치. - 제 1 항에 있어서,
상기 앱 저작 사용자 인터페이스는 HTML 5에 기초한 것인, 앱 저작 장치. - 앱 개발을 위한 통합 개발 환경을 제공하는 장치의 앱 저작 방법에 있어서,
앱 저작 서버로부터 프로젝트 및 상기 프로젝트에 포함된 하나 이상의 블록을 수신하는 단계; 및
상기 프로젝트 및 하나 이상의 블록을 디스플레이 모듈을 통해 표시하는 단계를 포함하되,
상기 프로젝트 및 상기 하나 이상의 블록은 상기 앱 저작 서버로부터 수신한 앱 저작 사용자 인터페이스를 통해 상기 디스플레이 모듈에 표시되는 것이며,
상기 블록은 데이터 블록 및 사용자 인터페이스 블록을 포함하는, 앱 저작 방법. - 제 12 항에 있어서,
상기 프로젝트 및 하나 이상의 블록을 상기 디스플레이 모듈을 통해 표시하는 단계 이후에,
상기 프로젝트에 포함되는 데이터 블록에 대응하는 블록 생성 신호를 상기 앱 저작 서버로 전달하는 단계;
상기 앱 저작 서버로부터 상기 데이터 블록을 포함하는 데이터 블록 리스트를 수신하는 단계 및
상기 앱 저작 사용자 인터페이스를 통해 상기 데이터 블록 리스트를 상기 디스플레이 모듈에 표시하는 단계를 더 포함하되,
상기 데이터 블록 리스트는 하나 이상의 데이터 블록을 포함하며, 상기 앱 저작 서버가 상기 블록 생성 신호에 기초하여 상기 데이터 블록을 생성하여 추가한 것인, 앱 저작 방법. - 제 13 항에 있어서,
상기 프로젝트 및 하나 이상의 블록을 상기 디스플레이 모듈을 통해 표시하는 단계 이후에,
상기 데이터 블록 리스트에 포함된 하나 이상의 데이터 블록 중 어느 하나의 데이터 블록과 대응하는 사용자 인터페이스 블록을 생성하도록 하는 블록 생성 신호를 상기 앱 저작 서버로 전달하는 단계; 및
상기 앱 저작 서버에서 상기 사용자 인터페이스 블록이 생성된 이후, 상기 생성된 인터페이스 블록이 포함된 앱 디자인 사용자 인터페이스를 통해 상기 디스플레이 모듈에 표시하는 단계를 더 포함하되,
상기 앱 디자인 사용자 인터페이스는 상기 앱 저작 사용자 인터페이스에 포함되며 하나 이상의 사용자 인터페이스 블록이 배치되며,
상기 사용자 인터페이스 블록은 상기 앱 저작 서버가 상기 블록 생성 신호에 기초하여 상기 어느 하나의 데이터 블록과 연결되도록 생성하는 것인, 앱 저작 방법. - 제 12 항에 있어서,
상기 프로젝트 및 하나 이상의 블록을 상기 디스플레이 모듈을 통해 표시하는 단계 이후에, 빌드 신호를 상기 앱 저작 서버로 전달하는 단계; 및
상기 앱 저작 서버로부터 배포 패키지를 수신하는 단계를 더 포함하되,
상기 배포 패키지는 상기 앱 저작 서버가 상기 빌드 신호에 기초하여 상기 프로젝트를 빌드한 이후 생성한 것인, 앱 저작 방법. - 제 15 항에 있어서,
상기 빌드 신호를 상기 앱 저작 서버로 전달하는 단계 이후에,
상기 앱 저작 서버로부터 상기 프로젝트에 대응하는 네이티브 소스 코드를 수신하는 단계; 및
상기 앱 저작 사용자 인터페이스를 통해 상기 네이티브 소스 코드를 상기 디스플레이 모듈에 표시하는 단계를 더 포함하고,
상기 네이티브 소스 코드는 상기 빌드 신호에 기초하여 생성된 것이며, 상기 프로젝트에 대응하는 네이티브 소스 프로젝트에 포함된 것인, 앱 저작 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160114089A KR101892699B1 (ko) | 2016-09-05 | 2016-09-05 | 앱 개발을 위한 통합 개발 환경을 제공하는 앱 저작 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160114089A KR101892699B1 (ko) | 2016-09-05 | 2016-09-05 | 앱 개발을 위한 통합 개발 환경을 제공하는 앱 저작 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180027023A true KR20180027023A (ko) | 2018-03-14 |
KR101892699B1 KR101892699B1 (ko) | 2018-08-28 |
Family
ID=61660679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160114089A KR101892699B1 (ko) | 2016-09-05 | 2016-09-05 | 앱 개발을 위한 통합 개발 환경을 제공하는 앱 저작 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101892699B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102352225B1 (ko) * | 2021-05-27 | 2022-01-18 | 정주현 | 클라우드 기반 애플리케이션 저작 서비스 제공 시스템 |
WO2022102990A1 (ko) * | 2020-11-12 | 2022-05-19 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
KR20220066537A (ko) * | 2020-11-16 | 2022-05-24 | 황대민 | 프로그램의 간편 제작방법 |
KR102588402B1 (ko) * | 2022-11-25 | 2023-10-11 | 신은철 | 어플리케이션 라이선스를 통해 제공된 모듈 디자인을 이용한 어플리케이션을 제작하는 방법 및 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140018329A (ko) * | 2011-04-06 | 2014-02-12 | 미디어 다이렉트, 인크. | 모바일 어플리케이션 개발 및 배포 플랫폼을 위한 시스템 및 방법 |
KR20140051015A (ko) * | 2012-10-22 | 2014-04-30 | 주식회사 비디 | 스마트 기기의 소프트웨어 개발 자동화 장치, 스마트 기기의 소프트웨어 개발 자동화 방법 및 이를 기록한 기록매체 |
KR20140069525A (ko) * | 2012-11-29 | 2014-06-10 | (주)투비소프트 | 통합개발환경을 이용한 ui 구현 방법 |
KR20150099318A (ko) * | 2014-02-21 | 2015-08-31 | 주식회사 넥스다임 | 애플리케이션 개발 환경 제공 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체 |
-
2016
- 2016-09-05 KR KR1020160114089A patent/KR101892699B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140018329A (ko) * | 2011-04-06 | 2014-02-12 | 미디어 다이렉트, 인크. | 모바일 어플리케이션 개발 및 배포 플랫폼을 위한 시스템 및 방법 |
KR20140051015A (ko) * | 2012-10-22 | 2014-04-30 | 주식회사 비디 | 스마트 기기의 소프트웨어 개발 자동화 장치, 스마트 기기의 소프트웨어 개발 자동화 방법 및 이를 기록한 기록매체 |
KR20140069525A (ko) * | 2012-11-29 | 2014-06-10 | (주)투비소프트 | 통합개발환경을 이용한 ui 구현 방법 |
KR20150099318A (ko) * | 2014-02-21 | 2015-08-31 | 주식회사 넥스다임 | 애플리케이션 개발 환경 제공 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022102990A1 (ko) * | 2020-11-12 | 2022-05-19 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
KR20220066537A (ko) * | 2020-11-16 | 2022-05-24 | 황대민 | 프로그램의 간편 제작방법 |
KR102352225B1 (ko) * | 2021-05-27 | 2022-01-18 | 정주현 | 클라우드 기반 애플리케이션 저작 서비스 제공 시스템 |
KR102588402B1 (ko) * | 2022-11-25 | 2023-10-11 | 신은철 | 어플리케이션 라이선스를 통해 제공된 모듈 디자인을 이용한 어플리케이션을 제작하는 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR101892699B1 (ko) | 2018-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101892702B1 (ko) | 멀티 플랫폼을 지원하는 앱 저작 서버, 장치 및 방법 | |
KR101892699B1 (ko) | 앱 개발을 위한 통합 개발 환경을 제공하는 앱 저작 장치 및 방법 | |
KR20150097190A (ko) | 애플리케이션 개발 환경 제공 시스템 | |
KR20140114983A (ko) | 애플리케이션 개발 환경 제공 방법 | |
KR20140115006A (ko) | 애플리케이션 개발 환경 제공 장치 | |
KR20140115472A (ko) | 애플리케이션 환경 제공 시스템 | |
KR20140115456A (ko) | 애플리케이션 개발 환경 제공 프로그램을 기록한 기록매체 | |
KR20140115465A (ko) | 애플리케이션 환경 제공 시스템 | |
KR20140115473A (ko) | 애플리케이션 환경 제공 시스템 | |
KR20140115460A (ko) | 애플리케이션 개발 환경 제공 장치 | |
KR20140115471A (ko) | 애플리케이션 환경 제공 시스템 | |
KR20140115461A (ko) | 애플리케이션 개발 환경 제공 장치 | |
KR20140115005A (ko) | 애플리케이션 개발 환경 제공 방법 | |
KR20140114990A (ko) | 애플리케이션 개발 환경 제공 장치 | |
KR20140114989A (ko) | 애플리케이션 개발 환경 제공 방법 | |
KR20150099273A (ko) | 애플리케이션 개발 환경 제공 시스템 | |
KR20140114981A (ko) | 애플리케이션 환경 제공 시스템 | |
KR20150097189A (ko) | 애플리케이션 개발 환경 제공 시스템 | |
KR20140115467A (ko) | 애플리케이션 환경 제공 시스템 | |
KR20140115463A (ko) | 애플리케이션 환경 제공 시스템 | |
KR20140114977A (ko) | 애플리케이션 개발 환경 제공 방법 | |
KR20140114999A (ko) | 애플리케이션 개발 환경 제공 방법 | |
KR20140115468A (ko) | 애플리케이션 환경 제공 시스템 | |
KR20140114987A (ko) | 애플리케이션 개발 환경 제공 방법 | |
KR20140114991A (ko) | 애플리케이션 개발 환경 제공 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |