글쓰는 개발자
앱 개발을 위해선 어떤 언어를 공부해야 할까? 본문
개발이라는 것은 꽤나 분야가 다양하다. 그 중 앱 개발은 크게 안드로이드 iOS 두갈래로 나뉘어 진다.
안드로이드는 java 혹은 Kotlin이라는 언어를 배워야 하고 iOS는 Objective C 혹은 Swift라는 언어를 배워야 한다. 뿐만 아니라 안드로이드는 UI를 xml 형태로 구성하기 때문에 xml도 기본적으로 배워야 하고 iOS는 Xcode의 UI 디자인도 공부해야 할 필요가 있다. 이러한 문제 때문에 하나의 플랫폼에서만 개발해도 양쪽 모두에 적용할 수 있는 cordovar, xamarin, react-native, flutter 같은 다양한 프레임워크가 생겨나게 된다.
Cordovar 같은 경우 앱의 껍데기를 가진 웹앱을 개발하는데 사용된다. 웹앱이기 때문에 웹 기반 언어들인 javascript, css등을 사용할 수 있으며 플랫폼에 종속되지 않는 장점이 있다. 하지만 웹뷰만을 사용하기 때문에 디바이스의 특정 기능들을 사용하는데 상당한 제약이 존재한다. xamarin의 경우 네이티비의 모든 객체가 C# 라이브러리로 래핑되어 있기 때문에 android와 iOS를 왔다 갔다 할 필요가 없고 Visual Studio를 이용해 앱을 개발 할 수 있다는 장점이 존재한다. 반면에 react-native를 사용하는 경우는 react 프레임워크를 기반으로 한 웹 기반 언어를 그대로 사용할 수 있으며 브리지를 통해 연결하면 android나 iOS의 디바이스 종속성이 있는 기술들도 사용가능하다는 장점이 존재하지만 결국 세부적인 기능을 사용하기 위해서는 android와 iOS를 조금씩 공부해야 한다는 단점이 존재한다.
이렇게 앱 개발시 각 환경의 네이티브언어를 사용하지 않는 대신에 포기해야 할 단점들이 조금씩 존재하지만 내가 선택한 프레임워크는 리액트 네이티브였다. 그 이유는 웹 기반 언어를 그대로 사용가능하고 그럼에도 불구하고 네이티브의 성능을 그대로 사용할 수 있기 때문이었다. 하지만 이를 위해 리액트라는 프레임워크를 새로 배워야 한다는 문제점이 있었지만 결국 생각해보면 이는 나중에 큰 장점이되었던것 같다.
그 이유는 리액트 네이티브는 90% 가까이 리액트 라는 프레임 워크를 사용하며 리액트를 익혀두면 결국 웹 개발도 할 수 있기 때문이다. 물론 상황과 취향에 따라서 조금씩 다를수 있기만 개인적으로는 리액트 네이티브를 배워보는 것을 강력히 추천하며 이를 위한 튜토리얼 강좌를 하나씩 올려볼 예정이다.
'Development > React Native' 카테고리의 다른 글
[React Native] Image 사용 (0) | 2024.05.22 |
---|---|
리액트 네이티브 설치 및 실행 (0) | 2020.04.04 |