2011-08-29 2 views
0

사용자가 스크립트를 사용하여 확장 할 수 있어야하는 Android 앱이 있습니다. 그것은 어쨌든 계획입니다. 사용자는 플래시의 폴더에 저장되고 앱의 메뉴에서 액세스 할 수있는 스크립트를 작성할 수 있습니다. 스크립트는 응용 프로그램의 특정 이벤트를 기반으로로드되고 호출됩니다. 응용 프로그램은 도우미 메서드와 객체를 스크립트의 컨텍스트에 노출시켜 제어 된 방식으로 응용 프로그램의 기능을 탭할 수 있습니다.android app에 스크립팅 추가

그러므로 내 요구 사항은 다음과 같습니다

  • 낮은 디스크/메모리 풋 프린트
  • 빠른 시작
  • 단순 제정신 구문 바람직 방언을보고 안드로이드 호환
  • 합리적인 분석/오류 대중적인 언어, 예를 들면 Basic, JS, Python 등
  • 언어는 배열, 연관 배열, 배정도 부동, 문자열 조작을 지원해야합니다. 그것은 네트워크 액세스 또는 다른 많은 필요가 없습니다. 스크립트의
  • 클린로드 & 언로드는
  • API를 넘어 일을하는 스크립트를 방지하는 이벤트 기반 모델
  • 보안/샌드 박스 모델을 수용
  • 뭔가 나는 그들에게 노출
  • 시간 초과 그래서 스크립트를 죽일 수 처리/오류 너무 오래 걸리거나 루프에 갇히게됩니다 (사람들은 스크립트의 잘못으로 내 앱을 다운시키지 않았습니다).

저는 Rhino와 Jython의 좋아하는 것을 살펴 봤는데 제 목표에 너무 큰 오버 헤드를 부과한다는 인상을 받았습니다. 또한 Rhino가 기본적으로 모든 Java 클래스를 노출하므로 제한된 보안 모델을 산호로 산란하기가 어려울 수도 있습니다.이 코드는 해킹되어야합니다.

사람들에게 어떤 추천이 주어 집니까?

답변

0

SL4A project을 살펴보십시오. 나는 그것이 당신이 필요로하는 것을 제공하는지 확실하지 않지만, 적어도 그것은 내가 시작했을 곳이다.

+0

링크를 제공해 주셔서 감사합니다. SL4A는 안드로이드 API를 스크립팅 언어에 노출시키는 바인딩 레이어와 비슷합니다. 그래서 당신은 높은 수준의 스크립팅 언어에서 응용 프로그램을 작성/프로토 타입 할 수 있습니다. 응용 프로그램에서 스크립팅 런타임을 실행하고 실행에 대한 제한을 두어 노출하는 API 만 히트합니다. 저는 Rhino, Beanshell, Jython 및 몇몇 다른 것들을 살펴 보았습니다. 그리고 그것들은 너무 커서 커다란 관용을 가지고 있습니다. – locka

관련 문제