맨위로가기

모바일 앱 개발

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

모바일 앱 개발은 특정 운영체제에 종속적인 네이티브 앱 개발 방식과 여러 플랫폼에서 동시에 작동하는 크로스 플랫폼 개발 방식으로 나뉜다. 모바일 앱을 개발, 배포 및 관리하는 데 필요한 소프트웨어 개발 패키지는 프런트엔드, 1차, 2차, 3차 개발 도구와 백엔드 서버, 보안 추가 계층, 시스템 소프트웨어 등 다양한 구성 요소와 도구로 구성된다. 모바일 앱 테스트는 에뮬레이터를 사용하여 개발 환경 내에서 이루어지며, 성공적인 모바일 앱 개발을 위해서는 깔끔한 화면, 인지 부하 감소, 간단한 탐색, 알림, 빠른 속도, 사용성을 고려해야 한다.

더 읽어볼만한 페이지

  • 모바일 소포트웨어 개발 - 모바일 비즈니스 인텔리전스
    모바일 비즈니스 인텔리전스(BI)는 모바일 기기에서 데이터 접근 및 분석을 가능하게 하여 기업이 실시간 고객 데이터 분석 및 의사 결정을 지원하며, 스마트폰과 태블릿 등장 이후 모바일 클라이언트 애플리케이션과 특수 목적 앱으로 발전했고, 보안 측면의 고려가 필요하며, 가트너는 이를 통해 기업 효율성 향상을 예측했다.
  • 모바일 소프트웨어 개발 - 서비스형 백엔드
  • 모바일 애플리케이션 - 틱톡
    틱톡은 2016년에 시작된 짧은 동영상 공유 플랫폼으로, 다양한 기능과 챌린지를 통해 사용자 참여를 유도하며 사회적 영향력을 확대하는 한편, 중독성, 유해 콘텐츠, 개인 정보 보호 문제 등 논란이 제기되기도 한다.
  • 모바일 애플리케이션 - 모바일 앱
    모바일 앱은 휴대 기기에서 실행되는 애플리케이션으로, 개발 방식에 따라 네이티브 앱, 웹 기반 앱, 하이브리드 앱으로 나뉘며, 사용자 인터페이스 디자인이 중요하고 앱 스토어를 통해 배포되며, 기업은 모바일 애플리케이션 관리를 통해 보안을 강화한다.
모바일 앱 개발
개요
유형모바일 앱 개발
설명다양한 모바일 운영체제를 위한 앱을 만드는 프로세스
상세 정보
개발 플랫폼안드로이드
iOS
윈도우 모바일
개발 언어자바
코틀린
스위프트
C#
JavaScript
관련 기술React Native
Flutter
Xamarin
Ionic
개발 단계아이디어 구상
디자인
개발
테스트
배포
유지보수
고려 사항사용자 인터페이스 (UI)
사용자 경험 (UX)
성능
보안
확장성
장점광범위한 사용자 기반 접근
브랜드 인지도 향상
고객 충성도 강화
새로운 수익 창출 기회
단점개발 비용
유지보수 비용
플랫폼별 개발 필요
앱 스토어 승인 절차
활용 분야게임
소셜 미디어
전자 상거래
금융
교육
건강 관리
추가 정보
관련 용어앱 스토어
모바일 앱 마케팅
앱 분석
푸시 알림
참고 자료IBM - Introduction to Mobile Application Development IBM 모바일 애플리케이션 개발 소개
GlobalLogic - Essential Aspects to Consider While Designing Mobile Apps 모바일 앱 디자인 시 고려해야 할 필수 요소
TechTarget - What is a mobile app (mobile application)? 모바일 앱(모바일 애플리케이션)이란 무엇인가?
Progressive Policy Institute - The App Economy in Europe: Leading Countries and Cities, 2017 유럽의 앱 경제: 주요 국가 및 도시, 2017

2. 플랫폼

모바일 앱 개발은 특정 플랫폼(운영체제)에 종속적인 네이티브 앱 개발 방식과 여러 플랫폼에서 동시에 작동하는 크로스 플랫폼 개발 방식으로 나뉜다.

모바일 기기용 애플리케이션 개발 및 일관성을 위해 다양한 접근 방식이 사용되어 왔다. 애플이나 아이폰, 아이패드와 같은 제품을 출시하는 대부분의 회사는 공식 SDK를 제공하며, 품질 보증(QA)을 제공하기도 한다. 개발자는 SDK나 기타 도구를 제공받는 대가로 기밀 유지 계약(NDA)에 서명해야 할 수 있다.[5]

모바일 UI 디자인은 모바일 앱 제작에 필수적이다. 모바일 UI 디자이너는 디자인 개요, 제약 조건, 컨텍스트, 화면 공간, 입력 방식, 이동성 등을 고려한다. 사용자의 제한된 주의력, 모바일 장치의 화면 크기와 같은 폼 팩터는 모바일 UI 디자인의 제약 조건이다. 모바일 UI 컨텍스트에는 모바일 앱 내 사용자 상호 작용에서 관찰할 수 있는 장치 사용 위치나 시간과 같은 사용자 활동 신호 단서가 포함된다. 이러한 컨텍스트 단서는 자동 제안을 제공하는 데 사용될 수 있다.

사용자는 장치와 상호 작용의 초점이며, 인터페이스는 하드웨어와 소프트웨어 구성 요소를 모두 포함한다. 사용자 입력은 사용자가 시스템을 조작할 수 있게 하며, 장치의 출력은 시스템이 사용자의 조작 효과를 나타낼 수 있게 한다.

모바일 UI 디자인의 목표는 주로 이해하기 쉽고 사용자 친화적인 인터페이스를 만드는 것이다. 기능은 모바일 엔터프라이즈 애플리케이션 플랫폼 또는 IDE에서 지원된다.

