KaiOS: 개요, 시스템 아키텍처 및 웹 애플리케이션

저자: IT Sectr 게시일: 2026-02-07 읽는 시간: 13 분

KaiOS는 Mozilla의 Boot to Gecko(B2G) 웹 기술을 기반으로 한 피처폰용 운영체제입니다. 애플리케이션 개발은 HTML5, CSS, JavaScript로 이루어지며 네이티브 언어를 배울 필요가 없습니다. KaiOS는 256~512MB RAM의 기기에서 실행되며 4G VoLTE, GPS, Bluetooth를 지원합니다. KaiOS Technologies에 따르면, 2025년에는 전 세계적으로 2억 대 이상의 활성 기기가 있었습니다.

핵심 요점

  • KaiOS — Mozilla의 Gecko 엔진 기반 피처폰용 웹 중심 OS
  • HTML5/CSS/JS — 개발 스택, 네이티브 프로그래밍 언어를 배울 필요 없음
  • KaiStore — 검수 및 패키지 서명을 갖춘 공식 앱 스토어
  • Web API — 전화 하드웨어 기능에 접근하기 위한 MozMobileConnection, MozTelephony, MozSms
  • Gecko — 버전 48(KaiOS 2.5) 또는 84(KaiOS 3.0)가 API 가용성 결정

KaiOS란?

KaiOS는 KaiOS Technologies에서 개발한 피처폰용 모바일 운영체제입니다. 이 시스템은 원래 초저가 기기를 위한 웹 기반 Android 대안으로 만들어진 Mozilla의 오픈 소스 프로젝트 Boot to Gecko(B2G)를 기반으로 합니다. 첫 번째 상용 릴리스는 2017년 인도의 Reliance JioPhone에서 이루어졌습니다.

Counterpoint Research(2025년 2분기)에 따르면, KaiOS는 전 세계 모바일 OS 시장의 2.8%를 차지하며 Android(72%)와 iOS(27%)에 이어 다른 플랫폼을 앞서고 있습니다. 인도에서는 JioPhone 프로그램 덕분에 KaiOS의 점유율이 14%에 달합니다. 평균 KaiOS 기기 가격은 20~30달러로 신흥 시장에서 중요한 역할을 합니다.

KaiOS의 주요 특징은 모든 애플리케이션이 웹 애플리케이션이라는 점입니다. 개발자는 HTML5, CSS, JavaScript로 코드를 작성하고 매니페스트와 함께 ZIP 아카이브로 패키징하여 KaiStore에 게시합니다. 이 시스템은 네이티브 APK 파일 설치를 지원하지 않으며 W3C Widget 사양에 따른 Open Web Apps만 지원합니다.

KaiOS 버전 역사

KaiOS 2.5(2018년) — Gecko 48 커널 기반 첫 번째 안정 버전, JioPhone 1에 탑재. KaiOS 2.5.3(2021년) — Google Assistant, Google Maps Go, YouTube Go 지원. KaiOS 3.0(2022년) — Gecko 84, 성능 개선, WebGL 2.0, CSS Grid. KaiOS 3.1(2024년) — 256MB RAM 최적화, 새로운 Audio Channel Web API, 개선된 TLS 1.3 보안.

KaiOS 버전연도Gecko주요 변경 사항
2.5201848첫 번째 안정 릴리스, JioPhone 1
2.5.3202148Google Apps, Assistant, 보안 개선
3.0202284ES2020, WebGL 2.0, CSS Grid, JS 성능 개선
3.1202484256MB RAM, TLS 1.3, Audio Channel API

KaiOS 아키텍처: Linux 커널과 Gecko 엔진

KaiOS 아키텍처는 세 가지 주요 계층으로 구성됩니다: Linux 커널(Gonk), Gecko 웹 엔진, Gaia 사용자 인터페이스입니다. Gonk은 하드웨어 종속 계층으로, 드라이버, HAL(Hardware Abstraction Layer), RIL(Radio Interface Layer) 모뎀 스택 및 센서 지원을 포함합니다. 부트로더, 드라이버 및 일부 라이브러리는 Android Open Source Project(AOSP)에서 가져왔습니다.

Gonk — 하드웨어 계층

