문제

오픈 소스 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에서 실행되는 휴대 성과 동적 언어에 대한 접근 방식에 대한 높은 수준의 개요를 제공합니다.

다른 팁

당신은 운이 좋을 수도 있습니다 ikvm.net. 정확한 상태는 확실하지 않지만 .NET Framework에서 Java 코드를 실행하는 것을 주장한다면 시도해 볼 가치가 있습니다. 여기에는 Java Base Class 라이브러리의 .NET 구현이 포함되어 있으므로 합리적으로 완성 된 것 같습니다.

내가 제안 할 수있는 유일한 옵션은 코드를 제이# 언어, 전체 .NET 언어 (C# 또는 vb.net이라는 의미의 첫 번째 클래스는 아니지만). 언어는 Java의 차이가 최소화되도록 설계되었습니다.

당신이 edded 접근법에 대해 생각하고 있다면, 당신은 Lua를 볼 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top