Realm Blog

모바일 앱을 위한 리액티브 플랫폼: Realm 프로페셔널 버전

Realm의 목표는 개발자들이 더 나은 앱을 쉽고 빠르게 개발할 수 있도록 하는 것 입니다. 라이브 객체를 사용하는 네이티브 앱을 개발자들이 쉽게 개발하고, 실시간 데이터 동기화를 쉽게 구현할 수 있으며, 데이터 변화에 따라 서버 사이드 로직을 쉽게 동작시키고, 복잡한 기능들이 서로 연동이 가능하게 모바일 인터넷을 위한 더 강력한 데이터 계층을 만드는 것이 우리의 목표입니다. 이를 이루기 위해 Realm 모바일 플랫폼의 구성요소와 특성들도 Realm 모바일 데이터베이스처럼 꾸준히 열심히 개발해왔습니다.

개발자분들을 위한 두 뉴스가 있습니다. 이를 통해 더 많은 개발자들이 Realm을 쉽고 빠르게 앱에 적용할 수 있게될 것입니다. 먼저, 오늘 Realm 모바일 플랫폼의 프로페셔녈 버전을 새롭게 선보입니다. 이 제품은 Realm 플랫폼의 장점과 새로운 가격을 가지고 큰 규모의 개발자들인 여러 분들을 찾아갑니다. 또한, IBM과 협력의 결과를 보여주게 되었습니다. 스캐너앱은 프로페셔녈 버전을 위한 멋지고 새로운 데모 앱입니다. Realm과 IBM 왓슨을 통합하여 복잡한 이미지 처리를 포함하는 반응형 앱을 만들기 위한 오픈소스 템플릿을 개발자들에게 제공해줍니다.

Realm 모바일 플랫폼 프로페셔녈 버전

프로페셔녈 버전은 중간 크기의 앱과 사업들을 위한 Realm 모바일 플랫폼의 새 버전입니다. 이는 자동 실시간 데이터 동기화 등의 무료 개발자 판의 특성 이외에도 이벤트 핸들링과 서버 사이드 데이터 접근 등의 다양한 핵심 특성을 추가하였습니다. 이 개발자 판은 실시간 앱에 이런 특성을 사용하고 싶지만 아직 규모는 크지 않고 엔터프라이즈 버전의 큰 규모용 회사의 특성등은 필요 없는 고객에게 적합합니다. 60일 무료 버전인 프로페셔녈 버전을 오늘 받아보세요.

개발자 판의 출시는 우리가 지속적으로 따라야 할 패턴을 수립합니다. Realm의 특성과 기능들을 점차 아래로 흐르게하고 새로운 가격과 패키지를 만들어 더 많은 개발자가 접근할 수 있게 합니다. 이제 Realm 모바일 플랫폼은 세가지 버전으로 제공됩니다. 개발자 버전은 완전히 무료고 누구나 쓸 수 있습니다. 프로페셔널 버전은 더 강력한 기능을 가지고 있고 중간 크기의 사업을 목표로 하며 수천의 동시 사용자를 지원하고 월당 $1500에서 시작합니다. 전체 기능을 가진 엔터프라이즈 버전은 더 많은 사용자와 더 복잡한 앱을 지원하고 사용 케이스에 따라 가격을 달리 합니다. 우리는 고객들의 다양한 요구를 이해하려 노력하고 있습니다. 여러 버전이나 가격에 대한 궁금증은 여기로 문의해주세요.

스캐너: IBM과의 협업

초기 버전의 전문가 버전으로 IBM에게 연락했을 때 그들은 매우 흥미로워 했고 매우 빠르게 대응했습니다. 그 결과는 스캐너 앱이 탄생 했습니다. Realm 데모 앱으로 무엇이든지 찍고, 복잡한 서버 측 이미지 처리 결과를 바로 확인할 수 있습니다. 이 이미지 처리는 이미지 분류, 안면 인식, 문자열 인식을 포함합니다. 이 앱은 프로페셔널 버전의 핵심 기능인 실시간 데이터 동기화와 이벤트 처리와 IBM의 왓슨 시각 인식 API를 활용합니다. 다양한 실시간 앱에서 이런 기능을 이런 적은 코드를 구현할 수 있습니다. VR 애플리케이션을 위한 지역 판별, 보안을 위한 얼굴 인식, 산업이나 과학 응용을 위한 이미지 분류, 소매 영역에서 라벨 읽기 등을 상상해보세요. 하지만 상상에 너무 많은 시간을 쓰지 말고 직접 해보세요. 데모 애플리케이션과 (스위프트와 안드로이드로 된) 모든 코드는 오픈 소스 프로젝트로 자유롭게 사용할 수 있습니다. 튜토리얼로 시작할 수도 있습니다. IBM 팀은 또 동작하는 앱의 비디오를 포함한 협엽에 관한 블로그를 개재하였습니다.

