사용자가 스크립트를 사용하여 확장 할 수 있어야하는 Android 앱이 있습니다. 그것은 어쨌든 계획입니다. 사용자는 플래시의 폴더에 저장되고 앱의 메뉴에서 액세스 할 수있는 스크립트를 작성할 수 있습니다. 스크립트는 응용 프로그램의 특정 이벤트를 기반으로로드되고 호출됩니다. 응용 프로그램은 도우미 메서드와 객체를 스크립트의 컨텍스트에 노출시켜 제어 된 방식으로 응용 프로그램의 기능을 탭할 수 있습니다.android app에 스크립팅 추가
그러므로 내 요구 사항은 다음과 같습니다
- 낮은 디스크/메모리 풋 프린트
- 빠른 시작
- 의
- 단순 제정신 구문 바람직 방언을보고 안드로이드 호환
- 합리적인 분석/오류 대중적인 언어, 예를 들면 Basic, JS, Python 등
- 언어는 배열, 연관 배열, 배정도 부동, 문자열 조작을 지원해야합니다. 그것은 네트워크 액세스 또는 다른 많은 필요가 없습니다. 스크립트의
- 클린로드 & 언로드는 API를 넘어 일을하는 스크립트를 방지하는 이벤트 기반 모델
- 보안/샌드 박스 모델을 수용
- 뭔가 나는 그들에게 노출
- 시간 초과 그래서 스크립트를 죽일 수 처리/오류 너무 오래 걸리거나 루프에 갇히게됩니다 (사람들은 스크립트의 잘못으로 내 앱을 다운시키지 않았습니다).
저는 Rhino와 Jython의 좋아하는 것을 살펴 봤는데 제 목표에 너무 큰 오버 헤드를 부과한다는 인상을 받았습니다. 또한 Rhino가 기본적으로 모든 Java 클래스를 노출하므로 제한된 보안 모델을 산호로 산란하기가 어려울 수도 있습니다.이 코드는 해킹되어야합니다.
사람들에게 어떤 추천이 주어 집니까?
링크를 제공해 주셔서 감사합니다. SL4A는 안드로이드 API를 스크립팅 언어에 노출시키는 바인딩 레이어와 비슷합니다. 그래서 당신은 높은 수준의 스크립팅 언어에서 응용 프로그램을 작성/프로토 타입 할 수 있습니다. 응용 프로그램에서 스크립팅 런타임을 실행하고 실행에 대한 제한을 두어 노출하는 API 만 히트합니다. 저는 Rhino, Beanshell, Jython 및 몇몇 다른 것들을 살펴 보았습니다. 그리고 그것들은 너무 커서 커다란 관용을 가지고 있습니다. – locka