안녕하세요.
원래 자바엔지니어였는데 여차저차해서 15년정도 닷넷개발을 하고 있습니다.
닷넷이라고해도 거의 독학인데다가 WinForm개발이 대부분이라 별로 내세울게 없는 정도입니다.
데스크탑 어플만 만들다가 독학으로 ASP.NET Core MVC로 사이트를 만들고 있습니다.
자바할때는 웹엔지니어였는데 거의 20년만이라 웹개발은 완전 신참이네요.
데스크탑 어플의 웹버젼을 만들어보고 있는데 되도록이면 UI를 기존화면 그대로 하고 싶어서
거의 WebForm 비슷하게 만들고 있습니다.
질문 내용을 요약을 하자면
검색, 리스트, 상세내용이 한 화면에 있는 상태에서 리스트를 클릭하면 화면 전이를 시키지 않고 상세내용만 가져와서 뿌려주고 싶은데요.
Ajax로 결과를 HTML을 생성해서 태그를 바꿔주면 될거 같은 내용을 웹검색으로 찾기는 했는데 , 이 상세내용의 HTML이 상당히 길어서 스크립트로 동적 생성하기에는 어려워 보입니다. 물로 할려고야 한다면 못할것도 없지만, 가독성과 유지보수를 생각하면 별로 하고싶지는 않네요.
검색 조건을 Hidden에 담아서 리스트를 계속 뿌려주거나 리스트 결과자체를 Json으로 숨겨뒀다가 DB검색없이 리스트를 다시 만들어 주는 것도 해봤는데 뭔가 이건 아닌거 같고…
싱글페이지라서 MVC보다는 Blazor가 더 적합한거 같기도 해서 갈아탈까도 생각합니다만
뭔가 다른 방법이 없을까 질문드려봅니다.
블레이저에서는 호미질이지만, 아니라면 가래로도 막기 힘든 부분이죠.
이미, SPA를 선택하지 않았을 때 직면할 수 있는 문제들을 잘 알고 계신 것 같습니다.
그런데, 혹시나 웹앱을 고려하면서도, 데스크탑 앱스러움에 집착하고 계신 것은 아닌지도 고민해보세요.
“화면 한 번 깜빡이는 게 그렇게 큰 문제인가?”
웹앱은 데스크탑에서 고려하지 않아도 되는 현실적인 문제가 많다는 점은 아실 것입니다.
화면 깜빡임을 없애는 비용 == SPA 비용이 의외로 클 수 있습니다.
물론, 블레이저는 프론트 엔드 기술이기 때문에 윈폼의 폼 디자이너나, WPF의 XAML 을 대체하여 데스크탑 UI 구성 도구로 사용될 수 있습니다. (이를 지원하는 빌드 인프라는 모두 갖춰져 있습니다)
프론트 엔드 기술만 있다면 UI 자유도는 월등히 높다고 할 수 있습니다.
저 같은 경우 간단한 독립앱은 블레이저 와즘으로 빌드해서 정적 서버를 통해 배포합니다.
사용자에게 링크만 주면, OS에 상관 없이 바로 사용이 가능하니까 앱의 배송과 관련해서 신경 쓸게 없습니다. 또한, 요즘은 거의 모든 클라우드 서비스에서, 정적 호스팅은 거의 무료이기 때문에 앱 배송의 비용도 들지 않습니다. 1년에 2만원 이하여 도메인 비용만 들 뿐이죠.