KR20130017337A - 하이브리드 앱 개발 플랫폼 구조 및 그 테스트 방법, 그리고 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체. - Google Patents

하이브리드 앱 개발 플랫폼 구조 및 그 테스트 방법, 그리고 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체. Download PDF

Info

Publication number
KR20130017337A
KR20130017337A KR1020110079711A KR20110079711A KR20130017337A KR 20130017337 A KR20130017337 A KR 20130017337A KR 1020110079711 A KR1020110079711 A KR 1020110079711A KR 20110079711 A KR20110079711 A KR 20110079711A KR 20130017337 A KR20130017337 A KR 20130017337A
Authority
KR
South Korea
Prior art keywords
app
web content
hybrid
hybrid app
target device
Prior art date
Application number
KR1020110079711A
Other languages
English (en)
Inventor
한기태
장동수
Original Assignee
케이티하이텔 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 케이티하이텔 주식회사 filed Critical 케이티하이텔 주식회사
Priority to KR1020110079711A priority Critical patent/KR20130017337A/ko
Publication of KR20130017337A publication Critical patent/KR20130017337A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 테스트를 위한 단말기(타겟 장치)에 런 타임(run time) 모듈을 구축한 후에, 최초 1회만 설치되는 앱에서 IP 및 포트 정보를 제공하여 설치 후, 서버를 통한 접속을 통해 계속적으로 수정되는 소스를 빌드에 단지 1회의 설치로 수정된 소스를 설치된 앱에 반영하여 개발된 앱의 테스트 시간을 줄일 수 있는 하이브리드 앱 개발 플랫폼 구조 및 그 테스트 방법을 제공하기 위한 것으로서, 최초 1회만 설치되는 앱에서 IP 및 포트 정보를 포함하는 하이브리드 앱을 생성하여 생성된 하이브리드 앱의 테스트를 위한 타겟 장치에 상기 생성된 하이브리드 앱을 설치 후, 상기 IP 정보 및 포트 정보를 통해 접속된 타겟 장치로 소스 코드가 수정된 웹 컨텐츠를 전송하여 타겟 장치에 설치된 하이브리드 앱에 반영하는 개발자 단말 장치와, 상기 개발자 단말 장치에서 전송되어 설치되는 하이브리드 앱의 테스트를 실행하고, 상기 결과값에 상응하여 소스 코드가 수정된 웹 컨텐츠를 입력받아 앞에 설치된 하이브리드 앱에 반영하여 하이브리드 앱을 갱신한 후, 갱신된 하이브리드 앱의 테스트를 다시 실행하는 타겟 장치를 포함하여 구성되는 것을 특징으로 한다.

Description

