OPEN SIVLER 맛보기

wpf 를 잘하지 못해서 오픈 실버는 러닝 커브가 얼마나 높을까
두려웠지만 도전해보기로 하고

https://doc.opensilver.net/documentation/general/getting-started-tour.html

이곳 tutorial 대로 따라 해봤습니다.

image

Visual Studio VSIX 를 설치했습니다.


바로 프로젝트 템플릿이 나오고

심지어 테마도 있군요 흠

템플릿은 일단 이렇게 세개의 프로젝트가 나오는데 실체는
Application 이고 browser 는 blazor로 퍼블리싱 하는 웹어플리케이션
Simulator 는 테스트 도구로 보입니다.


페이지 컨트롤로 기존 WPF로 동일한 경험으로 개발해봤습니다.

실행하자

신기하게도 바로 실행되고 빠릅니다 지금까지는 기존 WPF 마이그레이션이
바로 가능한것 같습니다.

저 어플이 어디까지 가능한지 모르겠지만 로컬 자원에 접근할수 있다면 대박일것 같지만
아마 그건 안될것 같고요

배포된 웹페이지 소스를 보니

WPF로 만들었지만 결과물은 HTML 로 나옵니다 이점도 매우 신기하네요

이제 저도 모바일 개발도 할수있을것 같습니다.

무엇보다 마음에 드는것 짧은 역사에도 불구하고 꽤 여러가지 고민과 준비가 많이 돼있다는
느낌입니다.

9개의 좋아요

아직 Trigger 기능은 없는데 WPF와의 완전 호환성을 목표로 한다고 하네요

2개의 좋아요

하지만 웹에 한계상 클라이언트 HW 접근한다거나
소켓을 쓴다거나 하는것은 안되곘죠??

3개의 좋아요

@Ko_Cho 맞습니다! WPF와의 호환성을 높은 우선순위 구현 과제로 삼고 있고 Trigger도 이에 포함됩니다.

@파란매 웹에 제한적인건 다 안된다고 봐야 할 것 같아요~

3개의 좋아요

검증된 SSL 인증서를 사용하는 HTTPS 웹 사이트 컨텍스트에 한해서, 그리고 PWA (Progressive Web Application) 컨텍스트에 한해서 디바이스 통신이나 파일 입출력, 로컬 DB 같은 애플리케이션 구현에 필요한 기능들을 자바스크립트를 이용해서 구현할 수도 있을 겁니다.

다만 진짜 네이티브 애플리케이션 같은 자유도는 역시 기대하시면 안되겠지만, 과거에 비해서는 상당히 많은 API들이 열려있으니 한 번 즈음 찾아보시는 것도 유익할 것 같습니다. 그리고 개중에는 실험적인 API들도 많으니 프로덕션에서 실제로 채택할 수 있을지 여부에 대해서는 신중히 판단하시는게 필요할 겁니다.

단, 웹 소켓의 경우, TCP 소켓을 Wrapping하는 Sockifier 류의 에이전트를 추가하시면 소켓 통신을 웹 애플리케이션 수준으로 캐리할 수 있습니다. (이렇게 하면 TCP 통신을 HTTPS로 캐리한 다음, WAF 류 보안 솔루션과 통합하고 일반 네트워크 방화벽에서는 80/443만 개방하는 식으로 처리가 가능합니다.) 제가 이 주제로 만들었던 오픈 소스 라이브러리도 있으니 살펴보시면 좋을 것 같습니다.

참고로 WebsockifySharp은 본래 noVNC (HTML5 기반 VNC 클라이언트)에서 제공하던 VNC 중계를 담당하는 파이썬 서버 코드에서 착안하여 TCP 연결을 중계하는 서버와 웹 소켓을 localhost TCP 소켓으로 뚫어주는 클라이언트를 모두 만든 것입니다. 일종의 터널링이라고 보셔도 괜찮고, 개인적으로는 RDP 연결 중계와 Apache Guacamole 까지 테스트해보았습니다. ㅎㅎ

2개의 좋아요

감사합니다. 포스 통신이라든가 파일 접근등 소요가 많은것으로 아는데 훌륭한 대안이 되겠군요

3개의 좋아요