Gonk은 Gecko에 하드웨어 접근을 제공합니다: 카메라, Bluetooth, Wi-Fi, GPS, 오디오, 진동, 센서. Android에서 앱이 Dalvik/ART용으로 작성되는 것과 달리, KaiOS에서는 앱이 Gecko에 의해 Gonk IPC로 변환되는 Web API를 통해 하드웨어에 접근합니다. 무선 인터페이스(RIL)는 4G VoLTE, SMS, USSD 및 SIM 카드 관리를 제공합니다.

Gecko — 웹 엔진

KaiOS의 Gecko는 단순한 브라우저 엔진이 아니라 완전한 애플리케이션 실행 환경입니다. 모든 HTML5 애플리케이션은 Gecko Process Manager 내에서 실행되며, 각 애플리케이션을 별도의 프로세스로 격리합니다. Gecko는 W3C Widget Packaging 사양과 하드웨어 접근을 위한 Mozilla 확장을 구현합니다. Gecko 버전은 개발자가 사용할 수 있는 Web API를 결정합니다.

Gaia — 사용자 인터페이스

Gaia는 OS 자체의 웹 인터페이스입니다: 잠금 화면, 홈 화면(런처), 알림 패널, 다이얼러, 연락처, SMS 클라이언트. 모든 시스템 애플리케이션은 동일한 Open Web Apps입니다. 개발자는 매니페스트에 해당 활동 핸들러를 등록하여 표준 카메라나 키보드를 자신의 앱으로 대체할 수 있습니다.

javascript
// KaiOS 버전 및 API 가용성 확인
function checkKaiOSVersion() {
    const ua = navigator.userAgent;
    let version = 'unknown';

    if (ua.includes('KAIOS/2.5')) {
        version = '2.5';
    } else if (ua.includes('KAIOS/3')) {
        version = '3.0';
    }

    const features = {
        geolocation: 'geolocation' in navigator,
        vibration: 'vibrate' in navigator,
        mozMobileConnection: 'mozMobileConnection' in navigator,
        mozTelephony: 'mozTelephony' in navigator,
        mozSms: 'mozSms' in navigator,
        bluetooth: 'bluetooth' in navigator
    };

    return { version, features };
}

// Google Apps 가용성 확인(KaiOS 2.5.3+만 해당)
const systemInfo = checkKaiOSVersion();
console.log('KaiOS version:', systemInfo.version);
console.log('Available APIs:', JSON.stringify(systemInfo.features, null, 2));

// 가용성 확인과 함께 진동 사용
function triggerHapticFeedback() {
    if (navigator.vibrate) {
        navigator.vibrate([200, 100, 200]); // 진동, 일시 중지, 진동
    }
}

checkKaiOSVersion 함수는 User Agent를 읽어 KaiOS 버전을 확인하고 주요 Web API의 가용성을 검사합니다. 버전 2.5에서는 mozMobileConnection, mozTelephony, mozSms를 사용할 수 있습니다. 이들은 일반 브라우저에는 없으며 KaiOS에 고유합니다. triggerHapticFeedback 함수는 하위 호환성을 가지고 Vibration API를 사용합니다.

KaiOS 앱 만들기: 구조와 매니페스트

KaiOS 앱은 HTML 파일, CSS, JavaScript, 이미지 및 매니페스트를 포함하는 ZIP 아카이브(.zip 형식, .apk 아님)입니다. 최소 앱 구조에는 manifest.webapp(앱 설명), index.html(진입점), style.css 및 icon.png(90×90 픽셀 정사각형 아이콘)가 포함됩니다. 매니페스트는 W3C Manifest for Web Apps 사양을 따릅니다.

매니페스트 manifest.webapp

manifest.webapp 파일은 KaiOS 앱의 루트 구성 파일입니다. 필수 필드: name(이름), description(최대 140자 설명), launch_path(index.html 경로), icons(아이콘 크기 30×30, 60×60, 90×90, 120×120). type 필드: 'certified'(시스템 앱), 'privileged'(Web API 접근), 'web'(특별 권한 없음). Privileged 앱의 권한은 permissions 배열에 지정됩니다.