하이브리드 앱 개발 플랫폼 구조 및 그 테스트 방법, 그리고 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.{hybrid App development platform architecture and test method of the same, and computer-readable recording medium with program for the same}
본 발명은 하이브리드 앱에서의 개발된 앱의 테스트를 위한 플랫폼 구조 및 그 방법에 관한 것으로, 특히 1회 빌드 설치 후에는 다시 빌드 설치없이 수정된 소스를 최초에 설치된 앱에 반영하는 하이브리드 앱 개발 플랫폼 구조 및 그 테스트 방법에 관한 것이다.
2007년 세상에 등장한 ‘아이폰’에 이어 애플은 ‘앱 스토어’라는 마켓을 탄생시켰다. 한국에서 아이폰이 출시된 지도 1년이 넘어 2년째를 향해 달려가고 있다. 이러한 거대한 변화를 주도한 것은 다름 아닌 아이폰이란 작은 이동전화기이지만, 그 변화의 핵심은 앱 스토어라고 볼 수 있다. 즉, 개인 개발자 또는 기업에서 기존과는 확연히 다른 새로운 시장을 열어주었고 사용자 입장에선 값싸고 질 좋은 애플리케이션(이하 앱)을 쉽게 구입하고 사용해 볼 수 있는 길을 앱 스토어가 열어 주었기 때문이다.
하지만 이러한 앱 스토어의 경우 단 하나의 마켓 구조란 특성으로 많은 문제점들이 발생되고 있다. 초창기에는 예상되는 문제들이 현실화되지 않았으나, 지난해 말 기준으로 애플 앱 스토어에 등록된 앱의 개수는 약 32만 5천개에 달했고, 월 평균 약 2만 5천개의 새로운 앱들이 등록되고 있는 현 상황에서 수많은 문제점들이 노출되고 있다. 급기야 시장에는 안드로이드 진영이 급성장하고 있으며 단말 개수만 놓고 본다면 아이폰의 판매 대수를 넘어선지 오래이고 안드로이드 앱 스토어 역시 급속도로 성장하고 있다. 블랙베리, 윈도우폰7 등의 경쟁자들도 포기할 수 없는 이 시장을 향해 지속적으로 투자하고 있다.
그러나 무엇보다 앱 시장이 커지면서 다양한 사람들이 다양한 디바이스로 동일한 서비스를 제공받기를 원하고 있어, 기존 개발 방법으로는 더 이상 비용과 시간이라는 측면에서 사용자들을 만족시키기가 점점 불가능한 일이 되고 있다. 따라서 기존의 개발 전략을 수정하여 새로운 개발 전략을 찾아야 할 때가 온 것이다.
거의 유일한 대안으로 평가 받는 기술은 다름 아닌 우리에게 가장 익숙한 웹 표준 기술이다. 웹 표준 기술의 장점은 잘 알려져 있지만 앱 개발에 적극적으로 사용되지 못한 이유는 개발에 필요한 다양한 기능들을 제대로 제공하지 못했기 때문이다. 이에 따라 최근 몇 년간 플랫폼으로의 역할을 할 수 있는 차세대 웹 표준 기술 개발에 시동이 걸렸고, HTML5로 대표되는 차세대 웹 표준 기술은 이제 그 어떤 플랫폼보다 더 다양하고 광범위한 기능을 제공할 뿐만 아니라 지금도 지속적으로 새로운 기능을 추가하고 있다. 텍스트와 이미지 그리고 문서간 링크 서비스 정도만을 지원하던 웹 기술은 이제 2D, 3D, 벡터 그래픽은 물론 고화질 동영상, 사운드, 고속 동기 통신 프로토콜, 데이터베이스 그리고 하루가 다르게 발전하는 자바스크립트 엔진 등 수많은 기능들을 개발자들에게 제공한다. 따라서 표준 기술을 지원하는 브라우저만 있다면 단 한 벌의 코드만으로 다양한 디바이스에서 실행되는 고품질의 앱을 개발할 수 있는 최상의 개발 솔루션으로서의 면모를 갖춰가고 있다.
디바이스에서 제공되는 SDK 환경에서 개발된 네이티브앱은 많은 장점에도 불구하고 앞서 설명된 성능 외적 요인으로 인한 단점을 노출하고 있다. 그러나 현실적인 문제는 웹 기술이 많은 발전을 했음에도 불구하고 단기간 내에 네이티브 웹 마켓이 사라지진 않을 것이란 것이다. 이는 그 자체로서 거대한 시장이고 지금도 계속 성장하고 있으며 사용자들에게 최상의 환경을 제공하고 있기 때문에 대부분의 사람들은 유사한 서비스가 웹으로 제공된다고 하더라도 접근성이 우월한 웹 스토어를 결코 떠나지 않을 것이다. 따라서 네이티브 기술과 웹 기술을 접목시킨 하이브리드 앱 개발 기술이 이 어려운 문제의 해결책을 제공할 수 있다.
하이브리드 앱 개발 플랫폼 중 2009년 초 공개된 하이브리드 앱 개발 프레임워크인 'Phone Gap'은 HTML로 만들어진 웹페이지를 아이폰 앱으로 만들어주는 기술로서, 단지 앱 스토어에 올릴 수 있을 뿐만 아니라 아이폰의 카메라를 사용할 수 있으며, 주소록에 접근하고, GPS 센서의 위치 정보를 자바스크립트를 통해서 받아올 수 있는 퍼포먼스를 보여준다. 그러나 상기 'Phone Gap'의 경우 브라우저 컴포넌트를 사용하여 웹앱 파일을 구동시키는 구조로 인해 구현과 확장이 용이하지만 브라우저로 웹앱을 구동시키는 것과 완전히 동일한 형태이기 때문에 웹앱이 갖는 미묘한 성능 문제를 피할 수 없다는 게 단점이다.
이를 해결하기 위해 하이브리드 앱 개발 플랫폼 중 ‘Titanium'은 웹 기술을 이용하여 네이티브앱을 개발하는 방식을 이용하고 있다. 즉, 개발언어는 HTML, 자바스크립트지만 결과물은 네이티브인 방식이다. 이 방식의 장점은 근본적으로 네이티브 자원을 활용해 네이티브와 동일한 성능을 보여 줄 수 있다는데 있다. 그러나 모바일 플랫폼과 데스크탑 플랫폼의 차이가 매우 크기 때문에 ‘Titanium'의 경우 동일한 개발 환경을 제공하지 못하고 있으며, 모바일용, 데스크탑용 API가 각각 존재한다.
하이브리드 앱 개발 플랫폼 중 가장 최근에 발표된 ‘Appspresso'는 이클립스 기반의 통합 IDE를 제공하고 jQueryMobile, Sencha Touch 등 모바일 자바스크립트 프레임워크 템플릿 생성 도구 및 이동통신사 중심의 웹앱 표준인 WAC Waikiki API를 지원한다. ‘Appspresso'는 기본적으로 'Phone Gap'과 동일한 구조를 가진다. 즉 웹앱을 네이티브로 만들기 위해 브라우저 컴포넌트에 의존하는 형태이다. 그러나 ‘Appspresso'는 플랫폼 별 프로젝트 템플릿의 형태로 제공되는 'Phone Gap'과 다르게 통합 개발 환경을 제공해 개발 편리성을 매우 높였으며, 디바이스 자원에 접근하기 위해 제공되는 자바스크립트 인터페이스, 즉 디바이스 API로 WAC의 Waikiki API를 지원하여, WAC API로 개발된 웹앱을 코드 수정없이 ‘Appspresso'을 이용해 iOS나 안드로이드 네이티브앱으로 만들 수 있다.
이처럼 하이브리드 웹 기술을 이용하여 앱을 개발하는 방법의 경우 웹사이트 개발과 유사한 점이 매우 많아 웹사이트를 개발하던 개발자들에 의해 앱이 개발되고 있는데, 그러나 웹사이트 개발과 유사한 점뿐만 아니라 다른 점도 많기 때문에 웹사이트를 개발하던 개발자들도 웹앱 개발을 처음 접할 때 많은 시행착오를 거치게 된다.
따라서 도 1과 같이, 개발자 단말 장치에서 웹 컨텐츠의 소스 코드를 제작하여 특정 타겟 장치에서 사용할 앱의 내용을 갖는 웹 컨텐츠를 제작한 후(S10), 네이티브 컨테이너와 상기 제작된 웹 컨텐츠를 결합시켜 앱을 만드는 빌드과정을 수행한다(S20).
이어 빌드된 앱을 단말/에뮬레이터로 전송하여 단말에 설치한 후(S30), 단말에 설치된 앱의 기능들이 의도한대로 동작하는 확인하는 테스트 과정을 수행한다(S40).
그리고 상기 테스트 과정 결과, 수정이 필요한 경우, 제작된 웹 컨텐츠를 수정 후(S60), 상기 빌드 과정(S20)부터 모든 과정을 반복하여 개발된 앱이 정상 동작이 될 때까지 연속하여 수행한다.
이처럼, 하나의 앱을 완성하기 위해서는 무수히 많은 테스트가 필요하며, 이에 따라, 수백, 수천 번의 소스 수정이 필요하며 동일한 횟수만큼의 반복적인 빌드와 재설치가 필요하다.
그러나 수정된 소스를 테스트하려면 앱을 빌드하고 단말에 앱을 설치한 후에 이루어져야만 하므로, 수백, 수천 번의 소스 수정시마다 단말기 혹은 에뮬레이터에 수정된 앱을 설치하여야 함에 따라 많은 시간이 소요되는 문제점이 있다. 참고로 앱을 1회 빌드하고 설치하는데 단말 종류에 따라 약간이 차이는 있으나 약 5초 ~ 1분 가량이 소요됨을 감안한다면, 소스 수정 후 단말 혹은 에뮬레이터에 계속적으로 앱을 설치하는 과정은 엄청난 시간의 낭비를 초래하게 된다.
따라서 본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로서, 테스트를 위한 단말기(타겟 장치)에 런 타임(run time) 모듈을 구축한 후에, 최초 1회만 설치되는 앱에서 IP 및 포트 정보를 제공하여 설치 후, 서버를 통한 접속을 통해 계속적으로 수정되는 소스를 다시 빌드와 설치과정을 거치지 않고 최초에 설치된 앱에 반영하여 개발된 앱의 테스트 시간을 줄일 수 있는 하이브리드 앱 개발 플랫폼 구조 및 그 테스트 방법을 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 하이브리드 앱 개발 플랫폼 구조의 특징은 최초 1회만 설치되는 앱에서 IP 및 포트 정보를 포함하는 하이브리드 앱을 생성하여 생성된 하이브리드 앱의 테스트를 위한 타겟 장치에 상기 생성된 하이브리드 앱을 설치 후, 상기 IP 정보 및 포트 정보를 통해 접속된 타겟 장치로 소스 코드가 수정된 웹 컨텐츠를 전송하여 타겟 장치에 설치된 하이브리드 앱에 반영하는 개발자 단말 장치와, 상기 개발자 단말 장치에서 전송되어 설치되는 하이브리드 앱의 테스트를 실행하여 그 결과값을 상기 개발자 단말 장치로 제공하고, 상기 결과값에 상응하여 소스 코드가 수정된 웹 컨텐츠를 입력받아 앞에 설치된 하이브리드 앱에 반영하여 하이브리드 앱을 갱신한 후, 갱신된 하이브리드 앱의 테스트를 다시 실행하는 타겟 장치를 포함하여 구성되는 것을 특징으로 한다.
바람직하게 상기 개발자 단말 장치는 하이브리드 앱을 개발하기 위한 전용의 개발환경 및 개발 툴을 저장하고 있는 PC 또는 Mac 컴퓨터인 것을 특징으로 한다.
바람직하게 상기 타겟 장치는 개발된 앱을 테스트하기 위한 단말 또는 에뮬레이터인 것을 특징으로 한다.
바람직하게 상기 개발자 단말 장치는 앱을 구성하는 요소인 웹 컨텐츠 및 네이티브 기술과 각 타겟 장치 플랫폼의 SDK(Software Development Kit)를 사용하여 개발된 커버 앱인 네이티브 컨테이너를 저장하고 있는 저장부와, 특정 타겟 장치에서 사용할 앱의 내용을 갖는 웹 컨텐츠를 작성하여 상기 저장부에 저장하거나, 저장부에 저장되어 있는 웹 컨텐츠를 읽어와 수정한 후 다시 저장하는 웹 컨텐츠 제작부와, 상기 저장부에 저장된 네이티브 컨테이너로 상기 웹 컨텐츠 제작부에서 제작된 웹 컨텐츠를 결합하여 IP 정보 및 포트 정보를 포함하는 하이브리드 앱을 생성하는 앱 생성부와, 상기 앱 생성부에서 IP 정보 및 포트 정보를 포함하여 생성된 하이브리드 앱을 타겟 장치로 전송하여 타겟 장치에 하이브리드 앱을 설치하는 전송 설치부와, 상기 전송 설치부에서 타겟 장치에 설치된 하이브리드 앱의 기능들이 의도한대로 동작하는지 테스트 과정을 통해 개발자가 확인할 수 있도록 테스트 과정의 결과를 표시하는 동작 표시부와, 상기 동작 표시부에서 표시되는 테스트 결과를 통해, 비정상적인 동작으로 확인되면, 저장부에 저장되어 있는 웹 컨텐츠를 읽어와, 하이브리드 앱에 포함된 웹 컨텐츠의 소스 코드를 수정하고, 하이브리드 앱에 포함된 IP 정보 및 포트 정보를 기반으로 소스 코드가 수정된 웹 컨텐츠를 타겟 장치에 전송하여 타겟 장치에 설치된 하이브리드 앱에 수정된 웹 컨텐츠가 반영되도록 하는 웹 컨텐츠 재 제작부를 포함하여 구성되는 것을 특징으로 한다.
바람직하게 상기 타겟 장치는 상기 하이브리드 앱의 테스트를 실행하고 그 결과값을 출력하는 앱 실행부와, 상기 출력되는 결과값에 상응하여 수정된 웹 컨텐츠를 IP 정보 및 포트 정보를 기반으로 입력받아 앞에 설치된 하이브리드 앱에 반영하여 하이브리드 앱을 갱신한 후, 갱신된 하이브리드 앱을 상기 앱 실행부에 제공하여 테스트를 다시 실행시키는 앱 갱신부를 포함하여 구성되는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 하이브리드 앱 개발 테스트 방법의 특징은 하이브리드 앱을 생성하여 생성된 하이브리드 앱의 테스트를 위한 타겟 장치에 하이브리드 앱을 설치하는 개발자 단말 장치와, 상기 개발자 단말 장치에서 전송되어 설치되는 하이브리드 앱의 테스트를 실행하는 타겟 장치를 포함하는 하이브리드 앱 개발 플랫폼에서의 하이브리드 앱 개발 테스트 방법에 있어서, (A) 특정 타겟 장치에서 사용할 앱의 내용을 갖는 웹 컨텐츠를 작성하여 저장부에 저장하거나, 저장부에 저장되어 있는 웹 컨텐츠를 읽어와 수정한 후 다시 저장하는 단계와, (B) 미리 저장되어 있는 네이티브 컨테이너와 상기 제작된 웹 컨텐츠를 결합하고, 개발자 단말 장치의 IP 정보 및 포트 정보를 포함하는 하이브리드 앱을 제작하는 단계와, (C) 상기 제작된 하이브리드 앱을 타겟 장치로 전송하여 타겟 장치에 설치한 후, 타겟 장치에 설치된 하이브리드 앱의 기능들이 의도한대로 동작하는지 확인하는 테스트를 수행하는 단계와, (D) 상기 테스트 과정 결과, 하이브리드 앱의 수정이 필요한 경우에 하이브리드 앱에 포함된 웹 컨텐츠의 소스 코드를 수정하는 단계와, (E) 상기 하이브리드 앱에 포함된 IP 정보 및 포트 정보를 기반으로 소스 코드가 수정된 웹 컨텐츠를 상기 타겟 장치로 전송하여 타겟 장치에 설치된 하이브리드 앱에 소스 코드가 수정된 웹 컨텐츠를 반영시켜 앞에 설치된 하이브리드 앱을 갱신하는 단계와, (F) 상기 갱신된 하이브리드 앱을 이용하여 타겟 장치에 설치된 하이브리드 앱의 기능들이 의도한대로 동작하는 확인하는 테스트를 다시 수행하는 단계를 포함하여 이루어지는데 있다.
바람직하게 상기 (A) 단계는 개발자 단말 장치에 설치된 하이브리드 웹 개발을 위한 개발환경 및 개발 툴을 이용하여 사용할 앱의 내용을 갖는 웹 컨텐츠를 제작하는 것을 특징으로 한다.
바람직하게 상기 (F) 단계의 테스트 과정 결과가 타겟 장치에 설치된 갱신된 하이브리드 앱의 기능들이 의도한대로 동작할 때까지 상기 (D) 단계부터 계속적으로 수행하는 단계를 더 포함하는 것을 특징으로 한다.
이상에서 설명한 바와 같은 본 발명에 따른 하이브리드 앱 개발 플랫폼 구조 및 그 테스트 방법은 1회 빌드 설치 후에는 다시 빌드 설치없이 수정된 소스를 최초에 설치된 앱에 반영하여 개발된 앱의 테스트 시간을 줄일 수 있다. 또한 수정된 웹 컨텐츠가 즉시 단말/에뮬레이터에 적용되므로 빌드 및 설치 과정이 생략됨에 따라 생산성을 높일 수 있는 효과가 있다.
[도 1] 종래 기술에 따른 하이브리드 앱 개발 테스트 방법을 설명하기 위한 흐름도
[도 2] 본 발명의 실시예에 따른 하이브리드 앱 개발 플랫폼 구조를 나타낸 블록도
[도 3] 본 발명의 실시예에 따른 하이브리드 앱 개발 테스트 방법을 설명하기 위한 흐름도
본 발명의 다른 목적, 특성 및 이점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
본 발명에 따른 하이브리드 앱 개발 플랫폼 구조 및 그 테스트 방법의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 설명하면 다음과 같다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록하며 통상의 지식을 가진자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
도 2 는 본 발명의 실시예에 따른 하이브리드 앱 개발 플랫폼 구조를 나타낸 블록도이다.
도 2와 같이, 하이브리드 앱 개발 플랫폼은 최초 1회만 설치되는 앱에서 IP 및 포트 정보를 포함하는 하이브리드 앱을 생성하여 생성된 하이브리드 앱의 테스트를 위한 타겟 장치(200)에 상기 생성된 하이브리드 앱을 설치 후, 상기 IP 정보 및 포트 정보를 통해 접속된 타겟 장치(200)로 소스 코드가 수정된 웹 컨텐츠를 전송하여 타겟 장치(200)에 설치된 하이브리드 앱에 즉시 반영하는 개발자 단말 장치(100)와, 상기 개발자 단말 장치(100)에서 전송되어 설치되는 하이브리드 앱의 테스트를 실행하여 그 결과값을 상기 개발자 단말 장치(200)로 제공하고, 상기 결과값에 상응하여 소스 코드가 수정된 웹 컨텐츠를 입력받아 앞에 설치된 하이브리드 앱에 반영하여 하이브리드 앱을 갱신한 후, 갱신된 하이브리드 앱의 테스트를 다시 실행하는 타겟 장치(200)로 구성된다. 이때, 상기 개발자 단말 장치(100)는 Visual Studio, Xcode, Eclipse 등의 개발환경 및 개발 툴과 같이 하이브리드 앱을 개발하기 위한 개발환경 및 개발 툴을 저장하고 있는 PC 또는 Mac 등 개발자가 개발에 사용하는 컴퓨터 등을 포함하고, 상기 타겟 장치(200)는 개발된 앱을 테스트하기 위한 단말 또는 에뮬레이터를 포함한다.
상기 개발자 단말 장치(100)는 웹 컨텐츠 및 네이티브 컨테이너를 저장하고 있는 저장부(110), 웹 컨텐츠 제작부(120), 앱 생성부(130), 전송 설치부(140), 동작 표시부(150) 및 웹 컨텐츠 재 제작부(160)로 구성되고, 상기 타겟 장치(200)는 앱 실행부(210), 앱 갱신부(220)로 구성된다. 이때, 상기 웹 컨텐츠 제작부(120)와 상기 웹 컨텐츠 재 제작부(160)는 용이한 설명을 위해 각각 별도의 블록도로 구성하고 있으나, 동일한 동작을 수행하므로 하나의 구성요소로 구성되는 것이 바람직하다.
상기 개발자 단말 장치(100) 및 상기 타겟 장치(200)의 구성을 좀 더 상세히 설명하면 다음과 같다.
상기 개발자 단말 장치(100)내 저장부(110)는 HTML, CSS, JS(JavaScript), image 파일 등 앱을 구성하는 요소인 웹 컨텐츠를 저장하는 웹 컨텐츠 DB(114)와, 네이티브 기술과 각 타겟 장치 플랫폼의 SDK(Software Development Kit)를 사용하여 개발된 커버 앱인 네이티브 컨테이너를 저장하는 네이티브 컨테이너 DB(112)로 구성된다. 참고로 상기 웹 컨텐츠 DB(114)에 저장된 웹 컨텐츠를 네이티브 컨테이너로 감싸면(wrap) 하이브리드 앱이 된다.
상기 개발자 단말 장치(100)내 웹 컨텐츠 제작부(120)는 특정 타겟 장치에서 사용할 앱의 내용을 갖는 웹 컨텐츠를 작성하여 저장부(110)에 저장하거나, 저장부(110)에 저장되어 있는 웹 컨텐츠를 읽어와 수정한 후 다시 저장한다. 이때 개발자 단말 장치(100)에 설치된 하이브리드 웹 개발을 위한 개발환경 및 개발 툴을 이용하여 사용할 앱의 내용을 갖는 웹 컨텐츠를 제작한다.
상기 개발자 단말 장치(100)내 앱 생성부(130)는 빌드를 통해 저장부(110)에 저장된 네이티브 컨테이너로 상기 웹 컨텐츠 제작부(120)에서 제작된 웹 컨텐츠를 감싸 하이브리드 앱을 생성한다. 상기 하이브리드 웹에 개발자 단말 장치의 IP 정보 및 포트 정보를 함께 포함시킨다.
상기 개발자 단말 장치(100)내 전송 설치부(140)는 상기 앱 생성부(130)에서 IP 정보 및 포트 정보를 포함하여 생성된 하이브리드 앱을 타겟 장치(200)로 전송하여 타겟 장치(200)에 하이브리드 앱을 설치한다.
상기 개발자 단말 장치(100)내 동작 표시부(150)는 상기 전송 설치부(140)에서 타겟 장치(200)에 설치된 하이브리드 앱의 기능들이 의도한대로 동작하는지 테스트 과정을 통해 개발자가 확인할 수 있도록 테스트 과정의 결과를 표시한다. 이때 상기 동작 표시부(150)는 개발자 단말 장치(100)내에 구성되는 것으로 설명하고 있지만, 이는 타겟 장치(200) 내에 구성될 수도 있다. 참고로, 하이브리드 앱의 테스트 과정은 다양한 실시예가 있으며, 이미 공지된 기술에 해당되므로 이에 따른 상세한 설명은 생략한다.
상기 개발자 단말 장치(100)내 웹 컨텐츠 재 제작부(160)는 상기 동작 표시부(150)에 표시되는 테스트 결과를 통해, 비정상적인 동작으로 확인되면, 저장부(110)에 저장되어 있는 웹 컨텐츠를 읽어와, 하이브리드 앱에 포함된 웹 컨텐츠의 소스 코드를 수정하고, 하이브리드 앱에 포함된 IP 정보 및 포트 정보를 기반으로 소스 코드가 수정된 웹 컨텐츠를 타겟 장치(200)에 전송하여 타겟 장치(200)에 설치된 하이브리드 앱에 수정된 웹 컨텐츠가 즉시 반영되도록 하여 특정 타겟 장치에서 사용할 앱의 내용을 갖는 웹 컨텐츠를 다시 제작한다.
아울러, 상기 타겟 장치(200)내 앱 실행부(210)는 상기 개발자 단말 장치(100)에서 전송되어 설치된 하이브리드 앱의 테스트를 실행한다.
상기 타겟 장치(200)내 앱 갱신부(220)는 개발자 단말 장치(200)로 제공한 결과값에 상응하여 수정된 웹 컨텐츠를 IP 정보 및 포트 정보를 기반으로 입력받아 앞에 설치된 하이브리드 앱에 반영하여 하이브리드 앱을 갱신한 후, 갱신된 하이브리드 앱을 상기 앱 실행부(210)에 제공하여 테스트를 다시 실행시킨다.
이와 같이 구성된 본 발명에 따른 하이브리드 앱 개발 플랫폼 구조에서의 테스트 방법을 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다. 도 1 또는 도 2와 동일한 참조부호는 동일한 기능을 수행하는 동일한 부재를 지칭한다.
도 3 은 본 발명의 실시예에 따른 하이브리드 앱 개발 테스트 방법을 설명하기 위한 흐름도이다.
도 3을 참조하여 설명하면, 먼저 개발자 단말 장치(100)로부터 웹 컨텐츠 제작부(120)를 통해 특정 타겟 장치에서 사용할 앱의 내용을 갖는 웹 컨텐츠를 작성하여 저장부(110)에 저장하거나, 저장부(110)에 저장되어 있는 웹 컨텐츠를 읽어와 수정한 후 다시 저장한다(S100). 이때 개발자는 개발자 단말 장치(100)에 설치된 하이브리드 웹 개발을 위한 개발환경 및 개발 툴을 이용하여 사용할 앱의 내용을 갖는 웹 컨텐츠를 제작한다.
이어, 저장부(100)에 미리 저장되어 있는 네이티브 컨테이너와 상기 제작된 웹 컨텐츠를 결합하고, 개발자 단말 장치(100)의 IP 정보 및 포트 정보를 포함하는 하이브리드 앱을 제작하는 빌드과정을 수행한다(S200).
그리고 상기 빌드된 하이브리드 앱을 타겟 장치(200)로 전송하여 타겟 장치에 설치한 후(S300), 타겟 장치(200)에 설치된 하이브리드 앱의 기능들이 의도한대로 동작하는지 확인하는 테스트 과정을 수행한다(S400).
상기 테스트 과정 결과(S400), 하이브리드 앱의 수정이 필요한 경우에 하이브리드 앱에 포함된 웹 컨텐츠의 소스 코드를 수정한다(S600).
이어 하이브리드 앱에 포함된 IP 정보 및 포트 정보를 기반으로 소스 코드가 수정된 웹 컨텐츠를 타겟 장치(200)로 즉시 전송하여 상기 타겟 장치(200)에 설치된 하이브리드 앱에 소스 코드가 수정된 웹 컨텐츠를 반영시켜 앞에 설치된 하이브리드 앱을 갱신한다(S700).
이어 갱신된 하이브리드 앱을 이용하여 타겟 장치(200)에 설치된 하이브리드 앱의 기능들이 의도한대로 동작하는 확인하는 테스트 과정을 다시 수행한다(S400).
아울러, 상기 테스트 과정은 타겟 장치(200)에 설치된 하이브리드 앱의 기능들이 의도한대로 동작할 때까지 계속적으로 수행한다.
이처럼 테스트를 위한 타겟 장치(200)에 런 타임(run time)을 위한 앱 갱신부(220)를 구축함으로써, 최초 1회만 설치되는 앱에서 IP 및 포트 정보를 포함하는 하이브리드 앱을 타겟 장치(200)에 제공하여 설치하면, 서버를 통한 접속을 통해 계속적으로 소스 코드가 수정된 웹 컨텐츠를 타겟 장치(100)에 설치된 하이브리드 앱에 반영할 수 있도록 하고 있다. 이에 따라, 단지 1회의 빌드 및 설치 후에는 다시 빌드 및 설치 과정 없이 소스 코드가 수정된 웹 컨텐츠를 타겟 장치(200)에 최초로 설치된 앱에 반영할 수 있게 된다. 이때, 서버는 웹 서버 또는 일반 TCP 서버로 구현가능하다. 한편, 위에서 설명하고 있는 최초 1회만 설치되는 앱에서 IP 및 포트 정보를 제공하여 설치하는 구성의 경우, 개발자 단말 장치의 IP 및 포트 정보가 변경되면 이 정보를 최초 1회만 설치되는 앱에 사용자가 직접 입력하는 방식도 포함한다.
한편, 본 발명의 실시예는 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하다. 즉, 본 발명에 따른 방법에 포함된 여러 단계들은 컴퓨터로 읽을 수 있는 기록매체에 저장될 수 있다. 상기 매체는 마그네틱 저장매체(예: 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독매체(예: CD-ROM, DVD), 디지털 저장매체(예: USB 메모리, 메모리 카드(SD, CF, MS, XD) 등) 및 캐리어 웨이브(예: 인터넷을 통한 전송)와 같은 기록매체를 포함한다.
상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시예에서 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술적 분야의 통상의 지식을 가진자라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (9)

  1. 최초 1회만 설치되는 앱에서 IP 및 포트 정보를 포함하는 하이브리드 앱을 생성하여 생성된 하이브리드 앱의 테스트를 위한 타겟 장치에 상기 생성된 하이브리드 앱을 설치 후, 상기 IP 정보 및 포트 정보를 통해 접속된 타겟 장치로 소스 코드가 수정된 웹 컨텐츠를 전송하여 타겟 장치에 설치된 하이브리드 앱에 반영하는 개발자 단말 장치와,
    상기 개발자 단말 장치에서 전송되어 설치되는 하이브리드 앱의 테스트를 실행하고, 상기 결과값에 상응하여 소스 코드가 수정된 웹 컨텐츠를 입력받아 앞에 설치된 하이브리드 앱에 반영하여 하이브리드 앱을 갱신한 후, 갱신된 하이브리드 앱의 테스트를 다시 실행하는 타겟 장치를 포함하여 구성되는 것을 특징으로 하는 하이브리드 앱 개발 플랫폼 구조.
  2. 제 1 항에 있어서,
    상기 개발자 단말 장치는 하이브리드 앱을 개발하기 위한 전용의 개발환경 및 개발 툴을 저장하고 있는 PC 또는 Mac 컴퓨터인 것을 특징으로 하는 하이브리드 앱 개발 플랫폼 구조.
  3. 제 1 항에 있어서,
    상기 타겟 장치는 개발된 앱을 테스트하기 위한 단말 또는 에뮬레이터인 것을 특징으로 하는 하이브리드 앱 개발 플랫폼 구조.
  4. 제 1 항에 있어서, 상기 개발자 단말 장치는
    앱을 구성하는 요소인 웹 컨텐츠 및 네이티브 기술과 각 타겟 장치 플랫폼의 SDK(Software Development Kit)를 사용하여 개발된 커버 앱인 네이티브 컨테이너를 저장하고 있는 저장부와,
    특정 타겟 장치에서 사용할 앱의 내용을 갖는 웹 컨텐츠를 작성하여 상기 저장부에 저장하거나, 저장부에 저장되어 있는 웹 컨텐츠를 읽어와 수정한 후 다시 저장하는 웹 컨텐츠 제작부와,
    상기 저장부에 저장된 네이티브 컨테이너로 상기 웹 컨텐츠 제작부에서 제작된 웹 컨텐츠를 결합하여 IP 정보 및 포트 정보를 포함하는 하이브리드 앱을 생성하는 앱 생성부와,
    상기 앱 생성부에서 IP 정보 및 포트 정보를 포함하여 생성된 하이브리드 앱을 타겟 장치로 전송하여 타겟 장치에 하이브리드 앱을 설치하는 전송 설치부와,
    상기 전송 설치부에서 타겟 장치에 설치된 하이브리드 앱의 기능들이 의도한대로 동작하는지 테스트 과정을 통해 개발자가 확인할 수 있도록 테스트 과정의 결과를 표시하는 동작 표시부와,
    상기 동작 표시부에서 표시되는 테스트 결과를 통해, 비정상적인 동작으로 확인되면, 저장부에 저장되어 있는 웹 컨텐츠를 읽어와, 하이브리드 앱에 포함된 웹 컨텐츠의 소스 코드를 수정하고, 하이브리드 앱에 포함된 IP 정보 및 포트 정보를 기반으로 소스 코드가 수정된 웹 컨텐츠를 타겟 장치에 전송하여 타겟 장치에 설치된 하이브리드 앱에 수정된 웹 컨텐츠가 반영되도록 하는 웹 컨텐츠 재 제작부를 포함하여 구성되는 것을 특징으로 하는 하이브리드 앱 개발 플랫폼 구조.
  5. 제 1 항에 있어서, 상기 타겟 장치는
    상기 하이브리드 앱의 테스트를 실행하고 그 결과값을 출력하는 앱 실행부와,
    상기 출력되는 결과값에 상응하여 수정된 웹 컨텐츠를 IP 정보 및 포트 정보를 기반으로 입력받아 앞에 설치된 하이브리드 앱에 반영하여 하이브리드 앱을 갱신한 후, 갱신된 하이브리드 앱을 상기 앱 실행부에 제공하여 테스트를 다시 실행시키는 앱 갱신부를 포함하여 구성되는 것을 특징으로 하는 하이브리드 앱 개발 플랫폼 구조.
  6. 하이브리드 앱을 생성하여 생성된 하이브리드 앱의 테스트를 위한 타겟 장치에 하이브리드 앱을 설치하는 개발자 단말 장치와, 상기 개발자 단말 장치에서 전송되어 설치되는 하이브리드 앱의 테스트를 실행하는 타겟 장치를 포함하는 하이브리드 앱 개발 플랫폼에서의 하이브리드 앱 개발 테스트 방법에 있어서,
    (A) 특정 타겟 장치에서 사용할 앱의 내용을 갖는 웹 컨텐츠를 작성하여 저장부에 저장하거나, 저장부에 저장되어 있는 웹 컨텐츠를 읽어와 수정한 후 다시 저장하는 단계와,
    (B) 미리 저장되어 있는 네이티브 컨테이너와 상기 제작된 웹 컨텐츠를 결합하고, 개발자 단말 장치의 IP 정보 및 포트 정보를 포함하는 하이브리드 앱을 제작하는 단계와,
    (C) 상기 제작된 하이브리드 앱을 타겟 장치로 전송하여 타겟 장치에 설치한 후, 타겟 장치에 설치된 하이브리드 앱의 기능들이 의도한대로 동작하는지 확인하는 테스트를 수행하는 단계와,
    (D) 상기 테스트 과정 결과, 하이브리드 앱의 수정이 필요한 경우에 하이브리드 앱에 포함된 웹 컨텐츠의 소스 코드를 수정하는 단계와,
    (E) 상기 하이브리드 앱에 포함된 IP 정보 및 포트 정보를 기반으로 소스 코드가 수정된 웹 컨텐츠를 상기 타겟 장치로 전송하여 타겟 장치에 설치된 하이브리드 앱에 소스 코드가 수정된 웹 컨텐츠를 반영시켜 앞에 설치된 하이브리드 앱을 갱신하는 단계와,
    (F) 상기 갱신된 하이브리드 앱을 이용하여 타겟 장치에 설치된 하이브리드 앱의 기능들이 의도한대로 동작하는 확인하는 테스트를 다시 수행하는 단계를 포함하여 이루어지는 것을 특징으로 하는 하이브리드 앱 개발 테스트 방법.
  7. 제 6 항에 있어서,
    상기 (A) 단계는 개발자 단말 장치에 설치된 하이브리드 웹 개발을 위한 개발환경 및 개발 툴을 이용하여 사용할 앱의 내용을 갖는 웹 컨텐츠를 제작하는 것을 특징으로 하는 하이브리드 앱 개발 테스트 방법.
  8. 제 6 항에 있어서,
    상기 (F) 단계의 테스트 과정 결과가 타겟 장치에 설치된 갱신된 하이브리드 앱의 기능들이 의도한대로 동작할 때까지 상기 (D) 단계부터 계속적으로 수행하는 단계를 더 포함하는 것을 특징으로 하는 하이브리드 앱 개발 테스트 방법.
  9. 제 6 항 내지 제 8 항 중 어느 하나에 의한 하이브리드 앱 개발 테스트 방법의 각 단계를 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020110079711A 2011-08-10 2011-08-10 하이브리드 앱 개발 플랫폼 구조 및 그 테스트 방법, 그리고 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체. KR20130017337A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110079711A KR20130017337A (ko) 2011-08-10 2011-08-10 하이브리드 앱 개발 플랫폼 구조 및 그 테스트 방법, 그리고 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110079711A KR20130017337A (ko) 2011-08-10 2011-08-10 하이브리드 앱 개발 플랫폼 구조 및 그 테스트 방법, 그리고 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.

Publications (1)

Publication Number Publication Date
KR20130017337A true KR20130017337A (ko) 2013-02-20

Family

ID=47896510

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110079711A KR20130017337A (ko) 2011-08-10 2011-08-10 하이브리드 앱 개발 플랫폼 구조 및 그 테스트 방법, 그리고 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.

Country Status (1)

Country Link
KR (1) KR20130017337A (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101416096B1 (ko) * 2012-08-07 2014-07-14 인크로스 주식회사 하이브리드 웹 어플리케이션 개발을 위한 호환성 높은 플러그인 시스템
US9415312B2 (en) 2014-02-24 2016-08-16 Masangsoft Inc. Method for identifying a client's request signal at game based on web
CN106557411A (zh) * 2015-09-24 2017-04-05 腾讯科技(深圳)有限公司 Android系统中Hybrid应用的测试方法及系统
KR20170040945A (ko) 2015-10-06 2017-04-14 (주)유라클 하이브리드 어플리케이션의 웹 리소스 보안방법 및 그에 따른 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
CN107704365A (zh) * 2017-10-10 2018-02-16 武汉斗鱼网络科技有限公司 一种移动端混合应用的监控数据上报方法及装置
CN108776592A (zh) * 2018-05-23 2018-11-09 北京五八信息技术有限公司 一种页面构建的方法、装置、设备及存储介质
CN108845810A (zh) * 2018-05-23 2018-11-20 北京五八信息技术有限公司 一种应用动态更新的方法、装置、电子设备及存储介质
KR20240020994A (ko) 2022-08-09 2024-02-16 (주)인스웨이브시스템즈 멀티플랫폼 지원 애플리케이션 빌드 및 배포 시스템과 방법

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101416096B1 (ko) * 2012-08-07 2014-07-14 인크로스 주식회사 하이브리드 웹 어플리케이션 개발을 위한 호환성 높은 플러그인 시스템
US9415312B2 (en) 2014-02-24 2016-08-16 Masangsoft Inc. Method for identifying a client's request signal at game based on web
CN106557411A (zh) * 2015-09-24 2017-04-05 腾讯科技(深圳)有限公司 Android系统中Hybrid应用的测试方法及系统
KR20170040945A (ko) 2015-10-06 2017-04-14 (주)유라클 하이브리드 어플리케이션의 웹 리소스 보안방법 및 그에 따른 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
CN107704365A (zh) * 2017-10-10 2018-02-16 武汉斗鱼网络科技有限公司 一种移动端混合应用的监控数据上报方法及装置
CN108776592A (zh) * 2018-05-23 2018-11-09 北京五八信息技术有限公司 一种页面构建的方法、装置、设备及存储介质
CN108845810A (zh) * 2018-05-23 2018-11-20 北京五八信息技术有限公司 一种应用动态更新的方法、装置、电子设备及存储介质
CN108776592B (zh) * 2018-05-23 2022-04-05 北京五八信息技术有限公司 一种页面构建的方法、装置、设备及存储介质
CN108845810B (zh) * 2018-05-23 2022-04-22 北京五八信息技术有限公司 一种应用动态更新的方法、装置、电子设备及存储介质
KR20240020994A (ko) 2022-08-09 2024-02-16 (주)인스웨이브시스템즈 멀티플랫폼 지원 애플리케이션 빌드 및 배포 시스템과 방법

Similar Documents

Publication Publication Date Title
KR20130017337A (ko) 하이브리드 앱 개발 플랫폼 구조 및 그 테스트 방법, 그리고 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
WO2018228211A1 (zh) 应用转换方法、装置及设备
US10643023B2 (en) Programmatic native rendering of structured content
US9442744B2 (en) Multilingual build integration for compiled applications
JP5099982B2 (ja) 完全な柔軟性を有する自動化に基づくユーザインターフェースを生成する方法および装置
KR101416089B1 (ko) 웹 어플리케이션 저작을 위한 통합 플랫폼 및 그 저작 방법
CN107393013B (zh) 虚拟漫游文件生成、显示方法、装置、介质、设备和系统
US9594802B2 (en) Graphical modeling of database query statements
US20140136945A1 (en) Automatically Rendering Web Or Hybrid Applications Natively
CN111740948B (zh) 数据包发布方法、动态更新方法、装置、设备及介质
US20170255445A1 (en) Translation of natural language into user interface actions
CN109388766A (zh) 页面加载的方法和装置
CN110389755B (zh) 代码处理方法及装置、电子设备和计算机可读存储介质
CN107451162A (zh) 网络资源访问设备、混合设备及方法
KR101416104B1 (ko) 하이브리드 웹 어플리케이션의 네이티브 기능을 수행하는 자바스크립트 코드의 동적 로딩 장치와 방법
CN113064593B (zh) 移动app动态化的方法、装置、计算机设备及存储介质
CN110221848A (zh) App页面更新方法、装置、电子设备及存储介质
CN111338925A (zh) 小程序测试方法及装置、系统、电子设备和存储介质
CN113778897B (zh) 接口的自动测试方法、装置、设备及存储介质
US9509761B2 (en) Open user interface
US20140033167A1 (en) Method and system for generating a manifestation of a model in actionscript
KR101416096B1 (ko) 하이브리드 웹 어플리케이션 개발을 위한 호환성 높은 플러그인 시스템
Ciliberti ASP. NET Core Recipes: A Problem-Solution Approach
CN114741294A (zh) 一种页面的调试方法、装置、设备及存储介质
CN105183491A (zh) 跨平台的桌面gis系统及其启动方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application