모바일 하드웨어의 치열한 경쟁과 각 플랫폼 내 변화로 인해, 모바일 앱 개발자는 서로 다른 화면 크기, 하드웨어 사양 및 구성을 가진 광범위한 장치를 고려해야 한다.

오늘날 모바일 앱은 일반적으로 공식 온라인 아울렛(예: 애플 - App Store, 구글 - Google Play)을 통해 배포되며, 개발자는 해당 마켓플레이스에 앱을 승인 및 포함시키기 위해 제출하는 공식적인 프로세스가 있다.

모바일 앱을 개발, 배포, 관리하는 데 필요한 소프트웨어 개발 패키지는 개발자가 하나 이상의 대상 플랫폼용 애플리케이션을 작성, 테스트, 배포할 수 있도록 하는 다양한 구성 요소와 도구로 구성된다.

2. 1. 프런트엔드 개발 도구

프런트엔드 개발 도구는 사용자 인터페이스(UI) 및 사용자 경험(UX) 개발에 필요한 기능을 제공한다. 이러한 도구에는 UI 디자인 도구, 장치 기능 접근을 위한 SDK, 크로스 플랫폼 지원 등이 포함된다.

모바일 UI 또는 프런트엔드는 엔터프라이즈 시스템 접근을 지원하기 위해 모바일 백엔드에 의존한다. 모바일 백엔드는 데이터 라우팅, 보안, 인증, 권한 부여, 오프라인 작업 및 서비스 오케스트레이션을 용이하게 한다. 이러한 기능은 미들웨어 구성 요소, 모바일 앱 서버, MBaaS, SOA 인프라를 혼합하여 지원된다.

2. 1. 1. 1차 개발 도구

1차 개발 도구에는 특정 하드웨어 플랫폼(예: 애플, 구글 등)의 설계를 담당하는 회사가 발행하거나 대신 발행하는 공식 SDK뿐만 아니라, 해당 하드웨어용 모바일 앱 개발을 공식적으로 지원하는 모든 타사 소프트웨어가 포함된다.

컴퓨팅 플랫폼프로그래밍 언어사용 가능한 디버거사용 가능한 에뮬레이터사용 가능한 통합 개발 환경크로스 플랫폼 배포설치 프로그램 패키징 옵션개발 도구 비용
안드로이드자바 (일부 코드는 C, C++, 코틀린으로 작성 가능)이클립스에 통합된 디버거, 독립 실행형 디버깅 모니터 사용 가능이클립스, IntelliJ IDEA, 안드로이드 스튜디오, NetBeans용 Project Kenai Android 플러그인달빅 VM 때문에 안드로이드만 해당 (2009년 3월)apk무료, IntelliJ IDEA 커뮤니티 에디션 - 무료
블랙베리자바IDE에 통합된 디버거이클립스, 블랙베리 JDERIM API 때문에 블랙베리만 해당alx, cod무료
iOS SDKObjective-C, 스위프트Xcode IDE에 통합된 디버거iPhone SDK에 번들로 제공, Xcode IDE와 통합Xcode, AppCode아이폰, 아이패드, 아이팟 터치App Store를 통해서만 가능, 애플의 검토 및 승인 필요애플 도구는 인텔 기반 Mac에서 무료 제공. 시뮬레이터 테스트는 무료, 기기 설치는 개발자 서명 키 수수료 필요. AppCode - 상용 라이선스 사용 가능. 2015년부터 애플은 개발자 유료 멤버십 없이도 사용자 기기에 앱 설치 허용.[5]
iOS SDKObject PascalXcode IDE에 통합된 디버거Delphi XE2 Professional 이상에 포함됨Embarcadero Delphi XE2아이폰, 아이패드, 아이팟 터치App Store를 통해서만 가능, 애플의 검토 및 승인 필요개발에는 Windows의 IDE 외에도 인텔 기반 Mac 필요. 디자인은 Windows에서, 컴파일 및 배포는 Mac에서 수행. 시뮬레이터 테스트는 무료, 기기 설치는 개발자 서명 키 수수료 필요.


2. 1. 2. 2차 개발 도구

2차 개발 도구는 플랫폼 제조사가 아닌 외부 업체가 제공하는 도구들이다. 대표적인 예시는 다음과 같다.

