클라이언트가 하나 뿐이고 LAN 및 인터넷을 통해 액세스해야하는 경우 ASP.NET 응용 프로그램을 개발할 때 오버 헤드가 적습니다. 이는 구성하고 보안해야하는 추가 서비스를 설정할 필요가 없기 때문입니다. 반면에 ASP.NET 응용 프로그램에 대한 좋은 UI를 만드는 것은 WPF 응용 프로그램의 WinForm (UI 요구에 따라 다름)보다 훨씬 어려울 수 있습니다.
하지만 .... 앞으로 새로운 고객을 계획한다면 어떨까요? 다른 요구를 가진 다른 그룹의 사용자를위한 (네이티브) 모바일 앱 또는 다른 (윈도우/웹) 클라이언트일까요? 그런 다음 웹 서비스는 몇 가지 장점을 제공합니다 ...
예를 들어 일부 CRUD 작업을 위해 새 Windows Phone 응용 프로그램 (웹 응용 프로그램과 함께 사용)을 만들고 싶습니다.
웹 응용 프로그램에서 모든 데이터베이스 논리 및 비즈니스 규칙을 작성하면 Windows Phone에서 직접 사용할 수 없습니다. .NET Framework 프로필과 호환되는 경우 어셈블리를 사용할 수 있습니다. 그러나 Xamarin 또는 비슷한 것을 사용하지 않고 Android 애플리케이션을 만들고 싶다면 어떻게해야할까요? 웹 응용 프로그램의 어셈블리를 사용할 수 없으며 논리를 다시 작성해야합니다 ... 웹 서비스 (예 : REST 웹 서비스)가있을 때 모든 데이터베이스 및 (공유) 비즈니스 논리에 대해 서비스를 호출 할 수 있습니다 . 그리고 올바른 방법으로 작동하는지 신경 쓸 필요가 없습니다. 모든 로직이 서비스에서 중앙 집중화되기 때문에 유지 보수 가능성은 웹 서비스의 장점이 될 수 있습니다.
데스크톱 VS 웹 토론은 끝이 없습니다. 그러나 결론은 데스크탑 UI는 코딩 및 유지 관리가 더 쉽지만 웹은 각 브라우저가 UI를 다른 방식으로 렌더링하는 '브라우저 지옥'이라는 점입니다. HTML5 + Javascript (+ jQuery)에서 뛰어난 기술을 보유하고 있다면 웹에서 적절한 UI를 얻을 수 있으며 가난한 데스크톱 응용 프로그램과 다소 유사 할 수 있습니다. 그런 다음 XAML 방식으로 이동하면 UI에는 제한이 없지만 Windows에만 국한됩니다. 아니 아이폰, 아니 맥, 아니 안드로이드, 아무 것도. –
참고로, "asp"가 아니라 "asp.net"입니다. –