이 스캐너 앱은 Realm 모바일 플랫폼이 제공하는 매우 일반화된 패턴을 사용합니다. 이를 API 모바일화 (API mobilization)라고 부르며 “API 브릿징”이라고도 합니다. 개발자들은 높은 반응성과 훌륭한 UX 를 지원하는 모바일 앱을 원하며 앱은 기존의 API들에 안정적으로 동기화되어 동작하길 원할 때 사용합니다. 기존 API는 IBM 왓슨과 같은 현대적인 서비스도 될 수 있으며 조직 내의 오래된 시스템도 해당합니다. 모바일 개발자가 마주치는 문제는 모든 네트워크 요청이 비동기적이고 실패할 수 있다는 점입니다. 많은 조직이 특정한 순서로 여러 API를 호출할 필요가 있는 복잡한 비지니스 로직을 가지고 있습니다. 네트워크를 안정적으로 다루기 위해 이 요청들을 적절히 조합하기 위한 추가적인 코드가 필요합니다. 여러 실패 상황을 다루어야 합니다. 이런 문제를 해결하기 위해, 개별 네트워크 요청은 데이터를 JSON과 같은 새로운 포맷으로 바꾸어야 합니다. 게다가 고통스러운 직렬화/비직렬화를 위한 코드도 추가되어야 하죠. 데이터나 스키마가 변경되면 버그는 쉽게 발생합니다.

API 모바일화 패턴은 Realm 플랫폼을 미들웨어로 활용합니다. 모바일 애플리케이션은 (iOS나 안드로이드 용) Realm 데이터베이스을 클라이언트 측에서 사용하며 Realm 플랫폼에 의해 서버 사이드 데이터가 자동으로 동기화됩니다. 서버 측 Realm 플랫폼은 데이터가 변동이 있을 때 마다 (예를 들어 이미지가 추가되었을 때) 왓슨 API를 호출하고 이미지 처리된 결과를 가져와 서버 측의 Realm에 다시 저장하며 이는 즉시 클라이언트 측으로 동기화됩니다. 네트워크와 데이터 변환 등의 코드를 모두 앱에서 제거하세요. Realm 플랫폼이 데이터 전송의 모든 복잡성을 담당하는 동안 모바일 개발자는 평소 사용하는 Realm 데이터베이스를 앱에서 사용하는 네이티브 언어(Java, Swift, Objective-C)로 객체를 직접 사용 할 수 있습니다.

지금 시작하세요

개발자들이 Realm을 이용해서 개발하는 것은 항상 정말 기쁜 일입니다. 그래서 프로페셔널 버전의 무료 체험판을 다운 받아 설치할 수 있게 초대드립니다. 스캐너 앱이나 여러 분의 앱을 설정하여 체험해 보시고 여러 분의 생각을 우리에게 알려주세요.


Realm Team

Realm의 미션은 더 나은 앱을 빠르게 개발할 수 있도록 돕는 것입니다. 이를 위해 저희는 개발자들이 실시간 협업, 가상 현실, 라이브 데이터 동기화, 오프라인 경험, 메시징 등 정교하고 강력한 기능을 쉽게 개발할 수 있도록 하는 개발 도구와 플랫폼을 제공하고 있습니다.

저희는 모바일 인터넷이 수많은 사용자와 보다 많은 디바이스가 속한 개방형 네트워크와 이들 간의 실시간 상호 작용으로 진화할 것이라고 믿으며, 개발자가 이같은 방향으로 발전할 수 있도록 돕기 위해 저희 제품들을 개발하고 있습니다.

이런 개발 뉴스를 더 만나보세요