javascript
// manifest.webapp — KaiOS 애플리케이션 구성
{
    "name": "손전등",
    "description": "카메라 플래시를 켜고 끕니다",
    "launch_path": "/index.html",
    "icons": {
        "30": "/icons/icon-30.png",
        "60": "/icons/icon-60.png",
        "90": "/icons/icon-90.png",
        "120": "/icons/icon-120.png"
    },
    "type": "privileged",
    "permissions": {
        "camera": {
            "description": "플래시를 활성화하는 데 필요"
        }
    },
    "default_locale": "ru",
    "orientation": "portrait-primary",
    "fullscreen": true
}

매니페스트는 앱이 privileged 유형임을 지정합니다. 이를 통해 권한을 통해 카메라 API에 접근할 수 있습니다. 아이콘 크기는 엄격히 30×30, 60×60, 90×90 및 120×120 픽셀입니다. orientation 필드는 세로 모드로 제한합니다. 피처폰에는 일반적으로 화면 회전을 위한 가속도계가 없습니다. fullscreen: true는 상태 표시줄을 숨깁니다.

HTML 페이지 구조

KaiOS의 HTML5 페이지는 제한된 화면(보통 240×320 픽셀)을 고려하여 표준 태그를 사용합니다. 뷰포트 메타 태그는 필수입니다: <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">. KaiOS는 터치 이벤트를 지원하지 않습니다(피처폰에는 터치스크린 없음). 모든 탐색은 키를 통해 이루어집니다: 이동에 ArrowUp, ArrowDown, 선택에 Enter, 뒤로가기에 Back입니다.

javascript
// index.html — KaiOS용 간단한 손전등 앱
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport"
          content="width=device-width, initial-scale=1, maximum-scale=1">
    <title>손전등</title>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
    <div id="app">
        <div id="status" class="status-off">꺼짐</div>
        <div id="hint">켜려면 Enter를 누르세요</div>
    </div>

    <script>
        const statusEl = document.getElementById('status');
        const hintEl = document.getElementById('hint');
        let isFlashOn = false;
        let camera = null;

        async function initCamera() {
            try {
                camera = navigator.mozCameras.getListOfCameras()[0];
                const cameraControl = await
                    navigator.mozCameras.getCamera(camera, { mode: 'picture' });
                return cameraControl;
            } catch (e) {
                showError('카메라를 사용할 수 없습니다: ' + e.message);
            }
        }

        async function toggleFlash() {
            const cam = await initCamera();
            if (!cam) return;

            isFlashOn = !isFlashOn;
            try {
                await cam.setConfiguration({
                    mode: 'picture',
                    flashMode: isFlashOn ? 'on' : 'off'
                });
                statusEl.textContent = isFlashOn ? '켜짐' : '꺼짐';
                statusEl.className = isFlashOn ? 'status-on' : 'status-off';
            } catch (e) {
                showError('오류: ' + e.message);
            }
        }

        // 하드웨어 Enter 버튼 처리
        document.addEventListener('keydown', function(e) {
            if (e.key === 'Enter') {
                toggleFlash();
            }
        });

        initCamera();
    </script>
</body>
</html>

손전등 앱은 MozCamera API를 사용하여 카메라 플래시를 제어합니다. 사용자가 하드웨어 Enter 버튼을 누르면 keydown 핸들러가 실행되어 flashMode를 on과 off 사이에서 전환합니다. 상태는 시각적 표시를 위해 status-on/status-off 클래스가 있는 텍스트 블록에 표시됩니다. MozCamera API는 매니페스트에 카메라 권한이 있는 privileged 앱에서만 사용할 수 있습니다.

KaiOS Web API: 전화 및 하드웨어 작업

KaiOS Web API는 전화 하드웨어 기능에 접근할 수 있는 JavaScript 인터페이스 집합입니다. 대부분의 API는 Mozilla의 독점 확장(moz 접두사)이며 일반 브라우저에서는 사용할 수 없습니다. API를 사용하려면 앱의 매니페스트에서 privileged 또는 certified 유형이어야 합니다.

주요 Web API

MozMobileConnection — 네트워크 정보: 통신사, 신호 강도, 네트워크 유형(4G/3G/2G), IMEI, 로밍 상태. MozTelephony — 통화 관리: 발신, 수신, 종료, 회의 통화, 통화 상태. MozSms — SMS, MMS 송수신, SIM 메시지 관리. MozContacts — 전화번호부 읽기 및 쓰기. MozBluetooth — Bluetooth 관리: 기기 검색, 페어링, 파일 전송. Push API — 서버로부터 푸시 알림 수신.

