IT Share you

Avian을 사용하는 iOS의 Scala

shareyou 2020. 12. 5. 10:57
반응형

Avian을 사용하는 iOS의 Scala


iOS 대상에 대한 실행 파일을 생성 할 수 있는 비교적 새로운 경량 JVM 인 Avian 이 있습니다.

웹 사이트에 너무 많은 문서가 없습니다 (Google로 검색 할 수있는 문서가 많지 않습니다). Avian을 사용하여 iOS에서 기본 Scala 프로그램을 실행하는 방법에 대한 단계별 자습서를 아는 사람이 있는지 궁금합니다 .


iOS 컴파일러에 대한 또 다른 JVM은 RoboVM 입니다. 초기 단계에 있지만 iOS 용 Scala를 컴파일하는 방법에 대한 예제를 통해 상당히 유망 해 보입니다.

편집 이것은 당시 유효한 오래된 답변 이었지만 @JamesMoore가 지적했듯이 RoboVM은 더 이상 없습니다. 현재 매우 유망 해 보이고 가까운 미래에 iOS에서 Scala 코드를 실행하는 방법이 될 수있는 것은 Scala Native입니다.


컴파일 된 Scala 소스는 ​​완전히 표준 클래스 파일입니다. 큰 변경없이 웹 사이트 지침 을 따를 수 있어야합니다 ( "Embedding"찾기) scala-library.jar. 코드의 종속성으로 취급 하면됩니다.

며칠 전에 Avian에서 실행되는 완전한 컴파일러와 표준 라이브러리를 부트 스트랩했습니다.

일부 부분은 여전히 ​​가장자리가 약간 거칠 수 있습니다. 예를 들어 다음 Scala 릴리스 (2.10.1)의 일부가 될 필수 수정 사항하나 있지만 2.10.0에는 포함되지 않습니다. 지금 당장 플레이하려면 2.10.1이 출시 될 때까지 야간 빌드를 사용해야합니다.

추가 문제가 발생하면 신고 해주세요!


Oracle이 iOS 및 Android에서 JavaFX 오픈 소스를 만들고 있으므로 더 이상 필요하지 않을 수 있습니다 !

편집 : 오라클은 JVM을 출시하지 않을 것이라고 발표하기 위해 기사를 업데이트했기 때문에 JavaFX + Avian이 갈 길일 수 있습니다.


iOS (루팅되지 않음)에서 Java 바이트 코드를 실행하는 것은 해당 JVM을 실행하는 것이 아닙니다. 내가 이해하는 한 iOS 메모리 관리는 사용자 모드에서 실행 가능한 메모리 페이지를 쓸 수 없도록 허용합니다. 기본적으로 JIT 컴파일을 금지합니다. 따라서 특정 Java VM에서 일부 컴파일 된 (Java 또는 Scala에서) 클래스를 실행할 수 있더라도 iOS에서 실행할 수 있도록이 VM이 Ahead-Of-Time 컴파일을 어떻게 지원하는지주의 깊게 확인합니다. Avian AOT가 데스크탑에서 잘 작동하는 것을 보았습니다. iOS의 경우 프로젝트가 AOT 영역에서 유망 해 보이지만 직접 확인해야합니다.

참고 URL : https://stackoverflow.com/questions/13688283/scala-on-ios-using-avian

반응형