모바일 앱 개발
"오늘의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에 통합된 디버거 | 예 | 이클립스, 블랙베리 JDE | RIM API 때문에 블랙베리만 해당 | alx, cod | 무료 |
iOS SDK | Objective-C, 스위프트 | Xcode IDE에 통합된 디버거 | iPhone SDK에 번들로 제공, Xcode IDE와 통합 | Xcode, AppCode | 아이폰, 아이패드, 아이팟 터치 | App Store를 통해서만 가능, 애플의 검토 및 승인 필요 | 애플 도구는 인텔 기반 Mac에서 무료 제공. 시뮬레이터 테스트는 무료, 기기 설치는 개발자 서명 키 수수료 필요. AppCode - 상용 라이선스 사용 가능. 2015년부터 애플은 개발자 유료 멤버십 없이도 사용자 기기에 앱 설치 허용.[5] |
iOS SDK | Object Pascal | Xcode 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 파일 | 무료 |
Accelerator | HTML5, C# | 예 | 예 | 마이크로소프트 비주얼 스튜디오 | 모든 플랫폼, 모바일 앱은 브라우저 기반 | 모바일 웹 | 상용 라이선스 |
MobileTogether | XPath/XQuery, 액션 트리 시각적 프로그래밍 언어 | 예 | 예 | 윈도우에서만 독점적인 IDE | 안드로이드, iOS, 윈도우, 브라우저 | 각 형식에 대한 네이티브 배포 | 무료 |
안드로이드용 앱 인벤터 | 인터페이스 디자이너와 함께 시각적 블록 기반 프로그래밍 언어 | IDE에 내장된 제한적인 디버깅 도구 | 예 | 블록 프로그래밍을 위한 Java 웹 시작 프로그램과의 연결을 갖춘 웹 기반 인터페이스 디자이너 | 안드로이드 기기 | apk | 무료 |
Appcelerator | 자바스크립트 | 예, Titanium Studio에서. | 네이티브 에뮬레이터를 사용하여 에뮬레이터 사용 가능 | 이클립스 기반 Titanium Studio | 안드로이드, 아이폰; 블랙베리, 타이젠, 모바일 웹 | 각 플랫폼의 네이티브 배포 형식 | 무료, 오픈 소스 Apache 2.0 라이선스, 상용 및 엔터프라이즈 라이선스 사용 가능 |
Basic4android | Visual Basic 유사 구문 | 예 | 네이티브 에뮬레이터를 사용하여 에뮬레이터 사용 가능 | 독점적인 IDE | 안드로이드 | 각 플랫폼의 네이티브 배포 형식 | 상용 라이선스 |
Codename One | 자바 | 예 | 예 | 이클립스, 넷빈 | 안드로이드, 아이폰, 블랙베리, 윈도우 모바일, J2ME | 각 플랫폼의 네이티브 배포 형식 | 오픈 소스 GPLv2 및 구독 기반 빌드 서버 |
Solar2D | Lua | 예 | 예 | Xcode | 안드로이드, iOS, 누크 컬러 | 각 플랫폼에 대한 네이티브 배포 | MIT 라이선스를 사용하여 무료 |
DragonRAD | 시각적 드래그 앤 드롭 타일 | 예 | 타사 에뮬레이터 사용 | 독점적인 IDE | 안드로이드, 블랙베리, 윈도우 모바일 | OTA 배포 | 무료 및 상용 라이선스 |
GeneXus for Mobile and Smart Devices | 지식 표현 및 선언적 프로그래밍 - 쉬운 개발을 위한 모델링, 그런 다음 각 플랫폼에 대해 코드가 자동으로 생성됨 | GeneXus는 사전 테스트된 코드 라이브러리를 활용하며 코드 생성 후에는 사용자 코드 디버깅이 필요하지 않음. | 클라우드에 게시, 장치에서 네이티브 테스트, 에뮬레이터 필요 없음 | 독점적인 IDE | 안드로이드, iOS (아이폰, 아이패드), 블랙베리 OS, 필요한 경우 HTML5까지 | 각 플랫폼의 네이티브 배포 형식 및 클라우드 브라우저 기반 | 무료 체험, 상용 및 엔터프라이즈 라이선스 |
IBM MobileFirst Studio | HTML5, CSS3, 자바스크립트, 네이티브 SDK 언어 w/ 네이티브 Worklight API | 예, 모바일 브라우저 시뮬레이터 또는 네이티브 SDK 디버거와의 통합 | 네이티브 에뮬레이터 또는 Cordova 플러그인을 사용한 브라우저 시뮬레이터를 사용하여 에뮬레이터 사용 가능 | 이클립스 플러그인, 이클립스 기반 독립 실행형 | 안드로이드, iOS, 블랙베리 6,7, & 10, 윈도우 폰 7.5 & 8, 윈도우 8 (데스크톱, 태블릿), 어도비 AIR, 모바일 웹 앱, 데스크톱 브라우저 웹 페이지 | 각 플랫폼의 네이티브 배포 형식 | 이클립스 마켓플레이스를 통해 개발자 에디션 무료, 배포를 위한 상용 라이선스 |
라자루스 | 오브젝트 파스칼 | 예, 윈도우 CE용 ActiveSync를 통해 IDE에서 디버그 가능 | 플랫폼의 에뮬레이터 사용 | 라자루스 IDE, 통합 GUI 디자이너 및 디버거 포함 | 컴파일된 언어 윈도우 CE, 리눅스 기반 장치, 개발 중인 심비안 포트 | 각 플랫폼의 네이티브 배포 형식 | 무료 |
LambdaNative | Scheme | 아니요 | 아니요, 하지만 로컬 호스트에서 빌드 및 테스트 가능 | 이클립스 (소프트웨어) (선택 사항) | 모든 네이티브 바이너리: 안드로이드, iOS, 블랙베리 10, 윈도우, OS X, 리눅스, OpenBSD, OpenWrt | 각 플랫폼의 네이티브 배포 형식 | 무료 (BSD 라이선스) |
LiveCode | LiveCode | 예 (IDE에 통합됨) | 예 (iOS 및 안드로이드 에뮬레이터 사용 가능) | 예 | iOS, 안드로이드, macOS, 윈도우, 리눅스, 서버, HTML5. 설치 프로그램 패키징 | 각 플랫폼의 네이티브 배포 형식 | 무료 오픈 소스 에디션, 상용 및 엔터프라이즈 에디션 |
매크로미디어 플래시 라이트 | 액션스크립트 | 예 | IDE와 함께 제공 | 매크로미디어 플래시 MX2004/8, 이클립스 | 예 | SIS-CAB 배포 또는 OTA-IR-블루투스 SWF 파일 | 다양함, 무료이지만 MTASC로 제한됨 |
마멀레이드 | C, C++ | 예 | 예 | 비주얼 스튜디오, Xcode | 모든 네이티브: 안드로이드, 블랙베리, BREW, iOS (아이폰), 마에모, 팜-웹OS, 삼성 바다, 심비안, 윈도우 모바일 6.x 및 데스크톱, OS X | 각 플랫폼의 네이티브 배포 형식 | 상용 라이선스 |
밈 IDE | MemeScript | 문제 보기에 유효성 검사가 제공됨 | 예, 안드로이드 에뮬레이터 통합 가능 | 이클립스 RCP | 안드로이드, 윈도우 모바일 | 각 플랫폼의 네이티브 배포 형식 | 개발에 무료 |
Monaca | HTML5, CSS, 자바스크립트 | 예 | 클라우드 기반 IDE 및 로컬 도구에서 미리 보기 가능 | 클라우드 기반 IDE, 비주얼 스튜디오, 타사 IDE/편집기 | 안드로이드, iOS, 윈도우8.1, 10 | 각 플랫폼의 네이티브 배포 형식 | 최대 3개의 프로젝트는 무료. 상용 및 엔터프라이즈 라이선스 |
안드로이드용 모노 | C# | 예 | 예 | 비주얼 스튜디오 2005 및 MonoDevelop | 안드로이드 | 플랫폼의 네이티브 배포 형식 | |
MonoTouch | C# | 예 | 예 | 비주얼 스튜디오 2005 및 MonoDevelop | iOS | 플랫폼의 네이티브 배포 형식 | |
MoSync | C, C++, Lua, HTML5, CSS, 자바스크립트 | 예 | 예 | 이클립스, 비주얼 스튜디오 2005 이상, 텍스트 편집기를 사용한 MoBuild | 안드로이드, iOS (아이폰), 자바 ME, 모블린, 스마트폰 2003, 심비안, 윈도우 모바일 (포켓 PC), 블랙베리 (실험적) | SIS, CAB, JAD, JAR, APK, OTA 배포 | 무료, GPL 2.0, 무료 인디 구독; 상용 구독 가능 |
NetBeans | C++, 자바 | 예 | 예 | 자바 개발 도구 | 안드로이드(모바일 및 태블릿), 노키아(심비안, 세리아 60 – 40 – 80) 등... | 무료 | |
OpenPlug | 액션스크립트, XML | 예 | 예 | 어도비 플래시 빌더용 OpenPlug ELIPS 플러그인 | 안드로이드, iOS (아이패드, 아이폰, 아이팟 터치), 심비안, 윈도우 모바일 | 각 플랫폼의 네이티브 배포 형식 | 무료 및 상용 라이선스 |
OutSystems | OutSystems, CSS, 자바스크립트 | 예 | 브라우저에서 직접 테스트 | OutSystems 서비스 스튜디오 | 안드로이드, iOS, 윈도우 폰 7 | 해당 없음 | 개인 용도로는 무료 커뮤니티 에디션, 상업적 사용을 위한 구독 라이선스 |
PhoneGap 및 아파치 코르도바 | HTML, CSS, 자바스크립트 | 예 | 예, 브라우저에서 직접 테스트할 수 있는 기능이 많습니다. iOS 및 안드로이드에서 네이티브 에뮬레이터를 실행하는 것도 가능합니다. | 예, Ionic Studio 또는 Appery.io와 같은 Cordova 기반 도구에 많은 IDE가 있습니다. | 아이폰, 안드로이드, 타이젠, 윈도우 폰, 블랙베리, 심비안, 팜, 바다 | 각 플랫폼의 네이티브 배포 형식 | 아파치 2 |
Qt SDK | C++, QML | 예 | 예 | Qt 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, .COD | Rhodes는 MIT 라이선스에 따라 무료이며 오픈 소스이며 RhoSync는 GPL 또는 상용 라이선스이며 RhoHub에 대한 상용 지원이 제공됩니다. |
RubyMotion | 루비 | 예 | 예 | 모든 텍스트 편집기. IDE로 RubyMine. | 안드로이드, iOS | 플랫폼의 네이티브 배포 형식 | RubyMotion은 상용 제품입니다. |
Sencha Touch | HTML, CSS, 자바스크립트 | 예 | 예 | Sencha Architect 2 | 안드로이드, iOS (아이폰, 아이패드, 아이팟 터치), 킨들, 블랙베리, 바다 | 웹으로 제공되거나 각 플랫폼에 대한 네이티브 셸을 통해 하이브리드 | GPLv3, 상업용으로 무료, OEM 및 임베디드 시스템 유료 |
Smartface | WYSIWYG 디자인 편집기 및 자바스크립트 코드 편집기 | 예 | 예 | Smartface IDE 및 SDK | 예, 안드로이드, iOS (아이폰, 아이패드, 아이팟 터치), 킨들, 기어, 구글 글래스 | 각 플랫폼의 네이티브 배포 형식 | 커뮤니티 라이선스 및 상용 라이선스 |
Stencyl | Scratch 기반의 드래그 앤 드롭 편집기, Objective-C | 예 | 예 | Xcode | iOS (아이패드, 아이폰, 아이팟 터치) | 각 플랫폼의 네이티브 배포 형식 | 무료 및 상용 개발 라이선스 |
Telerik Platform, 및 AppBuilder | HTML5, CSS 및 자바스크립트 | 예 | 브라우저 또는 장치에서 직접 테스트 | 인 브라우저 클라이언트, 데스크톱 클라이언트, 비주얼 스튜디오, 서브라임 텍스트 또는 명령줄 인터페이스(CLI) | 안드로이드, iOS, 윈도우 폰 | 각 플랫폼의 네이티브 배포 형식 | 무료 체험, 상용 및 엔터프라이즈 라이선스 |
Unity | C#, 자바스크립트, Boo, 기타 .NET 기반 언어 | 예 | 앱을 장치에 업로드하기 전에 장치 상호 작용을 시뮬레이션하는 데 원격으로 사용됩니다. | 유니티 에디터, 비주얼 스튜디오 및 MonoDevelop에서도 작동합니다. | 안드로이드, iOS (아이폰, 아이패드), PC, 맥, 데스크톱 브라우저, Xbox 360, PS3, Wii. 블랙베리 플레이북, 노키아 심비안, Roku 2 및 회사의 Union 프로그램을 통해 제공되는 기타. | 각 플랫폼의 네이티브 배포 형식 | 무료 및 상용 개발 라이선스. |
Verivo AppStudio | WYSIWYG, 그래픽 드래그 앤 드롭, 자바스크립트, .NET 기반 언어. Appery.io로 대체됨 | 예 | 브라우저 또는 장치에서 직접 테스트 | 독점적인 디자인 스튜디오 | 안드로이드, iOS, 블랙베리 | 각 플랫폼의 네이티브 배포 형식 | 무료 개발 라이선스; CPU당 배포 라이선스 |
ViziApps | WYSIWYG, 그래픽 드래그 앤 드롭 | 예 | 브라우저 또는 장치에서 직접 테스트 | 온라인 디자인 스튜디오 | 안드로이드, iOS, 윈도우 폰 계획 | 각 플랫폼의 네이티브 배포 형식 | 디자인, 테스트, 데모, 업데이트, 앱은 무료; 게시 요금 |
V-Play Engine | Objective C, C++, 자바스크립트, QML, 자바 | 예 | 예 | Qt Creator | 모든 플랫폼 | 각 플랫폼의 네이티브 배포 형식 | 무료, 인디 및 엔터프라이즈 라이선스 |
Wakanda | HTML5, 자바스크립트 | 예 | 예 | 예, Wakanda Studio | 안드로이드, iOS, 윈도우 10 (곧) 및 브라우저 기반 앱 | apk | 오픈 소스 및 상용 라이선스 |
Xamarin | C# | 예 | 예 | Xamarin Studio(Mac에서만; 더 이상 사용되지 않음), Visual Studio (Windows에서만), Visual Studio for Mac (Mac에서만; Xamarin Studio를 대체함)[6][7] | 안드로이드, iOS, 윈도우 폰, 윈도우 스토어 앱 | 각 플랫폼의 네이티브 배포 | 무료 커뮤니티 에디션, Microsoft MSDN 라이선스에 포함된 프로 에디션 |
Xojo | Xojo (VB와 유사) | 예 | 예 | Xojo IDE | iOS, 모바일 웹 앱 | iOS 앱은 네이티브 아이패드 | 시간 제한 없이 무료 평가판; 상용 라이선스 |
2. 1. 3. 3차 개발 도구
3차 개발 도구는 여러 플랫폼을 지원하는 크로스 플랫폼 개발 도구이다. 다음은 주목할 만한 3차 개발 도구 목록이다.개발 도구 | 프로그래밍 언어 | 디버거 | 에뮬레이터 | 통합 개발 환경 | 크로스 플랫폼 배포 | 설치 프로그램 패키징 | 개발 도구 비용 |
---|---|---|---|---|---|---|---|
MobileTogether | XPath/XQuery, 액션 트리 시각적 프로그래밍 언어 | 예 | 예 | 윈도우에서만 독점적인 IDE | 안드로이드, iOS, 윈도우, 브라우저 | 각 형식에 대한 네이티브 배포 | 무료 |
Appcelerator | 자바스크립트 | 예 | 네이티브 에뮬레이터를 사용하여 에뮬레이터 사용 가능 | 이클립스 기반 Titanium Studio | 안드로이드, 아이폰, 블랙베리, 타이젠, 모바일 웹 | 각 플랫폼의 네이티브 배포 형식 | 무료, 오픈 소스 Apache 2.0 라이선스, 상용 및 엔터프라이즈 라이선스 사용 가능 |
Xamarin | C# | 예 | 예 | 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 Server | HTML5, 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) | 크로스 플랫폼 배포 | 설치 패키징 | 개발 도구 비용 |
---|---|---|---|---|---|---|---|
어도비 AIR | ActionScript, HTML, CSS, JavaScript | 예 | 예 | 플래시 빌더, 플래시 프로페셔널, IntelliJ IDEA | 안드로이드, iOS(아이폰, 아이패드, 아이팟 터치), 블랙베리 | 각 플랫폼의 기본 배포 형식 | 플래시 빌더, 플래시 프로페셔널, IntelliJ IDEA (상용 라이선스), 어도비 AIR SDK (무료) |
BREW | C, C++ | 예 | 대상 ARM 코드 에뮬레이터 없음, x86 테스트 코드 시뮬레이터 | Visual Studio 6.0, Visual Studio 2003 .NET, Visual Studio 2005 | 특정 BREW 버전에 대해 컴파일 | OTA | VeriSign 연간 수수료, Realview ARM 컴파일러 (무료 GNU C/C++ 사용 가능, 기능 및 지원 제한), TRUE BREW 테스트 비용 |
파이어폭스 OS | HTML5, CSS, JavaScript | 예 | 시뮬레이터 사용 가능 | 파이어폭스 브라우저, 파이어버그 | 다른 플랫폼의 웹 브라우저 | 파이어폭스 마켓플레이스, 웹 URL | 모질라 파이어폭스 및 시뮬레이터 애드온 필요 |
.NET 컴팩트 프레임워크 | C#, VB.NET, Basic4ppc | 예 | 무료 에뮬레이터, 소스 코드 사용 가능, IDE와 함께 제공 | Visual Studio 2008, 2005, 2003, Basic4ppc IDE | 윈도우 모바일, 윈도우 CE, 타사 도구를 통한 심비안 기반 장치 | OTA 배포, CAB 파일, ActiveSync | 대부분 무료, 시각적 디자이너는 Visual Studio 상용 에디션 필요 |
OpenFL | Haxe | 예 | 예 | IntelliJ IDEA, FlashDevelop | 안드로이드, iOS(아이폰, 아이패드, 아이팟 터치), 블랙베리 플레이북, WebOS, HTML5, 플래시, 윈도우(exe), 리눅스 | 각 플랫폼의 기본 배포 형식 | 무료 |
팜 OS | C, 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 앱 | 앱 스토어를 통한 우분투 터치, 웹 URL | Ubuntu 데스크탑 12.04 이상, 무료 |
webOS | JavaScript, CSS, HTML, C 및 PDK를 통한 C++ | 예 | 무료 에뮬레이터 | 이클립스 | webOS, 팜 전용 | OTA 배포, 앱 스토어를 통한 webOS, 웹 URL, Precentral, .ipk | 무료 |
윈도우 모바일 | C, C++ | 예 | 무료 에뮬레이터(소스 코드 사용 가능), IDE와 함께 제공 | Visual Studio 2010, 2008, 2005, eMbedded VC++ (무료), Satellite Forms | 윈도우 모바일, 윈도우 CE | OTA 배포, CAB 파일, ActiveSync | 무료 명령줄 도구 또는 eMbedded VC++ 또는 Visual Studio(Standard 에디션 이상) |
윈도우 폰 | C#, Visual Basic, C, C++ | 예 | 무료 에뮬레이터, IDE와 함께 제공 | Visual Studio 2012, Visual Studio 2010 | 윈도우 폰 | OTA 배포, XAP 파일 |
모바일 애플리케이션은 먼저 에뮬레이터를 사용하여 개발 환경 내에서 테스트를 거친 후 현장 테스트를 받는다. 에뮬레이터는 개발자가 물리적으로 접근할 수 없는 휴대폰에서 애플리케이션을 테스트하는 저렴한 방법을 제공한다. 다음은 가장 인기 있는 모바일 운영 체제에서 애플리케이션을 테스트하는 데 사용되는 도구의 예이다.
3. 모바일 앱 테스트
다음과 같은 도구도 있다.
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