2012-09-11 2 views
1

우리는 소규모 회사에서 고객 관리를 위해 사용하는 기존의 분산 응용 프로그램을 보유하고 있습니다.iOS, Android 및 데스크톱을위한 앱 개발

서버 측 구성 요소는 MySQL 데이터베이스에 대한 연결을 관리하는 간단한 Java 응용 프로그램으로 클라우드에 배포됩니다.

클라이언트 측은 JNLP를 사용하여 배포 된 Java Swing 응용 프로그램으로 구현되며 RMI를 사용하여 서버 측과 통신합니다.

이것은 지금까지 우리에게 상당히 효과적 이었지만 최근에는 고객이 모바일 장치, 태블릿 (iOS 및 Android) 및 데스크톱에서 애플리케이션에 액세스 할 수있는 방법을 살펴 보았습니다.

저는 분당으로 MySQL 데이터베이스에 대한 액세스를 관리하기 위해 서버 측에서 RESTful 웹 서비스를 개발해야한다고 생각합니다. 클라이언트 측에서는 Googles GWT를 사용하여 모든 플랫폼에서 서비스에 액세스 할 수있는 빠르고 쉬운 솔루션을 제공 할 수있었습니다. 앞으로 우리는 웹 서비스에 액세스하기 위해 기본 iOS/Android 앱을 구현할 수 있습니다.

여기 제가 올바른 길입니까? 누구든지 더 나은 접근법을 가지고 있습니까? 누구든지 내가보고 있어야하는 도구에 대한 권장 사항이 있습니까?

중요한 점은 어떤 플랫폼에서든 서버 측에 액세스 할 수 있다는 점입니다. 각 서버마다 별도의 서버 측 구현을 구현하고 싶지는 않습니다.

+0

티타늄을 시도 할 수도 있습니다. http://www.appcelerator.com/platform/titanium-sdk/ 저는이 x-platorm 프레임 워크를 특별히 신경 쓰지 않지만 단순한 데이터 액세스 애플 리케이션에서는 꽤 잘 작동합니다. 모노도 있지만 마지막으로 체크했을 때 메모리 사용 공간이 꽤 무거웠습니다. 모든 사용자가 편안한 웹 서비스를 통해 데이터에 액세스 할 수 있습니다. – Idistic

+0

미래에 모바일 프론트 엔드에서 작동할지 여부는 디자인 결정이 내려져야합니다. 취해진 경로는 이것이 얼마나 고통 스러울 지에 큰 영향을 미칠 것입니다. – ryan0

답변

1

RESTFul 웹 서비스가 제대로 작동하는 것처럼 들립니다. 이 경로를 사용하는 경우 백엔드에 대해 보상해야합니다. 프론트 엔드가 http 요청을 처리하고 JSON 데이터를 처리 할 수 ​​있다면 괜찮을 것입니다.

향후 iOS/Android 앱을 구현하여 웹 서비스에 액세스 할 수 있습니다.

Android 및 iOS 모두에 배포 할 모바일 앱을 디자인 할 수 있습니다. 개발에 시간을 절약 할 수 있습니다. 이를 위해 phone 하드웨어에서 추상화 레이어를 생성하는 PhoneGap과 UI가 HTML5 및 javascript로 개발 된 jQuery Mobile과 함께 사용할 수 있으며 두 코드 모두 PhoneGap을 통해 동일한 코드가 배포됩니다 .

폰갭 : http://phonegap.com/

jQuery를 모바일 : http://jquerymobile.com/

당신은 안드로이드, iOS에서 같은 프론트 엔드, 그리고 바탕 화면을 배포 할 수 있습니다 몇 가지 다른 옵션이 있다면, 나는 그와 함께 갈 것 있도록 프론트 엔드에 대한 코드베이스는 하나뿐입니다.

0

당신의 솔루션 (GWT/HTML5) 클라이언트가 서버 측 "비즈니스"계층과 대화하는 것이 좋은 멀티 클라이언트 솔루션이라고 생각합니다. GWT에서의 implmentation는 클라이언트와 서버 사이의 COMMS 돌볼 것이기 때문에 RESTful 웹 서비스는 기술 한 내용의 맥락에서 unneccesary 있습니다

다음
GWT client <---> Server (GWT) <---> Database 

다른 클라이언트 구현 (예 : 아이폰 OS)를 사용하는 경우, 편안하고 서비스는 참으로 아주 편리 할 것이다 (당신은 GWT를 사용하지 것이다) :

iOS client <---> Server (RESTful endpoints) <---> Database 

HTML5되고 넓은 적용 (많은 클라이언트)와 리치 클라이언트 기능 사이에 괜찮은 타협을 제공합니다.나는 PhoneGap과 GWT를 함께 사용하여 GWT (내가 좋아하는)로 작업하고 장치 의존적 인 기능에 접근하는 좋은 전략처럼 들리는 기사를 보았다. 모두 (Java-) 클라이언트 코드 (매우 유용한 GWT 기능)를 디버깅 할 수있는 환경에서 작업하는 동안 모두.