플랫폼언어디버거에뮬레이터통합 개발 환경크로스 플랫폼패키징 옵션비용
Java ME자바무료 에뮬레이터, Sun Java Wireless Toolkit, mpowerplayer이클립스, LMA 넷빈즈 모빌리티 팩[1]Jad/Jar 패키징; 팜 OS에서 PRC 파일무료
AcceleratorHTML5, C#마이크로소프트 비주얼 스튜디오모든 플랫폼, 모바일 앱은 브라우저 기반모바일 웹상용 라이선스
MobileTogetherXPath/XQuery, 액션 트리 시각적 프로그래밍 언어윈도우에서만 독점적인 IDE안드로이드, iOS, 윈도우, 브라우저각 형식에 대한 네이티브 배포무료
안드로이드용 앱 인벤터인터페이스 디자이너와 함께 시각적 블록 기반 프로그래밍 언어IDE에 내장된 제한적인 디버깅 도구블록 프로그래밍을 위한 Java 웹 시작 프로그램과의 연결을 갖춘 웹 기반 인터페이스 디자이너안드로이드 기기apk무료
Appcelerator자바스크립트예, Titanium Studio에서.네이티브 에뮬레이터를 사용하여 에뮬레이터 사용 가능이클립스 기반 Titanium Studio안드로이드, 아이폰; 블랙베리, 타이젠, 모바일 웹각 플랫폼의 네이티브 배포 형식무료, 오픈 소스 Apache 2.0 라이선스, 상용 및 엔터프라이즈 라이선스 사용 가능
Basic4androidVisual Basic 유사 구문네이티브 에뮬레이터를 사용하여 에뮬레이터 사용 가능독점적인 IDE안드로이드각 플랫폼의 네이티브 배포 형식상용 라이선스
Codename One자바이클립스, 넷빈안드로이드, 아이폰, 블랙베리, 윈도우 모바일, J2ME각 플랫폼의 네이티브 배포 형식오픈 소스 GPLv2 및 구독 기반 빌드 서버
Solar2DLuaXcode안드로이드, iOS, 누크 컬러각 플랫폼에 대한 네이티브 배포MIT 라이선스를 사용하여 무료
DragonRAD시각적 드래그 앤 드롭 타일타사 에뮬레이터 사용독점적인 IDE안드로이드, 블랙베리, 윈도우 모바일OTA 배포무료 및 상용 라이선스
GeneXus for Mobile and Smart Devices지식 표현 및 선언적 프로그래밍 - 쉬운 개발을 위한 모델링, 그런 다음 각 플랫폼에 대해 코드가 자동으로 생성됨GeneXus는 사전 테스트된 코드 라이브러리를 활용하며 코드 생성 후에는 사용자 코드 디버깅이 필요하지 않음.클라우드에 게시, 장치에서 네이티브 테스트, 에뮬레이터 필요 없음독점적인 IDE안드로이드, iOS (아이폰, 아이패드), 블랙베리 OS, 필요한 경우 HTML5까지각 플랫폼의 네이티브 배포 형식 및 클라우드 브라우저 기반무료 체험, 상용 및 엔터프라이즈 라이선스
IBM MobileFirst StudioHTML5, CSS3, 자바스크립트, 네이티브 SDK 언어 w/ 네이티브 Worklight API예, 모바일 브라우저 시뮬레이터 또는 네이티브 SDK 디버거와의 통합네이티브 에뮬레이터 또는 Cordova 플러그인을 사용한 브라우저 시뮬레이터를 사용하여 에뮬레이터 사용 가능이클립스 플러그인, 이클립스 기반 독립 실행형안드로이드, iOS, 블랙베리 6,7, & 10, 윈도우 폰 7.5 & 8, 윈도우 8 (데스크톱, 태블릿), 어도비 AIR, 모바일 웹 앱, 데스크톱 브라우저 웹 페이지각 플랫폼의 네이티브 배포 형식이클립스 마켓플레이스를 통해 개발자 에디션 무료, 배포를 위한 상용 라이선스
라자루스오브젝트 파스칼예, 윈도우 CE용 ActiveSync를 통해 IDE에서 디버그 가능플랫폼의 에뮬레이터 사용라자루스 IDE, 통합 GUI 디자이너 및 디버거 포함컴파일된 언어 윈도우 CE, 리눅스 기반 장치, 개발 중인 심비안 포트각 플랫폼의 네이티브 배포 형식무료
LambdaNativeScheme아니요아니요, 하지만 로컬 호스트에서 빌드 및 테스트 가능이클립스 (소프트웨어) (선택 사항)모든 네이티브 바이너리: 안드로이드, iOS, 블랙베리 10, 윈도우, OS X, 리눅스, OpenBSD, OpenWrt각 플랫폼의 네이티브 배포 형식무료 (BSD 라이선스)
LiveCodeLiveCode예 (IDE에 통합됨)예 (iOS 및 안드로이드 에뮬레이터 사용 가능)iOS, 안드로이드, macOS, 윈도우, 리눅스, 서버, HTML5. 설치 프로그램 패키징각 플랫폼의 네이티브 배포 형식무료 오픈 소스 에디션, 상용 및 엔터프라이즈 에디션
매크로미디어 플래시 라이트액션스크립트IDE와 함께 제공매크로미디어 플래시 MX2004/8, 이클립스SIS-CAB 배포 또는 OTA-IR-블루투스 SWF 파일다양함, 무료이지만 MTASC로 제한됨
마멀레이드C, C++비주얼 스튜디오, Xcode모든 네이티브: 안드로이드, 블랙베리, BREW, iOS (아이폰), 마에모, 팜-웹OS, 삼성 바다, 심비안, 윈도우 모바일 6.x 및 데스크톱, OS X각 플랫폼의 네이티브 배포 형식상용 라이선스
밈 IDEMemeScript문제 보기에 유효성 검사가 제공됨예, 안드로이드 에뮬레이터 통합 가능이클립스 RCP안드로이드, 윈도우 모바일각 플랫폼의 네이티브 배포 형식개발에 무료
MonacaHTML5, CSS, 자바스크립트클라우드 기반 IDE 및 로컬 도구에서 미리 보기 가능클라우드 기반 IDE, 비주얼 스튜디오, 타사 IDE/편집기안드로이드, iOS, 윈도우8.1, 10각 플랫폼의 네이티브 배포 형식최대 3개의 프로젝트는 무료. 상용 및 엔터프라이즈 라이선스
안드로이드용 모노C#비주얼 스튜디오 2005 및 MonoDevelop안드로이드플랫폼의 네이티브 배포 형식
MonoTouchC#비주얼 스튜디오 2005 및 MonoDevelopiOS플랫폼의 네이티브 배포 형식
MoSyncC, C++, Lua, HTML5, CSS, 자바스크립트이클립스, 비주얼 스튜디오 2005 이상, 텍스트 편집기를 사용한 MoBuild안드로이드, iOS (아이폰), 자바 ME, 모블린, 스마트폰 2003, 심비안, 윈도우 모바일 (포켓 PC), 블랙베리 (실험적)SIS, CAB, JAD, JAR, APK, OTA 배포무료, GPL 2.0, 무료 인디 구독; 상용 구독 가능
NetBeansC++, 자바자바 개발 도구안드로이드(모바일 및 태블릿), 노키아(심비안, 세리아 60 – 40 – 80) 등...무료
OpenPlug액션스크립트, XML어도비 플래시 빌더용 OpenPlug ELIPS 플러그인안드로이드, iOS (아이패드, 아이폰, 아이팟 터치), 심비안, 윈도우 모바일각 플랫폼의 네이티브 배포 형식무료 및 상용 라이선스
OutSystemsOutSystems, CSS, 자바스크립트브라우저에서 직접 테스트OutSystems 서비스 스튜디오안드로이드, iOS, 윈도우 폰 7해당 없음개인 용도로는 무료 커뮤니티 에디션, 상업적 사용을 위한 구독 라이선스
PhoneGap 및 아파치 코르도바HTML, CSS, 자바스크립트예, 브라우저에서 직접 테스트할 수 있는 기능이 많습니다. iOS 및 안드로이드에서 네이티브 에뮬레이터를 실행하는 것도 가능합니다.예, Ionic Studio 또는 Appery.io와 같은 Cordova 기반 도구에 많은 IDE가 있습니다.아이폰, 안드로이드, 타이젠, 윈도우 폰, 블랙베리, 심비안, 팜, 바다각 플랫폼의 네이티브 배포 형식아파치 2
Qt SDKC++, QMLQt Creator안드로이드 (기술 미리 보기), iOS (기술 미리 보기), 심비안, 마에모, 미고, 리눅스, 윈도우, OS X각 플랫폼의 네이티브 배포 형식무료 및 상용 라이선스
Rhomobile루비 인터프리터를 통해 컴파일된 HTML 인터페이스 기능을 갖춘 루비 네이티브 애플리케이션해당 없음, 응용 프로그램은 Win32 러너에서 실행되거나 지원되는 플랫폼의 장치 에뮬레이터에서 실행될 수 있습니다.Xcode 또는 이클립스, 주문형 RhoHub 버전에는 전체 IDE가 포함되어 있습니다.예, Android 1.6+, iOS 3.0+ (아이폰, 아이패드), 윈도우 모바일 6.1 Professional, 윈도우 모바일 6.0 Standard, 블랙베리 4.6, 4.7, 5.0, 6.0 (4.2 및 4.5 지원하지만 이러한 장치에서는 데이터베이스 액세스가 매우 느립니다), 심비안을 지원합니다.OTA 배포, 앱 스토어를 통한 iOS, .SIS, .CAB, .APK, .CODRhodes는 MIT 라이선스에 따라 무료이며 오픈 소스이며 RhoSync는 GPL 또는 상용 라이선스이며 RhoHub에 대한 상용 지원이 제공됩니다.
RubyMotion루비모든 텍스트 편집기. IDE로 RubyMine.안드로이드, iOS플랫폼의 네이티브 배포 형식RubyMotion은 상용 제품입니다.
Sencha TouchHTML, CSS, 자바스크립트Sencha Architect 2안드로이드, iOS (아이폰, 아이패드, 아이팟 터치), 킨들, 블랙베리, 바다웹으로 제공되거나 각 플랫폼에 대한 네이티브 셸을 통해 하이브리드GPLv3, 상업용으로 무료, OEM 및 임베디드 시스템 유료
SmartfaceWYSIWYG 디자인 편집기 및 자바스크립트 코드 편집기Smartface IDE 및 SDK예, 안드로이드, iOS (아이폰, 아이패드, 아이팟 터치), 킨들, 기어, 구글 글래스각 플랫폼의 네이티브 배포 형식커뮤니티 라이선스 및 상용 라이선스
StencylScratch 기반의 드래그 앤 드롭 편집기, Objective-CXcodeiOS (아이패드, 아이폰, 아이팟 터치)각 플랫폼의 네이티브 배포 형식무료 및 상용 개발 라이선스
Telerik Platform, 및 AppBuilderHTML5, CSS 및 자바스크립트브라우저 또는 장치에서 직접 테스트인 브라우저 클라이언트, 데스크톱 클라이언트, 비주얼 스튜디오, 서브라임 텍스트 또는 명령줄 인터페이스(CLI)안드로이드, iOS, 윈도우 폰각 플랫폼의 네이티브 배포 형식무료 체험, 상용 및 엔터프라이즈 라이선스
UnityC#, 자바스크립트, Boo, 기타 .NET 기반 언어앱을 장치에 업로드하기 전에 장치 상호 작용을 시뮬레이션하는 데 원격으로 사용됩니다.유니티 에디터, 비주얼 스튜디오 및 MonoDevelop에서도 작동합니다.안드로이드, iOS (아이폰, 아이패드), PC, 맥, 데스크톱 브라우저, Xbox 360, PS3, Wii. 블랙베리 플레이북, 노키아 심비안, Roku 2 및 회사의 Union 프로그램을 통해 제공되는 기타.각 플랫폼의 네이티브 배포 형식무료 및 상용 개발 라이선스.
Verivo AppStudioWYSIWYG, 그래픽 드래그 앤 드롭, 자바스크립트, .NET 기반 언어. Appery.io로 대체됨브라우저 또는 장치에서 직접 테스트독점적인 디자인 스튜디오안드로이드, iOS, 블랙베리각 플랫폼의 네이티브 배포 형식무료 개발 라이선스; CPU당 배포 라이선스
ViziAppsWYSIWYG, 그래픽 드래그 앤 드롭브라우저 또는 장치에서 직접 테스트온라인 디자인 스튜디오안드로이드, iOS, 윈도우 폰 계획각 플랫폼의 네이티브 배포 형식디자인, 테스트, 데모, 업데이트, 앱은 무료; 게시 요금
V-Play EngineObjective C, C++, 자바스크립트, QML, 자바Qt Creator모든 플랫폼각 플랫폼의 네이티브 배포 형식무료, 인디 및 엔터프라이즈 라이선스
WakandaHTML5, 자바스크립트예, Wakanda Studio안드로이드, iOS, 윈도우 10 (곧) 및 브라우저 기반 앱apk오픈 소스 및 상용 라이선스
XamarinC#Xamarin Studio(Mac에서만; 더 이상 사용되지 않음), Visual Studio (Windows에서만), Visual Studio for Mac (Mac에서만; Xamarin Studio를 대체함)[6][7]안드로이드, iOS, 윈도우 폰, 윈도우 스토어 앱각 플랫폼의 네이티브 배포무료 커뮤니티 에디션, Microsoft MSDN 라이선스에 포함된 프로 에디션
XojoXojo (VB와 유사)Xojo IDEiOS, 모바일 웹 앱iOS 앱은 네이티브 아이패드시간 제한 없이 무료 평가판; 상용 라이선스


