Core MVC + WebForm 개발 가능여부

안녕하세요!

처음으로 ASP.NET을 공부하면서 프로젝트를 진행하려하는 초보입니다.

자바진영 스프링부트를 이용해 접수관리프로젝트를 간단하게 진행해봤던적이 있어서

MVC패턴에 대해서 어느정도 이해도가 있어 Core MVC를 이용해 프로젝트를 진행해보고자하는데

전체적인 틀(로그인 등)은 Core MVC로 개발하고, 각 페이지(단위프로그램)은 웹폼으로 개발하는방법이

가능할지 선배님들 조언을 듣고싶습니다.

Core MVC + WebForm으로 개발하려는 이유는 전체적인 틀의 개발은 한사람이 담당해서 맡고,
2~3명이 각 개별 페이지를 개발할 예정인데 기존에 WinForm개발이 익숙하신분들이어서 위와같이 개발이 가능한 지 여부가 궁금합니다.

선배님들의 많은 조언 부탁드립니다.

감사합니다.

2개의 좋아요

일단 결론부터 말씀 드리면
불가능 할 것 같습니다.

구 버전(?) 인 asp net webform 이 있고,
asp net webform에서 MVC 아키텍처를 지원하는 asp net webform mvc가 있습니다.

이때 MVC 버전 1 ~ 5 까지 나왔는데 이 구 버전의 asp net webform에서 사용 되는
System.Web.dll 에 MVC 기능이 모두 포함 되어 있습니다.

여기 까지가 .NET Framework 입니다.

이후 .NET Core 부터는 새롭게 asp net core mvc 로 mvc가 자체 내장 되어 새로운 형태로 제공 되고 있습니다.

따라서 한 프로젝트를 .NET Framework와 .NET Core 혼용해서 개발 하는 것은 거의 불가능 하다고 생각 하셔도 될 것 같습니다.
(뭐 억지로 .NET Standard 형태로 맞추어서 할 수 있을진 모르겠지만 힘든 길 같습니다.)


MVC 구조로 하고 싶은거라면 위에서 제가 설명 드렸듯이
구 버전인 asp net webform 에서도 MVC 버전이 있으니 해당 프로젝트로 통합하여 진행 하는 것이 좋겠구요 !


꼭 두가지로 분리해서 해야 한다고 보면
아예 개별 사이트로 말씀하신
로그인 부분을 asp net core로 하시고
그 외 페이지를 asp net webform 해서
각각 개별로 호스팅을 하고 로그인 처리는 쿠키나 토큰 등을 이용해서 처리하는 것도 방법 일 것 같습니다.

또는 백앤드 부분을 asp net core 로 web api형태로 제공하고
asp net webform을 프론트 부분으로 생각하셔서 나뉘어 진행 하시는 것도 방법 일 것 같구요 !

5개의 좋아요

@aroooong 님 말씀대로 기존 개발 경험을 살리기 위해서 저런 무리한 구조로 개발하면
오히려 나중에 관리하시기 더힘들것 같습니다.
코드 재활용의 목적이 아니고 기존 개발자들의 경험을 살리고 싶다는 목적이라면
차라리 거의 비슷한 Razor 문법 .net 7 mvc 5 로 개발하시기를 권해드립니다.
괜히 regacy 가 추가될수 있어요

3개의 좋아요

자세한 답변 감사합니다.

힘든길보다는 새로운것을 더 배우는게 좋을거같네요 ㅎㅎ…

2개의 좋아요

대안 추천 감사합니다.
관리가 어렵다면 새롭게 시작하는게 좋을것같습니다 ㅎㅎ

2개의 좋아요

Web Form은 버리세요. ㅠㅠ

1개의 좋아요

차라리 MVC로 고생하시면서 배우시는게 낫지
혼용하시다가 알 수 없는 오류라도 나면
MVC+WebForm 레퍼런스로 나오는 자료가 있을리도 없어서
오히려 더 고생하실 가능성이 많습니다.
차라리 MVC 진행하시면서 고생하시면서 부딪혀가며
문제들 하나하나 검색해 나가시면서 해결해 가시는 편이
훨씬 맞는 방향이라고 보여집니다…

2개의 좋아요

Asp.Net Core MVC를 사용하는 경우, 뷰가 아닌 컨트롤러를 기준으로 분장하는 것이 더 효율적입니다.
왜냐하면, 비주얼 스튜디오로 개발할 경우, 뷰 파일(.cshtml) 자동 생성 기능이 있기 때문에, 컨트롤러 작성하는 사람이 뷰까지 생성하는 것이 간편하기 때문입니다.

  1. 모델 작성 => 코드 작업
  2. 콘트롤러 클래스 작성 => 코드 작업
  3. 액션 메서드 추가 => 코드 작업
  4. 비주얼 스튜디오: 액션 메서드에 우클릭 > 뷰생성 > 뷰의 외형(생성, 조회, 삭제 등)과 뷰에 적용할 모델 선택

그러면, 완전한 뼈대를 갖춘 뷰 파일이 자동으로 생성됩니다.

그래서, 뷰 파일을 일일이 수작업으로 작성하지 않아도 되고, 심지어 윈폼의 드래그-드랍 마저도 현타오게 만들죠. ^^

또한, 이 뼈대가 입을 옷은 css 에 의해 일괄적으로 통제되기에, 콘트롤러 작성자 별로, 테마/색감이 오락가락하는 경우가 없습니다.

Asp.Net Core MVC는 css에 관해 Bootstrap을 사용하기 때문에, CRUD 와 직접 연관 없는 뷰의 요소나, 화려한 외관은 C# 코드가 아니라, Bootstrap의 영역입니다.

따라서, 가장 적합한 업무 분장은 Bootstrap 전문가(디자이너), C# 개발자(MVC), 데이터베이스 담당자이지 않을까합니다.

3개의 좋아요

짬뽕과 짜장면을 둘 다 좋아해서 짬짜면을 가끔 시켜먹는데,
짬뽕국물이 섞인 짜장면을 먹어본 경험이 떠오르네요…
이도저도 아닌 완전 개판짬짜면…ㅠ

2개의 좋아요