피카부 RSS 태그 관리 글쓰기 방명록 다시 시작하는 개발 블로그
2017-06-16 11:13:00

시작하며

당신은 스마트 폰을 가지고 있습니까? 이제 스마트 폰 보급률은 70%를 넘어 계속해서 증가 중입니다. 이와 더불어 시장 규모가 급속히 확대되고 있는 것이 "스마트 폰 앱"입니다. 스마트 폰 앱 개발은 누구에게나 공개되어 있으며 누구라도 개발에 참가할 수 있습니다. 본 포스팅에서는 현재 가장 큰 시장인 앱 플랫폼(Android, iOS, Windows)의 앱 개발에 사용할 수 있는 언어를 소개합니다.

Android 앱

Java

Android앱 개발에서 가장 많이 사용되는 것은 아마도 Java일 것입니다. 원래의 Java와는 실행 엔진이 다르지만, 언어 사양적으로는 거의 동등하다고 생각해도 됩니다. API도 원래 Java를 계승하고 있어 평소 Java를 사용하는 분은 무리 없이 개발할 수 있습니다. 개발 IDE는 Google에서 무상 제공되고 있는 "Android Studio"를 사용할 수 있습니다. IntelliJ IDEA를 베이스로 되어 있어 보기에도 편합니다. UI 디자이너도 통합되어 있으므로, XML을 안 써도 화면의 설계가 가능합니다.

JavaScript

Android앱에는 "Cordova"를 비롯한 다수의 체제가 있고 JavaScript를 사용한 개발도 가능합니다. 이 경우 화면의 설계에는 HTML과 CSS를 사용합니다. JavaScript으로부터 네이티브 API을 불러와야 하는 설계상, Java보다 퍼포먼스가 떨어지는 경우가 있으므로 실행 속도가 중요한 경우에는 주의가 필요합니다.

C#

Windows 개발에서만 사용할 수 있다고 생각되기 십상인 C#은 "Xamarin"을 사용하면 Android 앱 개발이 가능하게 됩니다. 빌드 시 네이티브 코드로 컴파일되기 때문에 실행 속도도 빠릅니다. 개발은 "Visual Studio"로 하고 통합된 UI디자이너에서 화면도 설계할 수 있습니다. Xamarin, Visual Studio 함께 무료로 사용할 수 있습니다 (※일부 조건 있음).

iOS 앱

Objective-C

iOS앱은 원래 Objective-C를 개발 언어로 하고 있었습니다. 현재는 아래에서 언급할 Swift로 대체되고 있지만 과거 많은 개발자들이 아직도 사용하고 있기 때문에 Objective-C도 사용할 수 있습니다. 하지만 문법이 독특하고 진입장벽이 높아 신규로 개발하는 앱에는 추천할 수 없습니다. 신규 개발에는 Swift를 추천합니다.

Swift

Objective-C을 대체할 수 있도록 새로게 Apple이 개발한 언어가 Swift입니다. 객체 지향을 바탕으로 함수형 등의 모던한 기능도 도입했으며 Objective-C보다 사용하기 쉬운 언어로 완성되어 있습니다. 개발에는 무료 Mac IDE인 "Xcode"를 사용하기 때문에 Windows에서는 개발 할 수 없습니다.

JavaScript

Android앱과 마찬가지로 iOS앱도 "Cordova"등의 체제가 있어 JavaScript+HTML+CSS로 개발이 가능합니다. 단, 안드로이드와 다른 점은 개발 자체는 Windows에서도 문제 없지만, 빌드는 Mac에서 실시할 필요가 있습니다. Windows에서 밖에 개발하지 못하는 경우에는 빌드 서비스를 사용해야 합니다. "Monaca"등 개발 환경과 통합된 서비스도 있습니다.

C#

Android 앱에서도 소개한 "Xamarin"은 iOS에도 대응하고 있어, 네이티브 앱 출력이 가능합니다. Xamarin의 API는 네이티브 API의 얕은 래퍼이기 때문에 원래 API와 가까운 구현이 가능합니다. C#과 자연스럽게 조화되어 있어 C#을 사용했던 분은 다루기가 편합니다.

Windows 10 Mobile 앱(UWP 앱)

C#

스마트 폰 용 OS인 "Windows 10 Mobile"에서는 Universal Windows Platform(UWP)앱이 동작합니다. UWP 앱은 Windows 10 패밀리에서 동작하는 앱의 총칭입니다. 스마트 폰 외에 컴퓨터와 태블릿, Xbox, HoloLens등의 다양한 디바이스에서 동작합니다. UWP앱은 C#으로 개발할 수 있습니다. 또, 화면의 설계에는 HTML과 비슷한 XAML이라는 전용의 마크업 언어를 사용합니다. 개발 툴은 "Visual Studio"입니다.

Visual Basic

UWP앱은 Visual Basic에서도 개발할 수 있습니다. C#과 마찬가지로 개발이 가능하므로 평소 VB를 사용하던 분은 익숙한 언어로 개발 할 수 있습니다. 또한 UWP애플리케이션의 개발에는 Windows 10이 필요합니다.

JavaScript

UWP앱은 JavaScript에서도 만들 수 있습니다. 주로 웹 개발을 하는 분은 JavaScript쪽이 능슥할 것이라고 보입니다. JavaScript를 사용하는 경우에는 화면의 설계에 XAML이 아니라 HTML과 CSS를 사용할 수 있는 것도 장점입니다.