KR20190083463A - Kotlin을 이용한 플랫폼 독립 크로스앱의 실행 플랫폼 및 실행방법 - Google Patents
Kotlin을 이용한 플랫폼 독립 크로스앱의 실행 플랫폼 및 실행방법 Download PDFInfo
- Publication number
- KR20190083463A KR20190083463A KR1020180001125A KR20180001125A KR20190083463A KR 20190083463 A KR20190083463 A KR 20190083463A KR 1020180001125 A KR1020180001125 A KR 1020180001125A KR 20180001125 A KR20180001125 A KR 20180001125A KR 20190083463 A KR20190083463 A KR 20190083463A
- Authority
- KR
- South Korea
- Prior art keywords
- platform
- appos
- cross
- application
- android
- 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/30—Creation or generation of source code
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
앱기반 cross-Platform 기술을 개발하여 한 가지 앱을 개발하면 자동으로 타 기종에서 사용이 가능하도록 하는 S/W 발명
Description
정보통신 소프트웨어
최근 ICT기술 발전에 따른 응용 모바일 기기(스마트 폰)의 OS는 iOS와 Android로 양분되면서 iOS는 Object C, Cocoa, iPhone SDK, Xcode 등을 사용하고, Android는 Java, Android SDK, Android Studio 등을 이용하여 각각 앱을 개발하고 있다. 따라서 스마트 폰 Application S/W 개발을 위해서는 안드로이드 OS 및 iOS를 동시에 만족하는 프로그램을 각각 개발하게 됨으로서 개발자 측면에서는 Object-C와 Java언어를 익혀야하며 또 두가지의 앱을 동시에 똑같은 인터페이스를 만들기 위해서 iOS는 Interface Builder를 사용해야하고 Android는 XML 메터 프로그래밍을 해야하는 2중 부담이 되어 개발 비용이 가중되고 있다. 본 발명은 이같은 문제를 해결하기 위하여 구글의 Kotlin 언어를 이용하여 안드로이드 스튜디오에서 개발한 앱을 기종에 관계없이 동작되는 플랫폼과 그 실행방법을 개발하였다
본 발명을 위하여 개발 S/W/의 미들웨어를 이용한 앱 개발 과정은 안드로이드와 iOS 모듈은 각각 안드로이드, iOS 고유의 코드를 포함하고 공통적으로 앱의 대부분의 프로그램 메인 모듈에 해당하는 로직 등은 코틀린을 이용하여 구현하도록 한다.
상술한 바와 같이 본 발명인 Kotlin을 이용한 플랫폼 독립 크로스앱의 실행 플랫폼 및 실행방법은 다음과 같은 효과를 가진다.
첫째, 본 발명은 안드로이드와 iOS 앱에 동시에 사용가능하므로 별도의 앱 프로그램 개발을 위한 엔지니어가 필요하지않다.
둘째, 본 발명으로 제작된 앱은 Java의 VM과 같은 역할을 수행하는 런타임 환경 위에서 구동됨은 물론 아이폰에서도 동일한 런타임 위에서 구동되는 방식으로 런타임인 크로스플랫폼 개발 기술을 사용하는 appOS를 공유하게 된다.
셋째, 본 발명은 크로스 런타임인 appOS는 여러 가지의 크로스플랫폼 개발 환경이 존재하고 어떠한 환경이 선택되어도 상관없으므로 관리비용의 최소화를 위해서 본 발명 개발기술과 동일한 구현언어를 사용하는 크로스플랫폼의 개발 환경을 선택한다.
넷째, 본 발명의 크로스 플랫폼은 웹의 프론트엔드 기술로 개발되어 통상적인 브라우저에서 구동이 가능함은 몰론 통상적인 개발IDE 환경에서 구동할 수 있다.
최근 ICT기술 발전에 따른 응용 모바일 기기(스마트 폰)의 OS는 iOS와 Android 계열로 양분되어 수렴하고 있다. 따라서 스마트 폰 Application S/W 개발을 위해서는 안드로이드 OS 및 iOS를 위한 앱을 각각 개발하여 제공하고 있다. 현재 이같은 스마트폰에 적용 가능한 앱의 종류는 Native App, Hybrid App, Web App과 같이 크게 3종류로 나눌 수 있다. Native App은 각 플랫폼의 언어로 구현(아이폰:Object-C, 안드로이드:java, 윈도우:C# 등)되는 것으로서 화려한 UI사용이 가능하고, 단말 고유 기능을 사용할 수 있는 장점이 있음. 그러나 특정 플랫폼에만 동작하고 앱의 업데이트는 앱스토어를 통해서만 이루어지고 있다. Web App은 HTML5, CSS, JavaScript 등을 활용하여 여러 기기에 한 가지의 앱으로 서비스 할 수 있기에 개발 및 유지보수가 용이한 장점이 있으나 웹에서 구동하기 때문에 서버가 필요하고 네트워크 상황에 따라 구동 자체가 불가능하는 경우가 발생하는 단점이 있음. 이러한 소프트웨어로는 Chrome Web Store, Docs, Google Drice, Youtube, Evernote 등 이 있다.
Hybrid App은 네이비브 앱과 웹앱의 장점을 합친 것으로서 네이티브 앱보다 유지보수가 용이하며 웹앱과 달리 로컬에서 구동도 가능하며 또한 웹 표준기술을 활용하여 앱을 표현하므로 네이티브 적인 화려한 UI사용과 단말 고유 기능을 사용할 수 있는 장점이 있음. 그러나 일부 플랫폼의 경우 성능 저하와 웹표준 침해 가능성이 존재하며 또한 최신 모바일 기술 접목에 어려운 점이 발생하는 단점이 있다.
기술 개발 현황에서 살펴 본봐와 같이 최근 ICT기술 발전에 따른 응용 모바일 기기(스마트 폰)의 OS는 iOS와 Android로 양분되면서 iOS는 Object C, Cocoa, iPhone SDK, Xcode 등을 사용하고, Android는 Java, Android SDK, Android Studio 등을 이용하여 각각 앱을 개발하고 있다. 따라서 스마트 폰 Application S/W 개발을 위해서는 안드로이드 OS 및 iOS를 동시에 만족하는 프로그램을 각각 개발하게 됨으로서 개발자 측면에서는 Object-C와 Java언어를 익혀야하며 또 두가지의 앱을 동시에 똑같은 인터페이스를 만들기 위해서 iOS는 Interface Builder를 사용해야하고 Android는 XML 메터 프로그래밍을 해야하는 2중 부담이 되어 개발 비용이 가중되고 있다.
본 발명에서는 이를 극복하기 위하여 대안으로 제시된 HTML5, CSS3 등을 이용한 하이브리드 앱은 2010년도부터 관심을 끌었으나, 대형 서버를 가진 클라우드 시스템을 기반으로 하는 데는 유리하나 IoT 기술 기반의 가정용 기기 등을 제어하는 앱으로서는 한계가 노출되었다. 따라서 개발인력이 부족한 중소기업에서는 양쪽 개발자를 모두 확보하는 것이 불가능하여 적기 시장 진입을 위한 시기(timing)를 놓쳐서 사업 홍보 및 매출에 막대한 부담을 주고 있다. 이에 본 발명에서는 앱기반 cross-Platform 기술을 개발하여 한 가지 앱을 개발하면 자동으로 타 기종에서 사용이 가능하도록 하는 기술을 발명하였다.
도 1은 본 발명의 S/W/의 미들웨어를 이용한 앱 개발 과정은 다음과 같이 안드로이드와 iOS 모듈은 각각 안드로이드, iOS 고유의 코드를 포함하고 공통적으로 앱의 대부분의 프로그램 메인 모듈에 해당하는 로직 등은 코틀린을 이용하여 구현하는 최상위 레벨의 하이브리드 앱의실행 플랫폼을 설명하기 위해 나타낸 도면.
도 2는 본 발명의 일실시예에 따른 안드로이드와 iOS를 위한 cross-platform은 Multi-OS Engine을 기반으로 intro와 export부분을 Kotlin으로 설계하는 형태로 구성하는 도면
도 3은 Android Studio와 기본 레이어를 이용하여 코틀린을 이용한 연동 미들웨어 개발함에 있어서 Separation과 encapsulation을 고려하여 code sharing이 되도록 설계하는 도면
도 4는 Cross-Platform을 통해서 작업을 수행함에도 불구하고 개발된 앱은 Native app에서 작업한 품질을 유지하도록 연동 plug-in 수행하는 도면
도 2는 본 발명의 일실시예에 따른 안드로이드와 iOS를 위한 cross-platform은 Multi-OS Engine을 기반으로 intro와 export부분을 Kotlin으로 설계하는 형태로 구성하는 도면
도 3은 Android Studio와 기본 레이어를 이용하여 코틀린을 이용한 연동 미들웨어 개발함에 있어서 Separation과 encapsulation을 고려하여 code sharing이 되도록 설계하는 도면
도 4는 Cross-Platform을 통해서 작업을 수행함에도 불구하고 개발된 앱은 Native app에서 작업한 품질을 유지하도록 연동 plug-in 수행하는 도면
이하 첨부된 도면과 함께 본 발명의 바람직한 실시 예를 살펴보면 다음과 같은데, 본 발명을 설명함에 있어서 관련된 공지기술 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이며, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있으므로, 그 정의는 본 발명인 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼 및 실행방법을 설명하는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하, 본 발명의 바람직한 일실시예에 따른 크로스 플랫폼 앱을 위한 환경기반의 앱 개발의 실행
플랫폼을 첨부된 도면을 참조하여 상세히 설명한다.
10: 안드로이드 스튜디오
11: iOS
12: 클로스 플랫폼
11: iOS
12: 클로스 플랫폼
Claims (2)
- 크로스 플랫폼 앱을 결합한 실행 플랫폼에 있어서 안드로이드와 iOS 앱의 장점을 결합한 크로스 앱개발을 위한 공통적인 구성요소를 나타내며, 크로스 플랫폼 실행을 위해 다양한 오픈소스 라이브러리들이 사용되고, 동일한 기능을 수행하는 다른 라이브러리로 대체 가능하며, android와 appOS의 중간에 위치한 미들웨어인 크로스플랫폼(Platform)과 상기 플랫폼의 하부에 위치하는 하위 구성요소를 나타내며, 크로스플랫폼의 특성상 OSMU(One Source Multi Use) 방식으로 개발되므로 OS와 관계없이 동일한 코드로 구성되는 appOS 코드를 포함하며, appOS를 포함하는 구
성요소는 선택한 크로스플랫폼 개발 환경에 따라서 다르게 구성될 수 있고, 여러 개의 앱을 실행할 수 있는 구조를 갖는데, 하나의 앱은 AppHost 내에서 실행되고, 다른 앱은 웹 랜더링 모듈로 구현된 AppRenderer에 의해 앱이 실행되는 appOS와;
상기 appOS의 하부에 위치하며, 선택한 크로스플랫폼의 특성에 종속되어 구성되는 하부단의 코드를 포함함을 특징으로 하는 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 앱개발 실행 크로스 플랫폼. - 제 1항에 있어서, 상기 크로스S 플랫폼이 제공하는 appOS API를 호출하여 필요한 요청을 appOS로 전달하는데, 상기 appOS API는 인증/인가, O2O(Online to Offline), 커머스, 메시징, 소설 발행, 비전(Vision)의 기능을 제공하는 것을 포
함함을 특징으로 하는 크로스 플랫폼을 결합한 환경기반의 앱개발의 실행 플랫폼.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180001125A KR20190083463A (ko) | 2018-01-04 | 2018-01-04 | Kotlin을 이용한 플랫폼 독립 크로스앱의 실행 플랫폼 및 실행방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180001125A KR20190083463A (ko) | 2018-01-04 | 2018-01-04 | Kotlin을 이용한 플랫폼 독립 크로스앱의 실행 플랫폼 및 실행방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190083463A true KR20190083463A (ko) | 2019-07-12 |
Family
ID=67254168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180001125A KR20190083463A (ko) | 2018-01-04 | 2018-01-04 | Kotlin을 이용한 플랫폼 독립 크로스앱의 실행 플랫폼 및 실행방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20190083463A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061486A (zh) * | 2019-12-10 | 2020-04-24 | 杭州有赞科技有限公司 | 一种安卓应用程序增量方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101585931B1 (ko) | 2015-10-26 | 2016-01-15 | (주)프리코어 | 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼 및 실행방법 |
-
2018
- 2018-01-04 KR KR1020180001125A patent/KR20190083463A/ko not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101585931B1 (ko) | 2015-10-26 | 2016-01-15 | (주)프리코어 | 하이브리드 앱과 네이티브 앱을 결합한 환경기반의 바로앱의 실행 플랫폼 및 실행방법 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061486A (zh) * | 2019-12-10 | 2020-04-24 | 杭州有赞科技有限公司 | 一种安卓应用程序增量方法 |
CN111061486B (zh) * | 2019-12-10 | 2022-06-24 | 杭州有赞科技有限公司 | 一种安卓应用程序增量方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108958796B (zh) | 业务请求处理方法及装置、业务请求处理系统 | |
CN110532020B (zh) | 一种微服务编排的数据处理方法、装置及系统 | |
CN107391104B (zh) | 一种客户端与react native代码的更新依赖管理方法、装置及系统 | |
US9307342B2 (en) | Dynamic rendering for software applications | |
EP3011442B1 (en) | Method and apparatus for customized software development kit (sdk) generation | |
US8966508B2 (en) | Method for executing hybrid web application and apparatus therefor | |
CA2912852C (en) | Method and apparatus for code virtualization and remote process call generation | |
US10402308B2 (en) | Sandboxing for custom logic | |
US20170192773A1 (en) | Mobile applications | |
CN107092475B (zh) | 一种交互控件的调用方法及装置 | |
CN108170430B (zh) | 一种界面展示的方法及系统 | |
CN104391690A (zh) | 一种应用开发系统及方法 | |
US11537367B1 (en) | Source code conversion from application program interface to policy document | |
CN112597013A (zh) | 一种在线开发以及调试方法及装置 | |
US10536506B2 (en) | Webpage analytics and control | |
US9880918B2 (en) | Mobile and remote runtime integration | |
Patterson | Learn AWS Serverless Computing: A Beginner's Guide to Using AWS Lambda, Amazon API Gateway, and Services from Amazon Web Services | |
US9509761B2 (en) | Open user interface | |
CN109343970B (zh) | 基于应用程序的操作方法、装置、电子设备及计算机介质 | |
CN113448650A (zh) | 直播功能插件加载方法、装置、设备及存储介质 | |
KR20190083463A (ko) | Kotlin을 이용한 플랫폼 독립 크로스앱의 실행 플랫폼 및 실행방법 | |
CN110221830A (zh) | 一种在PC上加载WebView的方法及系统 | |
Kharb | IBM Blue mix: Future development with open cloud architecture | |
Haja et al. | Location, proximity, affinity–the key factors in FaaS | |
CN105338025B (zh) | 调用组件方法、系统、客户端及集中组件方法和服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |