JVM/CLR 소스 호환 언어 옵션
-
03-07-2019 - |
문제
오픈 소스 Java 데이터베이스 마이그레이션 도구가 있습니다.http://www.liquibase.org) .NET으로의 포팅을 고려하고 있습니다.
도구의 대부분 (적어도 복잡성 측면에서)은 "기본 키를 추가하고 데이터베이스가 Oracle 인 경우이 SQL을 사용하는 경우와 같은 논리 주위에 있습니다. 데이터베이스가 MySQL 인 경우이 SQL을 사용하는 경우 기본 키가 지명되었고 데이터베이스는이 SQL을 사용하는 Postgres입니다. "
Java Codebase를 포크하고 (수동으로 및/또는 자동으로) 은밀 할 수 있지만, 위의 논리에 대한 업데이트 및 버그 수정으로 인해 두 버전 모두에 적용 할 필요가 없습니다. 내가하고 싶은 것은 모든 논리를 Java 및 .NET 버전에서 순진하게 컴파일하고 사용할 수있는 양식으로 옮기는 것입니다.
변환하려는 코드에는 JAVA에서 .NET으로 크게 다를 수있는 고급 라이브러리 사용 (JDBC, System.out 등)이 포함되어 있지 않으므로 문제가 될 것이라고 생각하지 않습니다 (최악의 경우 최악의 경우에는 최악이 될 수 있습니다. 주변에 디자인).
그래서 내가 찾고있는 것은 다음과 같습니다.
- 내 앱의 공통 부분을 코딩하고 대상 플랫폼의 "표준"언어로 사용할 수있는 클래스로 컴파일 할 수있는 언어
- 시스템에 런타임 요구 사항을 추가하지 않습니다
- 아무것도 아님 그래서 잠재적 인 기여자들을 무서워한다는 것이 이상합니다
나는 Python과 Ruby가 JVM과 CLR에 대한 구현을 가지고 있다는 것을 알고 있습니다. 그들은 내 요구 사항에 얼마나 잘 맞습니까? 크로스 플랫폼 응용 프로그램을 위해이 기술을 사용하여 성공적으로 (또는 실패한) 사람이 있습니까? 내가 걱정해야 할 gotcha가 있습니까?
해결책
확인하십시오 Fantom 프로그래밍 언어. 자체 Java-like/c#-유사 구문이 있지만 Java VM 또는 .NET CLR을 대상으로 할 수 있습니다.
그들의 "왜 팬텀" Page는 VM에서 실행되는 휴대 성과 동적 언어에 대한 접근 방식에 대한 높은 수준의 개요를 제공합니다.
다른 팁
당신이 edded 접근법에 대해 생각하고 있다면, 당신은 Lua를 볼 수 있습니다.