2010-12-09 7 views
9

Android 프로그래밍을 처음 사용하고 일반 지식을 찾고 있습니다. 자바 스크립트에서 내 응용 프로그램의 논리를 작성하여 동일한 코드를 웹 응용 프로그램 및 데스크톱 응용 프로그램에서 실행할 수 있도록 고려 중입니다. Android에서도 작동하도록 할 수 있습니까? 나는 그것을 알고있다 :Android 용 Javascript 앱

  • SL4A는 알파 품질로 표시되어있어 사용자가 그러한 응용 프로그램을 작동 시키려면 설치해야합니다. 여전히 Android API에 대한 액세스를 제공합니다. 내가 아는 한 SL4A 스크립트도 Android 마켓에 갈 수 없습니다.
  • 간단한 webapp는 대부분의 Android API에 액세스 할 수 없습니다.

자바 스크립트 코드가 포함 된 HTML 위젯을 포함하는 간단한 Java 응용 프로그램을 작성하고 필요한 API에 액세스 할 수있는 래퍼를 제공 할 수 있습니까?

나는 완전히 휴대 가능한 것을 찾고 있지 않다. 나는 각 환경에 수동으로 UI를 적용하려고한다. 난 그냥 모든 포트에 공통의 내부 논리를 갖고 싶습니다.

답변

8

자바 스크립트를 사용하고 기본 API에 액세스하려면 Appcelerator.com을 사용해보십시오. 그 사람들이 이것을 제공하고 있습니다.

+0

매우 흥미 롭습니다. 나는 안드로이드 자체에 더 가까운 것을 찾고 있었지만 이것이 법안에 맞을 수도 있습니다. – liori

2

자바로 작성된 자바 스크립트 엔진 인 Rhino이 있습니다. 그것은 안드로이드에서 작동하며 Appcelerator의 Titanium이 다른 대답에서 언급했습니다.

사용자 인터페이스와 안드로이드 고유의 API는 Java로 작성하고 랩핑 한 다음 Javascript로 작성된 로직 코드로 호출하고 Rhino에서 실행할 수 있습니다.

+0

그리고 이것도 너무 좋아 :) +1 – Tarik

11

PhoneGap을 사용하면 Android뿐 아니라 iPhone, Windows Phone 7, WebOS 등에서 작동하는 HTML 기반 앱을 작성할 수 있습니다. The API은 표준화되어 있으므로 모든 플랫폼에서 동일한 페이지를 사용할 수 있습니다.

대부분의 플랫폼에서 가장 일반적인 기본 기능이 지원됩니다. (각 플랫폼에 Here's a chart of the features supported) 또한 API 만 사용하여 복제 할 수없는 기능이있는 경우 기본 플랫폼 언어로 write a plugin을 사용할 수 있습니다 (Android 용 Java 용). 그런 다음 해당 플러그인을 귀하의 HTML/자바 스크립트 페이지.

+0

좋아요! 네이티브 UI를 사용할 수 있습니까? Android의 의도? – liori

+0

@liori : HTML 활동을 원하는대로 표준 Android 활동과 혼합 할 수 있으므로 네이티브 UI와 HTML을 혼합 할 수 있습니다. 인 텐트 수신은 표준 안드로이드 방식으로 수행 할 수 있습니다. 보내는 의도는 플러그인을 통해 수행 할 수 있습니다 ([example] (http://stackoverflow.com/a/5279258/79061)). –

+0

+1, 그거 멋지네. – Oli

0

Java에서 javaScript 컴파일러 인 GWT를 고려해보십시오. 당신은 논리와 많은 다른 코드를 평범한 구식 자바로 작성할 수 있습니다 (리플렉션과 같이 할 수는 있지만 리플렉션과 같이 할 수는 없지만 javaScipt에서 할 수는 없습니다). Google과 같은 애플리케이션 받은 편지함은 GWT를 사용하여 자바 스크립트에서 많은 코드를 재사용합니다. 그들은 논리를 재사용하는 것이 아닙니다. 의존성 주입, 아키텍처, AJAX 호출 등을 재사용 할 수 있습니다. 또한 GWT는 브라우저와 JVM 모두에서 Java Script보다 빠릅니다. GWT에서 가장 큰 문제는 자바 스크립트가 더 복잡하다는 것입니다. 정규 자바는 이미 더 복잡합니다. JVM과 브라우저에서 모두 작동하게하면 상황이 더욱 복잡해질 수 있습니다. 또한 GWT는 처음부터 매우 복잡한 웹 앱을 위해 설계되었습니다.

+1

질문은 자바 기반 솔루션이 아닌 자바 스크립트 기반 솔루션으로 선택 사항을 평가하는 것이 었습니다. 따라서 GWT는 유효한 대답이 아닙니다. – liori