2. 1. 3. 3차 개발 도구

3차 개발 도구는 여러 플랫폼을 지원하는 크로스 플랫폼 개발 도구이다. 다음은 주목할 만한 3차 개발 도구 목록이다.

개발 도구프로그래밍 언어디버거에뮬레이터통합 개발 환경크로스 플랫폼 배포설치 프로그램 패키징개발 도구 비용
MobileTogetherXPath/XQuery, 액션 트리 시각적 프로그래밍 언어윈도우에서만 독점적인 IDE안드로이드, iOS, 윈도우, 브라우저각 형식에 대한 네이티브 배포무료
Appcelerator자바스크립트네이티브 에뮬레이터를 사용하여 에뮬레이터 사용 가능이클립스 기반 Titanium Studio안드로이드, 아이폰, 블랙베리, 타이젠, 모바일 웹각 플랫폼의 네이티브 배포 형식무료, 오픈 소스 Apache 2.0 라이선스, 상용 및 엔터프라이즈 라이선스 사용 가능
XamarinC#Xamarin Studio(Mac에서만, 더 이상 사용되지 않음), Visual Studio (Windows에서만), Visual Studio for Mac (Mac에서만, Xamarin Studio를 대체함)[6][7]안드로이드, iOS, 윈도우 폰, 윈도우 스토어 앱각 플랫폼의 네이티브 배포무료 커뮤니티 에디션, Microsoft MSDN 라이선스에 포함된 프로 에디션