javascript
// KaiOS Web API를 통한 연락처 및 통화 작업
const TelephonyManager = {
    // 번호로 전화 걸기
    async makeCall(phoneNumber) {
        if (!navigator.mozTelephony) {
            throw new Error('Telephony API를 사용할 수 없습니다');
        }

        const call = navigator.mozTelephony.dial(phoneNumber);
        call.onconnected = () => console.log('통화가 연결되었습니다');
        call.ondisconnected = () => console.log('통화가 종료되었습니다');
        return call;
    },

    // 전화번호부에서 연락처 목록 가져오기
    async getContacts() {
        const cursor = navigator.mozContacts.getAll({
            sortBy: 'familyName',
            sortOrder: 'ascending'
        });

        const contacts = [];
        return new Promise((resolve, reject) => {
            cursor.onsuccess = function() {
                if (this.result) {
                    contacts.push(this.result);
                    this.continue();
                } else {
                    resolve(contacts);
                }
            };
            cursor.onerror = function() {
                reject(this.error);
            };
        });
    },

    // SMS 보내기
    async sendSms(phoneNumber, message) {
        if (!navigator.mozSms) {
            throw new Error('SMS API를 사용할 수 없습니다');
        }
        const request = navigator.mozSms.send(phoneNumber, message);
        return new Promise((resolve, reject) => {
            request.onsuccess = () => resolve(request.result);
            request.onerror = () => reject(request.error);
        });
    }
};

// 사용 예
TelephonyManager.getContacts()
    .then(contacts => console.log('연락처를 찾았습니다:', contacts.length))
    .catch(err => console.error(err));

TelephonyManager 객체는 세 가지 주요 KaiOS API를 결합합니다: 통화용 mozTelephony, 전화번호부용 mozContacts, 메시지용 mozSms입니다. 커서와 함께 getAll()은 대용량 데이터(1000개 이상의 연락처 항목에 일반적)를 비동기적으로 읽는 패턴입니다. 모든 API는 onsuccess 및 onerror 핸들러와 함께 DOMRequest를 반환합니다.

Web API 제한 사항

KaiOS Web API에는 제한 사항이 있습니다: 통화 및 SMS API는 전화기에서만 사용 가능(태블릿에서는 불가), 카메라는 실제 카메라가 있는 경우에만, Bluetooth는 제한된 HSP/HFP 프로필. Push API는 Google Firebase(FCM) 서버 지원 또는 사용자 지정 서버가 필요합니다. 위치 정보 API는 하드웨어 지원에 따라 A-GPS 또는 Cell ID를 사용합니다.

API앱 유형가용성KaiOS 버전
MozMobileConnectionprivileged모든 전화기2.5+
MozTelephonyprivileged전화기만2.5+
MozSmsprivileged전화기만2.5+
MozContactsprivileged모든 전화기2.5+
MozBluetoothcertifiedBluetooth 모듈 있음2.5+
Geolocation APIwebGPS/Cell ID 있음2.5+
Push APIprivileged인터넷 있음3.0+
WebGL 2.0webGPU 가속 있음3.0+

UI 및 탐색: T9, 버튼 및 240×320 화면

KaiOS 사용자 인터페이스는 T9 키보드 및 하드웨어 버튼 제어용으로 설계되었습니다. 대부분의 피처폰에서 표준 화면 해상도는 240×320 픽셀(QVGA)입니다. 터치스크린이 없으므로 모든 탐색은 keydown/keyup 이벤트를 통해 구현됩니다: ArrowUp, ArrowDown, ArrowLeft, ArrowRight, Enter, Back(또는 Escape).

포커스 관리

KaiOS는 일반적인 방식으로 CSS :focus를 지원하지 않습니다. 포커스는 tabindex와 JavaScript를 통해 관리됩니다. 개발자는 현재 선택된 요소를 수동으로 추적하고 키 입력 시 포커스를 이동해야 합니다. 탐색을 단순화하기 위해 목록 요소에 data-index를 사용하는 것이 좋습니다. 선택된 요소는 일반적으로 대비되는 CSS background-color를 가진 .selected 클래스로 강조 표시됩니다.

javascript
// KaiOS용 목록 포커스 탐색
class ListNavigation {
    constructor(containerSelector) {
        this.container = document.querySelector(containerSelector);
        this.items = this.container.querySelectorAll('[data-index]');
        this.currentIndex = 0;
        this.init();
    }

