검토 : Appery.io는 모바일 앱 빌더와 백엔드 서비스를 결합합니다.

Appery.io는 온라인 비주얼 디자인 및 프로그래밍 도구와 통합 된 백엔드 서비스를 갖춘 다소 유능한 클라우드 기반 모바일 웹 및 하이브리드 모바일 개발 플랫폼입니다. 앱 빌더와 MBaaS (서비스로서의 모바일 백엔드) 사이의 교차로 생각할 수 있습니다.

아래 그림 1에서 볼 수 있듯이 Appery.io 앱 빌더는 HTML5, jQuery Mobile 및 Apache Cordova 코드를 생성하고 Appery.io 빌드 서버는 iOS, Android, Windows Phone 및 HTML5 앱을 생성합니다. Appery.io MBaaS는 호스팅, MongoDB NoSQL 데이터베이스, 푸시 알림, JavaScript 서버 코드 및 보안 프록시를 제공합니다. 

Appery.io는 회사가 인터페이스를 미리 구축했는지 여부에 관계없이 본질적으로 모든 REST API와 통신 할 수 있습니다. 사전 빌드 된 REST 인터페이스를 서비스에 연결하는 작업은 몇 분이면됩니다. REST 인터페이스를 직접 빌드하려면 시간이 조금 더 걸리고 조금 더 알아야하지만 큰 일은 아닙니다.

온라인 앱 빌더