위 표에는 포함되지 않았지만, React Native, Flutter 등 다양한 3차 개발 도구들이 존재한다.

2. 2. 백엔드 서버

백엔드 도구는 프런트엔드 도구가 중단된 지점에서 시작하여 중앙에서 관리 및 제어되며, 다음과 같은 재사용 가능한 서비스 집합을 제공한다.

  • 백엔드 시스템과의 통합
  • 사용자 인증 및 권한 부여
  • 데이터 서비스
  • 재사용 가능한 비즈니스 로직


사용 가능한 도구는 아래 표와 같다.

컴퓨팅 플랫폼프로그래밍 언어사용 가능한 통합 개발 환경크로스 플랫폼 배포배포 옵션개발 도구 비용
알토바(Altova) MobileTogether Server브라우저 기반 인터페이스독점 IDE서버는 윈도우, 리눅스, macOS용으로 사용할 수 있다. 안드로이드(운영체제), iOS, 윈도우 8, 윈도우 10, 윈도우 폰, HTML5 브라우저 기반 클라이언트에서 실행되는 모바일 장치를 지원한다.온-프레미스, 클라우드 또는 하이브리드개발 도구는 무료이며 배포에는 상용 라이선스가 필요하다.
글로보 plc(Globo plc)의 GO!AppZone자바스크립트. 사용자 지정 통합 커넥터/서버 측 로직: C#, VB.NET예, GO!AppZone Studio안드로이드(운영체제), 블랙베리, iOS, 윈도우 폰, 8.x, RT온-프레미스, 클라우드 또는 하이브리드개발 도구는 무료이며 배포에는 상용 라이선스 또는 구독이 필요하다.
IBM MobileFirst ServerHTML5, CSS3, 자바스크립트, 네이티브 Worklight API를 사용하는 네이티브 SDK 언어이클립스(소프트웨어) 플러그인, 이클립스 기반 독립 실행형안드로이드(운영체제), iOS, 블랙베리 6, 7, & 10, 윈도우 폰 7.5 & 8, 윈도우 8 (데스크톱, 태블릿), Adobe AIR, 모바일 웹 앱, 데스크톱 브라우저 웹 페이지온-프레미스개발자 에디션은 이클립스 마켓플레이스를 통해 무료로 제공되며 배포에는 상용 라이선스가 필요하다.
메티스모(Metismo)자바(프로그래밍 언어)이클립스(소프트웨어)안드로이드, iOS (iPhone, iPad), Java ME, BREW, 블랙베리, 닌텐도 DS, Palm/webOS, 소니 PSP, 삼성 바다, 심비안, 윈도우 모바일, 윈도우 폰 7, 윈도우 데스크톱, OS X온-프레미스상용 라이선스 제공
와칸다(Wakanda)자바스크립트(프로그래밍 언어)와칸다 스튜디오 사용안드로이드, iOS (iPhone, iPad), 윈도우 폰 10 (곧 출시), HTML5 앱온-프레미스 또는 클라우드커뮤니티 및 상용 에디션
베리보(Verivo) Akula자바(프로그래밍 언어)모든 프런트 엔드 IDE 사용안드로이드, iOS (iPhone, iPad), 윈도우 폰 7온-프레미스, 클라우드 또는 하이브리드무료 개발 라이선스; CPU당 배포 라이선스. Appery.io로 대체됨
WebORB 통합 서버C 샤프(프로그래밍 언어), VB.NET, 자바(프로그래밍 언어), PHP, 액션스크립트, 자바스크립트, Objective-C, XML이클립스, 비주얼 스튜디오, intelliJ IDEA 및 Amethyst IDE에서 작동한다.안드로이드, iOS (iPhone, iPad), 블랙베리 플레이북, 윈도우 폰 7온-프레미스무료 개발 라이선스; 무료 및 상용 배포 라이선스