    init() {
        this.updateFocus();

        document.addEventListener('keydown', (e) => {
            switch (e.key) {
                case 'ArrowUp':
                    e.preventDefault();
                    this.moveFocus(-1);
                    break;
                case 'ArrowDown':
                    e.preventDefault();
                    this.moveFocus(1);
                    break;
                case 'Enter':
                    e.preventDefault();
                    this.selectItem();
                    break;
                case 'Backspace':
                case 'Escape':
                    e.preventDefault();
                    this.goBack();
                    break;
            }
        });
    }

    moveFocus(direction) {
        this.items[this.currentIndex].classList.remove('selected');
        this.currentIndex = (this.currentIndex + direction + this.items.length) % this.items.length;
        this.updateFocus();
    }

    updateFocus() {
        const el = this.items[this.currentIndex];
        el.classList.add('selected');
        el.scrollIntoView({ block: 'nearest' });
    }

    selectItem() {
        const el = this.items[this.currentIndex];
        const event = new CustomEvent('itemselected', {
            detail: { index: this.currentIndex, element: el }
        });
        this.container.dispatchEvent(event);
    }

    goBack() {
        history.back();
    }
}

// 메뉴 목록 탐색 초기화
const nav = new ListNavigation('#menu-list');
nav.container.addEventListener('itemselected', (e) => {
    console.log('선택된 요소:', e.detail.index);
});

ListNavigation 클래스는 KaiOS를 위한 완전한 포커스 탐색을 구현합니다. ArrowUp/ArrowDown은 data-index가 있는 요소를 순환하며 포커스를 이동합니다. Enter는 사용자 지정 itemselected 이벤트를 트리거합니다. Backspace/Escape는 이전 화면으로 돌아갑니다. block: nearest와 함께 scrollIntoView는 표시 영역을 벗어날 때 자동으로 화면을 스크롤합니다.

KaiOS용 CSS

KaiOS 2.5는 CSS 2.1 + 부분적으로 CSS3(border-radius, box-shadow, gradients)를 지원합니다. Flexbox는 KaiOS 2.5에서 부분적으로 지원되며 KaiOS 3.0에서는 CSS Grid를 포함하여 완전히 지원됩니다. 호환성을 위해 고정 너비의 float 기반 레이아웃을 사용하는 것이 좋습니다. 기본 글꼴은 TizenSans 또는 아시아 시장용 Noto Sans CJK입니다. 텍스트 크기는 기본 콘텐츠 14-16픽셀, 제목 18-20픽셀입니다.

KaiStore 및 앱 게시

KaiStore는 KaiOS의 공식 앱 스토어로, 모든 기기에 사전 설치되어 있습니다. 개발자는 KaiOS Developer Portal(developer.kaiostech.com)에 등록하고 서명된 ZIP 패키지를 업로드한 후 설명을 작성합니다. 검수는 보안, 안정성 및 콘텐츠 정책 준수를 확인합니다. 평균 검토 시간은 3~5영업일입니다.

앱 서명

KaiOS는 KaiOS Certificate를 통한 앱의 디지털 서명이 필요합니다. 개발자는 kaios-sign 유틸리티를 사용하여 키 쌍(개인키 + 공개키)을 생성하고 공개키를 KaiOS Developer Portal에 보내 인증서를 받습니다. 서명된 .zip 파일에는 META-INF 폴더에 서명이 포함됩니다. 서명이 없으면 앱은 개발 기기에만 설치할 수 있습니다.

배포 모델 및 수익화

KaiStore는 무료 앱, KaiOS Ads SDK를 통한 광고, 통신사 결제(Direct Carrier Billing)를 통한 인앱 구매를 지원합니다. KaiStore의 수수료는 수익의 30%입니다. 대체 채널은 OEM 제조업체(Jio, Nokia, Alcatel, Doro)를 통한 사전 설치입니다. 사전 설치를 위해서는 기기 제조업체와의 직접 계약이 필요합니다.

단계작업시간
등록KaiOS Developer Portal에서 계정 생성1일
서명키 생성, 인증서 받기1-2일
빌드매니페스트 및 서명으로 .zip 패키징1시간
업로드패키지 업로드, 설명 작성1일
검토보안 및 품질 확인3-5일
게시모든 지역의 KaiStore에 릴리스1일

