2009-07-09 3 views
2

우리는 역사적인 이유로 개발 속도를 높이기 위해 WinForms를 강화한 엔터프라이즈 애플리케이션을 개발/유지하고 있습니다.미래의 웹 개발에 대한 WinForms 생각을위한 팁

이제 우리는 조만간 (더 빨리 끝날 때) 응용 프로그램이 웹 기반이어야한다고 생각합니다.

"웹에서"이동을 고려합니다. 우리가 고려해야 할 가장 중요한 것들은 무엇입니까? MVP 퍼레이드 (또는 다른 것들)와 같은 것이 현재 사용하려는 플랫폼/프레임 워크의 종류를 결정합니다. ...

winforms에서 웹으로의 마이그레이션 경험이 있습니까? 관심을 가져야 할 제안이 있습니까?

구제 : 우리 시나리오에서는 웹 기반 응용 프로그램이 좋지만 현실성이 있습니다. 나는 모든 애플리케이션이 웹 기반이어야한다는 것에 동의한다. (이것은 WinForms로 개발 한 주된 이유이다.) 그러나 때로는 요구 사항이 변경되며 시나리오에서는 SaaS으로 해당 응용 프로그램을 제공하려고합니다.

답변

4

가장 중요한 것은 사용자 인터페이스를 다른 모든 것과 완전히 분리하는 것입니다. 일단 응용 프로그램을 다시 작성하면 응용 프로그램을 다시 작성하여 포팅 할 필요가 없습니다. 웹 UI를 작성하는 것입니다.

1

NESBAWA (모든 것이 웹 앱이어야 함).

+2

SIGTMWA (때로는 웹 응용 프로그램으로 마이그레이션하는 것이 좋습니다). – FerranB

0

John이 맞습니다. 그러나 "빈 클라이언트"방식에 대해 들어 보셨습니까? 이는 일반 브라우저에서 웹 응용 프로그램으로도 실행할 수있는 .NET WinForms 응용 프로그램을 개발하는 데 상당히 새로운 접근 방식입니다. 이 방법을 사용하면 추가 개발이나 조정없이 원하는 경우 WInForms 응용 프로그램을 개발하여 웹에 배치 할 수 있습니다. 하나의 프레임 워크는 Visual WebGui

1

모 놀리 식 WinForms 응용 프로그램과 유사한 상황을 경험 한 회사에서 일했습니다. 그 경험에서 고려해야 할 두 가지가 있습니다 :

1] 기존 WinForms UI에서 모든 데이터 액세스 논리 (DAL)를 분리하십시오. 웹 개발을 시작하기 전에이 프로세스를 시작할 수 있습니다.

우리는 6 가지 주간 스프린트 시리즈로 리팩터링을 수행했습니다. 앱의 일부는 변경하기 쉽습니다. 다른 것들은 DAL, 인라인 SQL 및 UI 코드를 WinForm의 코드 뒤에 삽입하는 완전 지옥 스파게티 코드로 만들어졌습니다.

이 분리가 완료되면 두 가지 다른 UI를 지원하는 것이 더 쉽습니다.

2] ASP.Net MVC 및 대상 WebForms를 무시하십시오. WebForms는 전통적인 WinForms UI 코드 (이벤트 기반, 컴포넌트 기반) 작성 경험에 가까운 웹 응용 프로그램을 작성하도록 설계되었습니다.

페이지 수명주기를 이해해야하며 많은 신규 사용자를 떠나는 경향이있는 동적으로 생성 된 컨트롤에 몇 가지 개념적 문제가 있습니다. 그렇지 않으면 WinForms 개발자 팀이 웹 작업을 수행하는 가장 힘든 방법입니다 . MVC는 현재 웹 서클에서 매우 인기가 있을지도 모릅니다. 근면 및 강력한 디자인 리더십을 통해 WebForms을 사용하여 비슷한 결과를 얻을 수는 있지만 우려 사항을 더 잘 구분할 수 있습니다. 그러나 더 높은 수준의 지식이 필요합니다. MVC를 사용하면 HTTP 요청/응답주기에 더 가깝게 작업 할 수 있습니다. WebForms는 당신을 위해 그것을 아주 많이 추상화합니다.

귀하의 노력에 최고의 행운을 빕니다!

관련 문제