Avalonia가 회사에서 쓰는 경우 치명적일수도 있는 단점이 있네요.

상용 IDE가 필수네요.
그것도 비교적 최신 버전으로요. ㅎㅎ
UI를 갈아엎기 위해 조사하다보니 이게 딱 걸리네요.
다른쪽으로도 많이 쓸거라면 구매하자고 할탠데…
그럴 상황도 아니고 팀장을 비롯한 팀원들이 썩은물이라 새로운것에 관심도 없고요.

뭐 플러터랑 우노밖에는 안 남는데. 이러면 플러터로 가는게 맞지 않을까?
생각이 됩니다.

7 Likes

각 프레임워크가 제공하고자 하는 컨셉을 바탕으로 풀이하려는 비즈니스에 유리한지 확인하고 선택하는 것을 제안드립니다.

예로 우노는 윈도우즈 중심으로 통합했어요. 모바일만 서비스할 계획이라면 독이 될 수 있습니다.

5 Likes

기존 프로그램이 C++로 되어 있고 윈도우즈 만 지원 합니다. 정확히는 윈도우즈 7이상요.
그걸 이번에 새로 만드는데. 어차피 코어는 c++로 새로 짜야 하는 부분이고
또 C++은 제대로 된 UI가 이제는 거의 안 나오니 UI와 통신 같은 부분을 전부 새로 하자고 한 거죠.
뭐 이러하니 선택 조건이 상당히 널널합니다. (어차피 새로하는데 다른 언어와 프레임웍을 쓰자고 제가 꼬드긴 겁니다. C++로 하면 또 똑같아 질거라…)
아~ 그리고 모바일은 아예 별도의 팀이 있습니다.

4 Likes

그러면 그냥 winui가 답일수도…

3 Likes

WinUI 3의 경우 윈도우10 이상만 지원하므로
의외로 WPF가 답일 수 있습니다.

3 Likes

제가 꼬드기는것의 한계점 입니다. ㅎㅎ
C#은 저만 하는지라…
WPF도 있고 뭐 그런 얘기 해 봤지만… 쌩뚱맞게 MAUI를 보는 사람이 조사중이라서요.
말을 원래 안들어 먹는 사람이라 제가 이정도 선까지 꼬신것도 기적적이라 생각 중 입니다.

제 입장에서는 WPF가 제일 쉽긴 합니다만… 아마 그러면 제가 독박을 쓰게 될 겁니다.

5 Likes

c++로 dll 만들어서 메인 UI 프로그램이 dll 호출하거나 콜백함수 등록해서
호출되게 하는 방식인가요?
제가 이런 방식으로 개발하는데 괜찮은거 같더군요.

3 Likes

맞습니다. 그런 방식입니다.
현재 프로그램은 C#으로도 가능은 한데… 코어단을 별도로 만드는게 더 합리적인 프로그램이라서요.

저도 여러가지로 해 봤는데.
하드웨어 제어가 많거나 C/C++라이브러리 사용이 많을 경우 그냥 임포트 시켜서 쓰는게 가장 합리적이더군요.

3 Likes

말씀해주신 환경이라면 저도 WPF가 가장 낫지 않을까 싶습니다.
아무래도 레퍼런스 양의 차이가 꽤 있기도 하구요, MAUI나 AvaloniaUI를 쓰게 되면 개발 도중에 문제가 생겼을 때 원인을 찾기도, 해결하기도 힘든 상황이 종종 생기지 않을까 싶습니다.

4 Likes

댓글 보니 C++ native WinUI 3 unpackaged로 만드는 게 낫겠네요
WinUI 3 버그도 많이 잡힌 거 같고 인하우스에선 쓸만한 것 같습니다.

1 Like

어떤 치명적인 단점이 있는 건가요?
저도 이번 프로젝트에서 linux환경에서 Avalonia UI를 사용해볼 계획입니다.
문제는 상용화 목적으로 개발을 하는거라서, 혹시 단점을 알 수 있을까요?
검토해보고 치명적일거 같은면 python 또는 c++로 넘어갈 생각입니다.ㅠㅠ

1 Like

글에도 적었지만 IDE나 빌드툴 등이 전부 상용입니다.
아주 작은 회사가 아닌 이상은 Visual Studio Community도 사용하면 안되는데.
그걸 구매할 생각이 없는 회사라면 문제가 되는거죠.

1 Like

8월 vscode에 Avalonia for VSCode 확장이 생겼습니다.

image

image

4 Likes

오~ 역시 시간이 지나면 방법이 나오는군요.
다만 여전한 문제가… C#은 빌드툴만으로는 상용 프로그램 개발 시
라이센스가 아마도 커뮤니티랑 같다고 결론이 났던가? 그럴겁니다.

2 Likes

네 그래서 VS Code가 인기가 있는 것 같습니다.
@maito 님께서는 이 스레드에서는 Visual Studio Code로 AvaloniaUI 개발 시 문제가 없으신걸로…

2 Likes

저도 그게 걸리긴 하는데
C# Devkit을 사용할 경우라고 보고 있습니다만

대체해서 오픈소스 형식으로 발전되고있기도합니다!

에뮬레이터
(.NET Meteor - Visual Studio Marketplace)

C# 인텔리센스
(DotRush - Visual Studio Marketplace)

2 Likes


현재 리눅스 상에서 vscode로 테스트 중 입니다. 처음 접하는거라 미숙한 면이 있지만 조금씩 해결하고 있습니다. vscode로 테스트하다가 jetbrain rider로 본격적으로 해볼까합니다.
다만 현재 프로젝트 진행이 STOP 되었네요. 임베디드 리눅스에서 c++, python, c# 3가지를 선택해야 될 것 같습니다. 기능이야 3가지 전부 어떻게든 구현 할 수 있을 것 같은데, 실시간으로 처리하는 수학적인 알고리즘들이 많아서 고민좀 되네요.

3 Likes