KaiStore 제한 사항

KaiStore는 일부 국가에서 유료 앱을 지원하지 않습니다(통신사 결제만 가능). 2G/3G 네트워크를 통한 다운로드를 위해 앱 크기는 10MB로 제한됩니다. 앱은 50MB 이상의 RAM을 사용해서는 안 됩니다. 매니페스트에 명시적인 선언 없이 mozMobileConnection API에 접근하는 것은 금지됩니다. 정책 위반 시 개발자 계정이 정지됩니다.

자주 묻는 질문

KaiOS란 무엇인가요?

KaiOS는 Mozilla의 Gecko 웹 엔진을 기반으로 하는 피처폰용 운영체제입니다. 256-512MB RAM의 기기에서 실행되며 4G VoLTE, GPS 및 Bluetooth를 지원합니다. 앱은 HTML5, CSS 및 JavaScript로 작성됩니다. Counterpoint Research에 따르면 KaiOS는 2억 대 이상의 기기에 설치되어 있습니다.

KaiOS 개발에는 어떤 언어가 사용되나요?

유일한 개발 스택은 HTML5, CSS 및 JavaScript입니다. KaiOS는 C++ 또는 Java와 같은 네이티브 언어를 지원하지 않습니다. 모든 앱은 W3C 사양에 따른 Open Web Apps입니다. 하드웨어 기능에 접근하려면 moz 접두사가 있는 Mozilla Web API가 사용됩니다. 앱은 manifest.webapp과 함께 ZIP 아카이브로 패키징됩니다.

KaiOS 앱을 어떻게 배포하나요?

공식 스토어는 KaiStore이며 KaiOS Developer Portal에 등록해야 합니다. 앱은 개발자 인증서로 서명되고 .zip 형식으로 업로드됩니다. 검수는 3-5일이 소요됩니다. 대체 채널은 OEM 제조업체와의 계약을 통한 새 기기 사전 설치입니다. KaiStore의 수수료는 30%입니다.

KaiOS와 Android Go의 차이점은 무엇인가요?

KaiOS는 HTML5 앱에 Gecko 웹 엔진을 사용하며 256-512MB RAM이 필요합니다. Android Go는 Dalvik/ART에서 네이티브 APK를 실행하며 1-2GB RAM이 필요합니다. KaiOS는 최대 30달러의 피처폰에서 실행되고 Android Go는 50달러부터의 저가 스마트폰에서 실행됩니다. KaiOS는 전력 소모가 적고 한 번 충전으로 더 오래 지속됩니다.

KaiOS 개발자에게 어떤 API가 제공되나요?

주요 API: MozMobileConnection(네트워크), MozTelephony(통화), MozSms(SMS), MozContacts(연락처), MozBluetooth(Bluetooth), Geolocation API, Vibration API, Push API, Notification API. 카메라 API 접근에는 privileged 앱 유형이 필요합니다. Push API는 KaiOS 3.0부터 사용할 수 있습니다.

요약

  • KaiOS — Gecko(B2G) 기반 피처폰용 웹 OS, 256-512MB RAM으로 HTML5 앱 지원
  • 아키텍처는 Gonk(Linux 커널 + 드라이버), Gecko(웹 엔진), Gaia(HTML5 UI)로 구성
  • 개발은 HTML5/CSS/JS로 이루어지며, 앱은 manifest.webapp 및 디지털 서명이 있는 ZIP
  • Web API에는 MozTelephony, MozSms, MozContacts, MozMobileConnection, MozBluetooth, Geolocation 포함
  • 탐색은 하드웨어 버튼(Arrow, Enter, Back)을 통해 keydown/keyup 이벤트로 구현
  • KaiStore — 3-5일 검수, 30% 수수료, 통신사 결제 지원 앱 스토어
  • KaiOS 3.0은 Gecko 84, ES2020, WebGL 2.0, CSS Grid, Push API 및 성능 개선 추가

턴키 방식의 모바일 애플리케이션을 개발해 드립니다

IT Sectr는 2017년부터 스타트업과 기업을 위한 iOS 및 Android 애플리케이션을 만듭니다. 저희가 상담해 드리고 최적의 솔루션을 제안하겠습니다.

프로젝트 논의

더 읽어보기