2014-10-15 4 views
-1

저는 백엔드 용 웹 API 인 Api와 클라이언트 측의 AngularJS를 사용하여 몇 달 안에 출시 할 예정입니다. 모든 논리는 클라이언트와 상당히 잘 분리되어 있습니다.Phonegap/Cordova 크로스 플랫폼 아키텍처 및 단일 코드베이스

독점 개발자 (마케팅, 영업 등)이므로 효율성을 극대화하고 모바일 앱 측면에서 Cordova를 바라보고 있습니다. 필자는 iOs/Android 개발을 한 번도 해본 적이 없지만 새로운 언어와 환경을 익히는 데 매우 빠르며, 따라서 필자의 주요 장벽은 고려하지 않지만 작업 노력의 중복에 더 관심이 있습니다.

내 질문은 이렇습니다. 코르도바 (Cordova)를 경유하여 하나의 코드베이스를 갖는 의도가있는 소규모 애플리케이션이 올바른 방법일까요? 나는 iOS/Android 메뉴와 웹과 모바일 애플리케이션 사이의 UI 차이를 처리하기 위해 3 가지 유형의 스타일링을 다루어야하는 것에 대해 우려하고 있습니다. if (iOS) menu = a, elseif (Android) 메뉴 = b, else menu = c의 전체 묶음으로 코드를 정리할 수 있습니까?

또는 클라이언트를 최대한 얇게 유지하고 기본 Android/iOS 앱을 작성하는 것이 더 현명한 방법일까요? 여기에 내 유일한 진짜 문제는 고객을위한 세 가지 코드 기반을 유지하기위한 추가 노력입니다.

많은 의견을 읽었으며 의견이 꽤 분열 된 것처럼 보였으 나 아무도 씬 클라이언트로 여러 코드 기반을 유지 관리하는 것보다 여러 코드베이스에서 하나의 코드베이스로 스타일을 처리하는 코딩 오버 헤드에 초점을 맞추지 않았습니다 플랫폼. 귀하의 의견

덕분에,

이 매우 의견을 기반으로

답변

1

개월 후 ... 나는 앱의 개발에 심혈을 기울이고 있습니다. 나는 Ionic-Framework로 Cordova를 사용하고 결국 내가 원하는 것을 정확하게 수행합니다. 이오니아는 네이티브 외모를 처리합니다. & 여분의 작업없이 깨끗하게 느끼고, 모든 것이 코르도바와 잘 어울리는 것 같습니다. 더 나은 ... 5 분의 추가 작업으로 모든 브라우저에서 액세스 할 수있는 모바일 웹 앱에 대한 모든 코드를 쉽게 다시 사용할 수 있습니다. 높은

이온 프레임 워크

1

, 그래서 곧 종료됩니다.

몇 년 전 웹 및 데스크톱 버전에서 몇 가지 강력한 응용 프로그램이있는 소프트웨어 하우스에서 근무했습니다. 2011 년경에 우리는 모바일 시장에 대해서도 언급해야한다는 것을 분명히했습니다. 이 회사는 아주 작아서 원래의 다중 채널 개발을 할 여력이 없었습니다. 우리의 주요 역량은 Java, JSF 및 JavaScript (목록을 매우 짧게 만들었습니다)입니다. 또한, 우리가 사용하는 JS 기술 중 일부는 모바일을 잘 지원합니다.

우리는 여러 가지 접근법을 평가하고 마지막으로 PhoneGap (Cordova 이전 이름)을 사용하기로 결정했습니다.

우리는 좀 더 원시적 인 느낌을 내기 위해 또 다른 JS 기반 라이브러리를 사용했습니다. 우리는 GPS, 데이터베이스, 카메라 (비디오/사진), 음성 녹음, 나침반과 같은 고유 기능을 사용했습니다. 본인이 아는

, 우리는

if (context.iPhone) { doThis(); } else { doThat(); } 

처럼 아무것도 없었 나는 코드에서 매우 깊은했다.

우리는 iOS와 안드로이드를위한 우리 자신의 Cordova 플러그인 중 일부를 병렬로 작성했습니다 (압축이 풀렸을 것으로 생각합니다). 그들은 동일한 JS API를 사용했습니다.

우리가 가진 주요 문제는 응용 프로그램이 기본이 아니라는 것입니다. 네이티브 룩앤필이 아닌 모든 것에도 불구하고 UI 지연이 있습니다. 앱은 여전히 ​​꽤 좋았지 만 bulti-million 시장 리더가 제공하는 유사한 앱과 비교하면 실제로 차이점을 알 수 있습니다. 그러나 우리의 응용 프로그램은 그래픽 (GIS/매핑 클라이언트)에 상당히 무거웠습니다.

잘못된 선택을하면 매우 심각한 결과를 초래할 수있는 매우 어려운 질문입니다. 앱이 "섹시"해야한다면, 어떤 시점에서 박스형 HTML5 앱이 할 수있는 한계에 맞닥 뜨리게 될 것입니다.

앱이 정의에 비추어 볼 때 반짝이는 것이 아니라면 (즉, 기업의 전 세계를 양식에서 채우기 위해) 한도에 도달하지 못할 수도 있습니다.

"똑똑한가?" 이것은 당신이 smartoptimize하려고하는 목표 기능을 모른 채로는 대답하기가 불가능합니다. 비용을 줄이려고하십니까? 시장 진입 시간 단축? 그럼 코르도바 (또는 다른 하이브리드 tehchology) 단기 전술 결정에 대한 아주 좋은 선택이 될 수 있습니다. 장기간 계획하고 있습니까? 품질에 중점을 둡니까? 그렇다면 조기 개발을 배우는 데 투자하고 싶을 수도 있습니다.

나는 당신의 질문에서 읽은 것, 개인적으로, 나는 그것을 시도해 볼 것입니다. 기능은 거의 없지만 사용할 수있는 작은 것을 만들고 어떻게 작동하는지 확인하십시오. 기술 (너무 어렵지는 않음)을 알게되고 손에 뭔가가있는 다음 단계를 고려할 수 있습니다. PhoneGap을 사용하고 다른 기술로 전환하고 더 많은 돈을 모으고 iOS 및 Android 용 기본 응용 프로그램을 수행하는 등 많은 성과를 얻은 사례를 사람들이 알고 있습니다.

행운을 빕니다.

+0

감사 lexicore 좋습니다. 나는 그것이 약간의 의견에 기반을 둔다는 것을 알고있다. 그러나 당신의 경험은 내가 가고있는 길을 결정할 때 찾고 있었던 정확하게 것이다. 웹 앱을 끝내고 나면 잃어 버릴 것이 없다는 점에서 당신이 옳다고 생각합니다. 나는 단지 Cordova에 던져서 최소한의 수정만으로도 사용할 수 있는지 알아보기 위해 노력합니다. 또한 이미 가지고있는 것을 분리하는 방법으로 Ionic을 살펴보고, 대부분의 논리를 Angular로 유지하고 html을 약간 변경하여 기본 느낌을 얻으십시오. –

+0

@ JoshuaOhana 만약 당신이 무언가 바닐라 (표준) 애플리케이션을 만드는 것이 아니라면 dojo MOBILE 툴킷을 볼 수 있습니다. 안드로이드/IOS/Windows 용 테마 (CSS)가 미리 만들어져 있습니다. [여기] (https://dojotoolkit.org/features/mobile) 이상의 도조 모바일 링크. 또한 꽤 인기가있는 'Sencha Touch'도있다. – frank