Appery.io 앱 빌더에는 앱 설정, 모델 및 저장소 (그림 2), 페이지를 만들 때의 페이지, 대화 상자, 템플릿, 테마, CSS, 정의한 서비스, JavaScript 및 사용자 지정 구성 요소에 대한 탭이 있습니다. 밝히다. 빌더 (그림 3)는 Google Maps 및 Vimeo와 같은 외부 서비스를 포함하여 25 개 이상의 컨트롤 팔레트가있는 WYSIWYG 디자인 메타포를 사용하며 각 항목에 대한 속성 시트를 표시합니다. 디자인보기에서 소스 코드보기로 전환하여 생성 된 HTML, CSS, JavaScript 및 모든 장치 별 코드 (Android 용 Java, iOS 용 Objective-C 및 Windows Phone 용 C #에서 지원하는 XAML)를 볼 수 있습니다.

이동하면서 데스크톱 브라우저 (그림 4)와 휴대폰 및 태블릿 브라우저에서 HTML5 앱을 테스트 할 수 있습니다. Cordova에 의존하지 않는 모든 것이 작동합니다. Cordova 코드를 테스트하려면 (예 : 기본 디바이스 기능을 사용하거나 푸시 메시지를 받기 위해) 앱을 빌드하고 디바이스에 다운로드 한 후 실행합니다. 편의를 위해 Appery.io는 HTML5 앱 및 바이너리에 대한 QR 코드를 표시하므로 장치로 직접 다운로드 할 수 있습니다. 더 많은 편의를 위해 장치에 Appery.io 네이티브 테스트 앱 셸을 설치하고 코드를 가리킬 수 있습니다.

일반적으로 앱 빌더는 배우고 사용하기 쉽습니다. Appery.io는 모바일 개발자가 일반적으로 얻는 것에 놀라지 않도록 IDE를 잘 설계했습니다.

Appery.io에서 생성 한 소스 코드를 온라인으로 보거나 프로젝트를 다운로드 한 후 오프라인으로 볼 수 있습니다. HTML5 / CSS / JavaScript 코드를 읽는 데 문제가 없었지만 이미 Underscore, jQuery 및 jQuery Mobile에 익숙했습니다. Appery.io는 위젯을 계산하지 않고 약 17 개의 JavaScript 라이브러리를 가져옵니다. 그게 뚱뚱해? 네, 그렇습니다. 그러나 최신 장치에서는 문제가되지 않습니다.

Android, iOS 및 Windows Phone 용 장치 별 네이티브 코드는 흥미롭지 않습니다. Appery.io는 기본 셸을 위해 Cordova에 의존하며 임베디드 브라우저 컨트롤에서 모든 사용자 지정 응용 프로그램 작업을 수행합니다.

Appery.io에 자체 클라우드 기반 빌더 및 빌드 서비스가 있다는 것이 좋습니다. 브라우저 기반 IDE와 함께 사용하면 모바일 개발자가 네이티브 앱을 만들기 위해 여러 대의 컴퓨터 나 VM을 가질 필요가 없으며 여러 네이티브 SDK 및 IDE를 유지 관리 할 필요가 없습니다. 물론 Appery.io에서 생성 한 앱을 내보내고 직접 유지하기로 결정한 경우 (예 : 구독을 계속하지 않으려는 경우) 네이티브 SDK 및 IDE 또는 다음의 PhoneGap Build 서비스가 필요합니다. 어도비 벽돌.

백엔드 서비스

앞서 언급했듯이 Appery.io에는 호스팅, NoSQL 데이터베이스 (MongoDB), 푸시 알림, JavaScript 서버 코드 및 보안 REST API를 포함하는 MBaaS 기능이 있습니다.

Appery.io는 자체 클라우드, Heroku 및 타사 호스팅 제공 업체 (수동)에 HTML 호스팅을 허용합니다. Appery.io의 자체 클라우드에서 제공된 app.appery.io 도메인 이름 또는 자체 도메인 또는 하위 도메인 이름을 사용할 수 있습니다. 단, DNS 설정에 액세스 할 수 있고이를 변경하는 방법을 알고 있다고 가정합니다.

Heroku에서 호스팅하려면 heroku.com 계정이 있다고 가정하고 로그인하고 Heroku에서 apperyio를 인증 한 다음 Appery.io 측에서 Heroku 앱을 만들어야합니다. Cordova 앱이 아닌 모바일 웹 앱만 Heroku에 게시 할 수 있습니다.

하이브리드 앱을 Google Play, iOS App Store 및 Windows Store에 게시 할 수 있습니다. Appery.io는 클라우드에서 바이너리를 빌드 할 수 있습니다.

Appery.io 데이터베이스는 MongoDB, 웹 인터페이스 (그림 2) 및 REST API를 사용합니다. 테이블 (컬렉션이라고도 함)과 열을 정의한 후에는 Appery.io 앱 빌더의 다른 부분에서이를 참조하여 연결 및 매핑을 그래픽으로 만들어 자동으로 CRUD 코드를 생성 할 수 있습니다. 각 데이터베이스에는 사용자, 파일 및 장치의 세 가지 미리 정의 된 컬렉션이 있으며, 모두 예상되는 대략적인 열이 있으며 원하는대로 컬렉션을 추가 할 수 있습니다.

Appery.io는 선택한 데이터베이스의 Devices 컬렉션을 사용하여 푸시 알림을받을 장치를 제어합니다. Android 및 iOS에 대한 푸시 알림을 지원하며 지정된 푸시 알림은 둘 중 하나에 만 보낼 수 있습니다. 쿼리 작성기 또는 쿼리 문자열을 사용하여 지정된 푸시에 대한 장치를 필터링 할 수 있습니다. 가능한 필터 중에는 지리적 위치 (예 : 특정 위치에서 2 마일 이내에있는 모든 장치)가 있습니다. 다른 필터에는 데이터베이스에 보관하고 원하는대로 할당 할 수있는 채널과 장치 ID가 포함됩니다. Appery.io는 기본 Google 및 Apple 서비스를 통해 푸시 알림을 수행하므로 해당 API에 등록해야합니다.

Appery.io는 Node.js 프레임 워크를 사용하지 않지만 V8 엔진을 사용하여 JavaScript 서버 코드를 실행합니다. REST API에서 예상했듯이 백엔드 JavaScript 코드는 요청 및 응답 패킷을 사용하여 앱과 통신하고 응답을 JSON 형식으로 지정합니다. 예를 들어 다음 코드는 현재 서버 시간으로 "Hello"응답을 정의합니다.

// get name from service, name is entered in the app

var name = request.get("name");

// get and format the time

var now = moment().format("dddd, MMMM D YYYY, h:mm:ss a");

// put together the greeting string

var greetingString = "Hello " + name + ". It is " + now;

// format as JSON and return the response

response.success(JSON.stringify({

   greeting: greetingString

}), "application/json");

Appery.io는 데이터베이스 및 특수 프록시 채널을 사용하여 Secure REST를 구현하여 앱 사용자가 비밀 키, 자격 증명 및 기타 민감한 데이터를 열지 못하도록합니다. 기본적으로 키 이름으로 데이터베이스에 비밀 데이터를 저장하고, 키 이름을 비밀 데이터로 대체하기위한 프록시 채널을 생성하고, 앱에서 키 이름으로 작업하고 사용할 프록시 채널을 정의합니다. 그런 다음 앱이 키 이름을 호출하고 프록시에서 데이터로 대체되고 서비스가 실제 데이터를받습니다. 앱 사용자는 키 이름과 프록시 채널 ID를 찾을 수 있지만 비밀 데이터에는 액세스 할 수 없습니다.

외부 인터페이스

이 글을 쓰는 시점에서 Appery.io에는 Stripe 결제 용 플러그인이 있습니다. SendGrid 메일; Twilio 메시징; USA Today 뉴스; Facebook, Foursquare 및 LinkedIn 소셜 네트워크 상자 보관; OAuth 및 Auth0 ID 관리; GitHub; Sirv 동적 이미징; 현대적이고 평면적 인 UI 테마. 또한 Salesforce.com에 대한 기본 지원이 있습니다.

필요한 외부 서비스에 아직 플러그인이없는 경우 모두 손실되지 않습니다. REST 서비스 인 경우 Appery.io를 통해 연결하고 샘플 응답 패킷을 가져오고 Visual Data Binding을 사용하여 서비스의 출력을 앱에 매핑 할 수 있습니다.

Appery.io의 배후 회사 인 Exadel은 RESTXpress라는 동반 서비스를 판매합니다. RESTXpress를 사용하면 REST 인터페이스로 SQL / JDBC 데이터베이스 및 SOAP 기반 웹 서비스를 쉽게 래핑 할 수 있습니다. RESTXpress는 Tomcat과 같은 Java 애플리케이션 서버에 설치할 수 있으며 별도로 라이센스가 부여됩니다.

오프라인 지원

Appery.io 모델 및 저장소를 사용하는 경우 웹 앱 상태를 로컬 저장소에 유지하는 것이 기본 동작입니다. 데이터는 로컬 저장소에 보관되며 다음에 다시 시작할 때 사용할 수 있습니다. 필요에 따라 자체 코드 (JavaScript)를 추가하여이 기능을 필요한만큼 사용자 지정할 수 있습니다. HTML5 WebView 키 / 값 쌍 저장소에 보관할 수있는 것보다 더 많은 로컬 저장소가 필요한 경우 org.apache.cordova.fileAPI를 사용하여 장치 파일 시스템에 액세스하거나 WebSQL을 사용하여 로컬 SQLite 데이터베이스에 액세스 할 수 있습니다.

Appery.io 모델 및 저장소는 개발자가 클라이언트 (로컬 저장소)에서 앱 모델을 정의 할 수 있도록하므로 앱을 오프라인으로 실행하는 데 도움이됩니다. 추가 사용자 정의를 위해 사용자 정의 코드 (JavaScript)를 사용할 수 있습니다. 엑 사델은 더 쉽게하기 위해 더 많은 지원을 추가 할 계획입니다. 회사에 따르면 모델과 스토리지는 첫 번째 단계에 불과했습니다.

클라이언트와 서버를 모두 프로그래밍 할 수 있기 때문에 Appery.io를 사용하여 서버와 모바일 데이터베이스 동기화를 수행 할 수 있지만 확실히 자동은 아닙니다. 일반적으로 키 / 값 쌍에 변경 사항을 저장하거나 로컬 SQLite 데이터베이스를 유지하고 Cordova 플러그인을 통해 액세스하고 연결시 더티 레코드를 다시 서버 데이터베이스로 푸시합니다.

결론 및 비교

Appery.io는 MBaaS 및 모바일 앱 개발 공간에 걸쳐 있으므로 두 범주의 제품과 비교하고 싶을 것입니다. 광범위한 붓놀림에서 Appery.io (전체 점수 8.2)가 AnyPresence (전체 점수 9.1)보다 덜 매력적이라는 사실을 발견했습니다. 이는 추가 마일을 사용하고 네이티브 앱과 모바일 API를 생성합니다. AnyPresence에는 중요한 엔터프라이즈 데이터베이스 인터페이스도 포함되어 있습니다.

또한 Appery.io는 Node.js 프레임 워크를 사용하여 더 나은 엔터프라이즈 지원을 제공하는 FeedHenry (8.6)와 우수한 데이터베이스 통합 및 오프라인 운영, 모바일 데이터를 완벽하게 지원하는 Alpha Anywhere (8.8)보다 성능이 떨어집니다. 동기화 및 데이터 충돌 해결.

나는 베어 MBaaS Parse (7.6) 및 앱 빌더 / MBaaS Appcelerator (7.8)보다 Appery.io를 더 좋아했고 Kinvey (8.3)와 거의 비슷하지만 Kinvey는 분석 및 엔터프라이즈 데이터베이스 지원 방식에서 더 많은 것을 제공합니다. .

스코어 카드 능력 (25 %) 통합 (25 %) 클라이언트 지원 (20 %) IDE (20 %) 가치 (10 %) 전체 점수
Appery.io 8 8 8 9 8 8.2