2017-03-22 1 views
2

저는 Xamarin for Mobile 장치 및 Windows 데스크톱에서 개발 된 간단한 응용 프로그램을 가지고 있습니다. 개발을 위해 C#, (Galasoft) MVVM-Light 및 Repository Pattern이 사용되었습니다. 백엔드는이 프로젝트의 일부가 아닙니다. 그러나 전체 그림을보기 위해 REST EndPoint가 사용됩니다.Qt C++ 프로젝트에서 Xamarin 프로젝트의 코드 재사용

Qt & C++에서 동일한 응용 프로그램 (Linux 용)을 작성하려면 이전 프로젝트를 사용할 수 있는지 스스로 질문하십시오. Qt는이 "QML"를 사용하고 MVVM/C의 #/XAML 가능처럼

  • 는 또한 Qt는이 '바인딩'을 사용하지 않는 XAML 때문이

    • 조회수 completly 재 작성되어야한다 : 지금까지 내가 알아. 그러나 그것에 대한 대체 방법이 있습니다. 찾을 수 있습니다. here
    • 모델은 재사용하기 쉽고 관련성이 있어야합니다.

    코드의 '재 작성'부분을 최소화하기 위해 C#에서 C++ 래퍼까지 발견되었지만 전체 클래스가 아닌 메소드의 경우에만 발견되었습니다. 자신을 참조하십시오. here

    누군가가 더 이상 Tipps를 가지고 있습니까? 아니면 누군가 내 말을 수정할 수 있습니까? 지원

  • 답변

    3

    경험에서 말하자면, 가장 좋은 팁은 기존 코드를 사용하지 않으려 고하고 대신에 C++/Qt에 처음부터 새 앱을 작성하는 것입니다. 당신이 이미 응용 프로그램을 가지고 있다는 것은 유혹 일지 모르지만, 그것을 포팅하려는 것은 단순히 그것을 재 작성하는 것보다 더 고통스런 과정 일 것이며 Qt의 강점으로부터 이익을 얻을 수있는 기회도 놓치게 될 것입니다. 예를 들어, 선언적 성격이 QML 인 경우에는 명확한 대응이 없으므로이를 충분히 활용하고 싶습니다.

    유일한 예외는 랩퍼로 쉽게 재사용 할 수있는 매우 독립적 인 라이브러리 파트가있는 것입니다. 그러나 심지어 그것은 빌드시에 책임이 될 것입니다. 나는 전체 코드베이스를 C++/Qt5에 유지하는 것이 매우 간단하고 우아한 빌드와 배포를한다는 것을 알게되었습니다. 도구 , qbsQtCreator과 같이 Qt과 함께 제공되는 도구는 플랫폼 간 호환에 적합합니다. 이 외에

    , 여기에 몇 가지 의견은 다음과 같습니다

    희망이있었습니다.

    0

    에 대한

    감사는 기본적으로 정직은 완전히 재 작성합니다. 이유는 Qt는 C++이고 Xamarin은 대부분 C#입니다.