Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Long Term Project] 식탁보 for macOS (가칭) PoC #97

Open
rkttu opened this issue Sep 8, 2022 · 5 comments
Open

[Long Term Project] 식탁보 for macOS (가칭) PoC #97

rkttu opened this issue Sep 8, 2022 · 5 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed research Research required

Comments

@rkttu
Copy link
Member

rkttu commented Sep 8, 2022

노트 이 이슈는 단기 이슈가 아닌, 리서치 목적으로 자료를 정리하기 위해 개설한 이슈입니다.

2022-09-08

  • 시중 은행 사이트들은 Veraport를 중심으로 여러 보안 소프트웨어들의 macOS 버전을 이미 포팅하여 제공 중입니다.
  • Apple의 Virtualization API (이하 VZ API)는 macOS Monterey (12)부터 제공되기 시작했고, 코드 샘플도 이미 제공됩니다. 여기서 찾아볼 수 있습니다.
  • VZ API로 macOS VM을 만들면, 번들링 패키지로 만들어 VM 콘텐츠를 유지/관리할 수 있습니다.
    • 식탁보에서는 번들링 패키지 사본을 유지/보관하는 형태로 컨테이너 베이스 이미지처럼 관리할 수 있을 것 같습니다.
  • 샌드박스 목적으로 VM을 만드는 것이므로, 첫 macOS 설치 때 실행되는 OOBE (Out-Of-Box Experience) 과정은 불필요합니다. 이를 skip할 수 있는 방법으로 이곳의 내용을 시험해볼 수 있을 것 같습니다. (검증되지는 않음)
@rkttu rkttu added the enhancement New feature or request label Sep 8, 2022
@rkttu rkttu self-assigned this Sep 8, 2022
@rkttu rkttu added help wanted Extra attention is needed research Research required labels Sep 8, 2022
@134130
Copy link

134130 commented Dec 30, 2023

MacOS는 프로젝트가 WPF로 구성되어 있어 UI를 재사용하기 어렵네요..

@rkttu
UI를 Avalonia와 같은 크로스플랫폼으로 변경하실 계획이신지 아니면 완전 별도로 가져갈 것인지 혹시 생각해두신 방향이 있으실지 여쭤봅니다.

@rkttu
Copy link
Member Author

rkttu commented Dec 30, 2023

MacOS는 프로젝트가 WPF로 구성되어 있어 UI를 재사용하기 어렵네요..

@rkttu UI를 Avalonia와 같은 크로스플랫폼으로 변경하실 계획이신지 아니면 완전 별도로 가져갈 것인지 혹시 생각해두신 방향이 있으실지 여쭤봅니다.

아직 결정된 것은 아무것도 없습니다만, macOS 샌드박스 레이어는 Swift를 사용하고, 식탁보 애플리케이션 자체는 Uno나 Avalonia, 혹은 Blazor Hybrid (MAUI)를 사용하는 것을 검토 중입니다! 😊

@rkttu rkttu changed the title 식탁보 for macOS (가칭) PoC [Long Term Project] 식탁보 for macOS (가칭) PoC Jan 28, 2024
@134130
Copy link

134130 commented Mar 2, 2024

MacOS 방향에 대해서 결정 이 Issue에 한 번 남겨주시면 감사드리겠습니다. 제가 현재는 "macos 사용 중" + "dotnet 대신 golang을 사용"하고 있어 windows 프로젝트에 기여하긴 어렵지만, cross platform 프로젝트로 방향이 결정되시면 시간을 내어 기여도 도전해보려합니다.

최근 MacOS Virtualization Framework 바인딩을 시도하신 것 같아 조만간이라는 생각이 드네요~

@rkttu
Copy link
Member Author

rkttu commented Mar 3, 2024

macOS 버전 (Apple Silicon만 해당)의 경우, Windows Sandbox와 동일한 기능을 제공하는 macOS용 Sandbox 개발이 필요한 상황입니다. 따라서 Virtualization.framework API가 Xamarin.Mac에는 들어있지 않아서 일단 Objective Sharpie를 이용해서 바인딩 라이브러리부터 만들어보고 있습니다. (가능한 다른 언어와 Interop으로 연결하는 부분은 최소화하고, C#과 .NET Runtime으로 어디까지 통합하도록 만들 수 있을지를 시험해보기 위해서 이렇게 진행해보고 있습니다.)

macOS Sandbox 개발이 끝나면, 식탁보 macOS UI 파트의 경우 지금 사용하는 WPF처럼 네이티브 OS와 충분히 상호작용할 수 있으면서 .NET 런타임의 장점을 살릴 수 있는 UI 프레임워크를 선택하려 합니다. 식탁보 애플리케이션의 특성 상 크로스플랫폼 UI 프레임워크는 사용이 적절할 수도, 적절하지 않을 수도 있어서 이 부분은 열린 고민으로 남겨둔 상태입니다.

@TK50P
Copy link

TK50P commented Oct 7, 2024

QEMU나 UTM처럼 다른 가상머신을 빌려 쓰는건 어떤가요?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed research Research required
Projects
None yet
Development

No branches or pull requests

3 participants