2. 3. 보안 추가 계층

BYOD가 더 많은 기업에서 표준이 되면서, IT 부서는 기존 앱, 휴대폰, 플랫폼 구성 요소 위에 겹쳐지는 임시적이고 전술적인 솔루션을 필요로 하게 되었다. 이러한 솔루션에는 다음과 같은 기능이 포함된다.

  • 보안을 위한 앱 래핑
  • 데이터 암호화
  • 클라이언트 작업
  • 보고 및 통계

2. 4. 시스템 소프트웨어

모바일 앱 개발에는 운영체제 수준의 다양한 시스템 소프트웨어가 필요하다. 다음은 주요 플랫폼 및 관련 도구에 대한 개요이다.

플랫폼프로그래밍 언어디버거에뮬레이터통합 개발 환경 (IDE)크로스 플랫폼 배포설치 패키징개발 도구 비용
어도비 AIRActionScript, HTML, CSS, JavaScript플래시 빌더, 플래시 프로페셔널, IntelliJ IDEA안드로이드, iOS(아이폰, 아이패드, 아이팟 터치), 블랙베리각 플랫폼의 기본 배포 형식플래시 빌더, 플래시 프로페셔널, IntelliJ IDEA (상용 라이선스), 어도비 AIR SDK (무료)
BREWC, C++대상 ARM 코드 에뮬레이터 없음, x86 테스트 코드 시뮬레이터Visual Studio 6.0, Visual Studio 2003 .NET, Visual Studio 2005특정 BREW 버전에 대해 컴파일OTAVeriSign 연간 수수료, Realview ARM 컴파일러 (무료 GNU C/C++ 사용 가능, 기능 및 지원 제한), TRUE BREW 테스트 비용
파이어폭스 OSHTML5, CSS, JavaScript시뮬레이터 사용 가능파이어폭스 브라우저, 파이어버그다른 플랫폼의 웹 브라우저파이어폭스 마켓플레이스, 웹 URL모질라 파이어폭스 및 시뮬레이터 애드온 필요
.NET 컴팩트 프레임워크C#, VB.NET, Basic4ppc무료 에뮬레이터, 소스 코드 사용 가능, IDE와 함께 제공Visual Studio 2008, 2005, 2003, Basic4ppc IDE윈도우 모바일, 윈도우 CE, 타사 도구를 통한 심비안 기반 장치OTA 배포, CAB 파일, ActiveSync대부분 무료, 시각적 디자이너는 Visual Studio 상용 에디션 필요
OpenFLHaxeIntelliJ IDEA, FlashDevelop안드로이드, iOS(아이폰, 아이패드, 아이팟 터치), 블랙베리 플레이북, WebOS, HTML5, 플래시, 윈도우(exe), 리눅스각 플랫폼의 기본 배포 형식무료
팜 OSC, C++, 파스칼OS 1.0–4.1: 무료 에뮬레이터, OS 5.0–5.4: 장치별 시뮬레이터팜 OS 개발 시스템(이클립스), CodeWarrior, PocketStudio, HB++, Satellite Forms팜 OS 휴대용 기기 또는 StyleTap 에뮬레이터를 사용한 윈도우 모바일PRC 파일, PalmSource 설치 프로그램(.psi)무료(POSE 또는 Palm OS용 GCC) 또는 상용(CodeWarrior) 또는 다양한 상용 신속 개발 프레임워크
파이썬파이썬노키아 에뮬레이터의 애드온이클립스용 플러그인을 포함한 여러 가지노키아 Series60에서 기본 사용, 다른 모바일 플랫폼으로 포팅 존재py2sis를 사용한 Sis 배포 또는 Python 런타임 사용 가능무료
심비안C++무료 에뮬레이터다양한 선택대상별로 컴파일SIS 배포상용 및 무료 도구 사용 가능
타이젠웹 기반: HTML5, CSS, JavaScript, 네이티브: C, C++무료 에뮬레이터타이젠 SDK웹 브라우저에서 사용 가능한 웹 기반 앱앱 스토어를 통한 타이젠, 웹 URL윈도우, OS X 또는 Ubuntu 데스크탑 필요
우분투 터치웹 기반: HTML5, CSS, JavaScript, 네이티브: QML, C, C++우분투 SDK웹 브라우저에서 사용 가능한 HTML5 앱앱 스토어를 통한 우분투 터치, 웹 URLUbuntu 데스크탑 12.04 이상, 무료
webOSJavaScript, CSS, HTML, C 및 PDK를 통한 C++무료 에뮬레이터이클립스webOS, 팜 전용OTA 배포, 앱 스토어를 통한 webOS, 웹 URL, Precentral, .ipk무료
윈도우 모바일C, C++무료 에뮬레이터(소스 코드 사용 가능), IDE와 함께 제공Visual Studio 2010, 2008, 2005, eMbedded VC++ (무료), Satellite Forms윈도우 모바일, 윈도우 CEOTA 배포, CAB 파일, ActiveSync무료 명령줄 도구 또는 eMbedded VC++ 또는 Visual Studio(Standard 에디션 이상)
윈도우 폰C#, Visual Basic, C, C++무료 에뮬레이터, IDE와 함께 제공Visual Studio 2012, Visual Studio 2010윈도우 폰OTA 배포, XAP 파일


