2012-09-24 5 views
3

우리는 고객을 위해 SAAS 응용 프로그램을 호스팅하고 있습니다. 주요 응용 프로그램은 웹 응용 프로그램이며 다른 클라이언트는 다른 버전이 될 수 있습니다. 예 :모바일 전략 :이 서버 - 클라이언트 버전 순열을 처리하는 방법?

Company A version 1.0 
Company B version 1.1 

앱 스토어에는 Android/iOS 앱이 있습니다. 앱이 항상 최신 상태는 아니기 때문에 시장에 여러 앱 버전이있을 수 있습니다. 예 : 2.0 및 2.1. 따라서 호환성 이유로, 우리는 각 클라이언트 버전은 각 서버의 버전과 작동하는지 확인해야합니다 : 만 2 단절 버전 2 클라이언트 버전이있을 때 그것은 관리의

server 1.0 must work with client 2.0, 
server 1.0 must work with client 2.1, 
server 1.1 must work with client 2.0, 
and server 1.1 must work with client 2.2. 

. 그러나 시간이 지남에 따라 목록에 미친된다. 모바일 앱을 최신 버전으로 업데이트하는 메커니즘이 있지만 관리 사용자가 너무 자주하지 않으려 고하는 것은 다소 괴롭습니다.

제 질문은이 문제를 해결하는 가장 좋은 전략은 무엇입니까? Android 및 iOS에는 사용자가 여러 앱 버전을 다운로드하고 필요에 따라 버전 만 실행할 수있는 기본 제공 기능이 있나요?

미리 감사드립니다.

답변

1

다른 서버 버전을 배포 한 여러 고객에게 비슷한 문제가 있습니다.

우리가 현재 고려하고있는 몇 가지 옵션이 있습니다 :

  • 하는 그들은 항상 최신 버전을 실행하기 위해 (우리가 관리) 클라우드에서 고객의 배포를 관리 할 수 ​​있습니다. 사내 배포를 원하는 고객에게 문제가 있습니다. 준수 또는 보안상의 이유로
  • 응용 프로그램 내부의 이전 릴리스를 라이브러리로 번들링하고 런타임에 서버 버전과 일치하는 런타임을 실행하십시오. 불행히도 지저분한 빌드 및 비대화 된 앱 패키지로 이어집니다.
  • 사용자에게 앱을 수동으로 설치하도록 요청하고 앱 스토어에 게시하지 마세요. 기술에 익숙하지 않은 사용자에게는 불편하고 문제가 많습니다.
  • 고객의 서버 배포를 통해 앱을 배포하십시오. Android에서 알 수없는 출처에서 설치할 권한이 필요합니다. 고객이 iOS 용 iOS 엔터프라이즈 계정 (연간 299 달러, 각 고객은 별도로 가입해야 함)을 보유해야합니다.
  • 응용 프로그램 코드를 모듈화하여 서버 버전에 따라 구성 요소 또는 동작을 활성화/비활성화합니다. 서버 업데이트가 거의없는 경우에도 작동하지만 문제가 자주 발생하지 않도록 유지 보수하기가 어려울 수 있습니다.

각 경우 사용자는 회사에서 서버 버전을 업그레이드 할 때마다 앱을 업데이트해야합니다.

  • 다운로드 응용 프로그램 서버에서 코드를 실행합니다 PhoneGap를 사용하여 우리를 위해

    는 또 하나 개의 옵션이 있습니다. App store guidelines 2.7과 2.8은 이것을 금지하는 것처럼 보이지만 개발자 동의서 항목 3.3.2는 웹보기에서 실행중인 스크립트 다운로드가 허용된다고 말합니다. 즉, 앱은 기본적으로 서버에 연결하여 스크립트를 가져온 다음 실행합니다. 단점은 앱이 실행될 때마다 다운로드 및/또는 앱의 저장 공간에 캐싱 메커니즘이 필요하다는 점입니다.

당신에게 적합한 솔루션을 찾았습니까? 이 문제를 어떻게 처리하겠습니까?

+0

Google에는 실제로 해결책이 없습니다. 기본적으로 우리는 옵션 5 "모듈 버전의 응용 프로그램 코드를 사용하여 서버 버전에 따라 구성 요소 또는 동작을 활성화/비활성화 할 수 있습니다. 서버 업데이트가 거의없는 경우 작동하지만 자주 발생하는 일을 지저분하고 어렵게 만듭니다." 지저분한 일이며 백엔드 변경 사항을 따라 잡기 위해 최선을 다하고 있습니다. 반면에 회사는 HTML5 프런트 엔드로 이동할 계획을 갖고 있습니다. 모든 문제를 해결할 수 있기를 바랍니다. –