3. 모바일 앱 테스트

모바일 애플리케이션은 먼저 에뮬레이터를 사용하여 개발 환경 내에서 테스트를 거친 후 현장 테스트를 받는다. 에뮬레이터는 개발자가 물리적으로 접근할 수 없는 휴대폰에서 애플리케이션을 테스트하는 저렴한 방법을 제공한다. 다음은 가장 인기 있는 모바일 운영 체제에서 애플리케이션을 테스트하는 데 사용되는 도구의 예이다.


  • '''구글 안드로이드 에뮬레이터''' - 전체 안드로이드 SDK를 다운로드 및 설치하지 않고도 독립 실행형 앱으로 윈도우 PC에서 실행되도록 패치된 안드로이드 에뮬레이터이다. 설치하여 안드로이드 호환 앱을 테스트할 수 있다.
  • '''공식 안드로이드 SDK 에뮬레이터''' - 일반적인 모바일 장치의 모든 하드웨어 및 소프트웨어 기능을 모방하는 모바일 장치 에뮬레이터이다(호출 제외).
  • '''TestiPhone''' - 아이폰 웹 애플리케이션을 빠르게 테스트하기 위한 웹 브라우저 기반 시뮬레이터이다. 이 도구는 Internet Explorer 7, Firefox 2 및 Safari 3을 사용하여 테스트되었으며 작동한다.
  • '''iPhoney''' - 픽셀 단위로 정확한 웹 브라우징 환경을 제공하며 사파리로 구동된다. 아이폰용 웹 사이트를 개발하는 동안 사용할 수 있다. 아이폰 시뮬레이터가 아니라 아이폰용 320 x 480(또는 480 x 320) 웹사이트를 만들려는 웹 개발자를 위해 설계되었다. iPhoney는 OS X 10.4.7 이상에서만 실행된다.
  • '''블랙베리 시뮬레이터''' - 실제 블랙베리 제품의 기능을 에뮬레이션하고 장치 소프트웨어, 화면, 키보드 및 트랙휠이 애플리케이션과 어떻게 작동하는지 테스트하기 위해 다양한 공식 블랙베리 시뮬레이터를 사용할 수 있다.
  • '''윈도우 UI 자동화''' - 마이크로소프트 UI 자동화 기술을 사용하는 애플리케이션을 테스트하려면 Windows Automation API 3.0이 필요하다. 윈도우 7, 윈도우 서버 2008 R2 및 이후 버전의 윈도우에 사전 설치되어 있다. 다른 운영 체제에서는 윈도우 업데이트를 사용하여 설치하거나 마이크로소프트 웹 사이트에서 다운로드할 수 있다.
  • '''MobiOne Developer''' - 아이폰, 블랙베리, 안드로이드 및 팜 프리와 같은 장치에 모바일 웹 애플리케이션을 코딩, 테스트, 디버깅, 패키징 및 배포하는 데 도움이 되는 윈도우용 모바일 웹 통합 개발 환경 (IDE)이다. MobiOne Developer는 2014년 말에 공식적으로 지원 종료가 선언되었다.[8]


다음과 같은 도구도 있다.

  • eggPlant: 모든 운영 체제 및 장치에서 모바일 앱을 위한 GUI 기반 자동화된 테스트 도구이다.
  • Ranorex: 모바일, 웹 및 데스크톱 앱을 위한 테스트 자동화 도구이다.
  • Testdroid: 모바일 및 웹 앱을 테스트하기 위한 실제 모바일 장치 및 테스트 자동화 도구이다.

4. 성공적인 모바일 앱 개발 원칙

2020년 애플리케이션 산업 보고서에 따르면, 많은 사용자들이 성능 문제로 앱 사용을 중단하거나 삭제하는 것으로 나타났다.[9] 성공적인 모바일 앱 개발을 위해 디자인 전문가들은 다음과 같은 원칙들을 강조한다.[10]


  • 깔끔한 화면: 사용자가 한 가지 작업에 집중할 수 있도록 화면을 구성한다.
  • 인지 부하 감소: 자동 완성 등의 기능을 통해 사용자의 인지적 부담을 줄인다.
  • 간단한 탐색: 사용자가 앱 내에서 쉽게 이동할 수 있도록 명확하고 논리적인 탐색 구조를 제공한다.
  • 알림: 사용자에게 가치 있는 정보를 제공하는 알림을 적절한 시점에 보낸다.
  • 빠른 속도: 앱의 반응 속도를 높여 사용자 경험을 향상시킨다.
  • 사용성: 한 손 조작, 가독성, 접근성 등을 고려하여 편리한 사용 환경을 제공한다.

4. 1. 깔끔한 화면

모바일 앱 사용자 중 46%가 성능 저하로 인해 앱 사용을 중단하거나 삭제했다는 보고가 있다.[9] 디자인 전문가들은 성공적인 모바일 앱을 만들기 위해 사용자가 여러 기능에 압도되지 않고 하나의 특정 작업에 집중할 수 있도록 상호작용을 빠르고 간단하게 유지해야 한다고 말한다. 즉, 화면당 하나의 작업을 처리하고, 긴 양식은 페이지를 나누어 새로운 작업이나 필드를 점진적으로 표시하여 혼란을 최소화해야 한다.[10]

4. 2. 인지 부하 감소

앱을 통한 사용자 여정을 원활하게 만들고 자연스러운 흐름을 유지하기 위해, 디자인 전문가는 자동 완성, 맞춤법 검사, 예측 텍스트 지원, 드롭다운 메뉴 등을 통합하여 사용자의 인지 부하를 줄일 것을 제안한다. 또한, 사용자가 일시적으로 앱을 종료했다가 다시 실행할 때, 앱의 상태가 유지되어 사용자가 중단했던 부분부터 작업을 계속할 수 있도록 권장한다.[10][11]

4. 3. 간단한 탐색

사용자 중 약 11%가 복잡한 인터페이스 때문에 앱을 삭제했다.[9] 디자인 전문가들은 사용자가 자주 사용하고 우선순위가 높은 화면으로 즉시 이동할 수 있도록 앱에서 탐색 바를 눈에 잘 띄게 표시하는 것이 가장 중요하다고 말한다. 메뉴 열기, 설정 변경, 화면 뒤로 가기, 페이지 내 검색과 같은 작업을 사용자가 쉽게 수행할 수 있도록 장치 운영 체제에 특정한 인식 가능한 아이콘을 사용할 것을 제안한다. 사용자는 앱을 탐색하는 동안 혼란스러워해서는 안 되므로, 정돈되고 명확하며 논리적인 탐색 흐름은 앱의 참여와 발견을 유도한다.[10][11]

4. 4. 알림

모바일 앱 사용자의 약 19%가 잦은 푸시 알림으로 인해 앱을 삭제한다고 보고되었다.[9] 디자인 전문가들은 알림을 신중하게 계획하여 보낼 것을 권고한다. 알림은 사용자의 시간대에 가장 편리한 시간에 보내야 하며, 메시지는 사용자에게 큰 가치를 제공할 수 있도록 개인화되어야 한다.[10]

4. 5. 빠른 속도

2020년 애플리케이션 산업 보고서에 따르면, 사용자 중 약 19%가 멈춤 문제로 인해 앱을 삭제한다고 밝혔다.[9] 디자인 전문가들은 앱이 빠르고 반응성이 좋아 사용자가 콘텐츠를 기다릴 필요가 없도록 하는 것이 중요하다고 강조한다. 콘텐츠를 더 빠르게 전달하거나 진행 상황을 사용자가 느낄 수 있도록 해야 한다고 말한다. 전문가들이 제안하는 몇 가지 접근 방식은 다음과 같다.[10]

  • 콘텐츠가 회색으로 표시된 앱의 레이아웃을 보여주는 스켈레톤 화면 사용
  • 프로그레스 바 또는 로딩 스피너 사용
  • 백그라운드에서 작업을 수행하고 사용자가 요청할 때 콘텐츠를 빠르게 제공
  • 페이지를 로드하는 동안 사용자에게 몇 가지 작업이나 콘텐츠를 제공

4. 6. 사용성

모바일 앱 사용자의 85%가 한 손으로 휴대전화를 사용하므로,[9] 최상위 메뉴, 자주 사용하는 컨트롤 및 일반적인 작업 항목은 사용자의 엄지손가락이 닿는 범위 내에 있어야 한다.[10] 또한 가독성을 위해 사용자가 확대하지 않고 일반적인 독서 거리에서 읽을 수 있도록 텍스트 크기를 최소 11포인트로 하는 것이 좋다.[10] 앱 화면의 머리글과 제목은 iOS와 Android OS에서 각각 San Francisco 17pt 및 Roboto 16sp로 하는 것이 좋다.[11] 텍스트와 배경색 사이에는 최소 4.5:1의 대비율이 있어야 한다.[10]

장애가 있는 사람들을 포함한 모든 사용자가 앱에 접근할 수 있도록 가상 비서 음성 탐색, 스크린 리더 호환성, 모바일 앱의 사용자 인터페이스 적응성과 같은 기능을 추가하는 것이 권장된다.[11]

5. 특허

새로운 모바일 앱에 대한 많은 특허 출원이 계류 중이다. 이 중 대부분은 비즈니스 모델, 데이터베이스 관리, 데이터 전송 및 사용자 인터페이스와 같은 기술 분야에 속한다.[12]

참조

[1] 웹사이트 Introduction to Mobile Application Development {{!}} IBM https://www.ibm.com/[...] 2023-06-24
[2] 웹사이트 Essential Aspects to Consider While Designing Mobile Apps {{!}} GlobalLogic UK https://www.globallo[...] GlobalLogic UK 2023-06-24
[3] 웹사이트 What is a mobile app (mobile application)? – TechTarget Definition https://www.techtarg[...] 2023-06-24
[4] 웹사이트 The App Economy in Europe: Leading Countries and Cities, 2017 https://www.progress[...] 2024-10-03
[5] 웹사이트 Launching Your App on Devices https://developer.ap[...] 2016-04-30
[6] 웹사이트 Microsoft rebrands Xamarin Studio as Visual Studio for Mac https://winaero.com/[...] Winaero 2023-03-05
[7] 웹사이트 Microsoft makes Visual Studio for Mac generally available https://www.zdnet.co[...] ZDNet 2023-04-02
[8] 웹사이트 MobiOne Developer 1.0 M4: Create App Store-ready Mobile Web Applications, Experience True Device Behavior on Windows https://www.prweb.co[...] PRWeb 2021-05-31
[9] 웹사이트 Apps Statistics, Usage & Downloads (2020 report) https://saasscout.co[...] 2024-02-20
[10] 웹사이트 15 Mobile App Design Best Practices https://www.thoughts[...] 2024-02-20
[11] 웹사이트 The best mobile app design: Examples https://qubika.com/b[...] 2024-02-20
[12] 뉴스 Increasing Allowance Rates by Selectively Targeting Patent Class http://ipwatchdog.co[...] IPwatchdog 2011-04-06
[13] 간행물 European App Economy VisionMobile, Plum Consulting 2013-09



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com