ASP.NET Core의 Minimal API에 대한 생각

학생 교육용으로는 훌륭한 것 같은데, 어떻게 생각하세요?

image

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/", () => "Hello, world!");

app.Run();
6개의 좋아요

Minimal API 형태가 요즘 학생들에게 접근하기는 상당히 좋을 것 같습니다. 개인적인 생각이지만 Node.js의 영향이 큰 것 같습니다. Spring Boot도 Minimal API같은 형태가 있는지는 모르겠으나, 많이들 입모아서 ‘간단한 서버 구축’ 시에는 Node.js를 쓰는 것이 정석화 되었는데요. 역시 일단은 내부적으로 어떻게 돌아가는 지는 모르더라도, 최대한 짧은 코드로 서버구축이 가능하다 라는 개발을 시작하는 단계에서 매우 큰 장점이라고 생각합니다. 이제 그 최신 유행에 .NET도 합류하게 된 것 같아서 상당한 장점이라 생각합니다. 마찬가지로 학생들도 좋아할 것 같습니다.

한 가지 학생들에게 우려되는 점이라면, 국내의 많은 .NET 회사들은 Minimal API가 출시되었는지도 모를거라는 안타까움입니다. 아마 .NET Framework를 쓰는 회사가 대다수일꺼고, 그 중에서도 Web 분야는 WebForm을 아직 많이 사용할 거라…학교에서 학생들이 신기술로 무장하고 최신 IT 동향을 배워왔어도 Minimal API를 신입이 선보인다면 취업한 회사에서 많은 선배들을 이겨내야하지 않을까 싶습니다. 저처럼 ‘학교는 이론을 배우는 곳이고 실무는 다르다’ 이런 말을 들을까봐 걱정입니다.

물론 그런 신입이 저희 회사에 입사해준다면 전 너무 좋을 거 같습니다^^

5개의 좋아요

@Vincent 님 의견에 공감합니다. 그런데 그건 다시 말해서, "당장 납기일을 맞추는 것이 중요하지 그 외엔 아무것도 필요 없는 곳"에서의 진리인 것 같습니다.

납기일을 맞추기 위해 늘상 써오던 기술을 안정적으로 쓰는 것이 중요한 곳은 자바이든 닷넷이든 새로운 기술이 들어갈 자리는 아닌 것 같습니다. 비슷한 이유로, Hibernate는 경시되고 MyBatis는 우대받거나, 스프링 5에서 심혈을 기울였던 리액티브 기반의 비동기 패러다임은 전자정부 프레임워크가 버전 업그레이드가 되어 해당 기술을 채택하지 않는 이상 계속 외면당할 것 같습니다.

이야기가 삼천포로 새는 것 같지만, 그래서 저는 이런 새로운 기술에 대한 탐구를 목적이 뚜렷한 기존의 실무 영역보다는 오픈 소스 활동을 통해서 본인의 커리어를 확장하는 방향으로 해소하시면 어떨까 하는 생각이 듭니다. 실무에 새로운 기술을 들이려는 것은 여러 가지 이유로 환영받지 못하니까요. (바꿔 말하면 그것이 그 분야의 정점이고 한계라는 뜻이라고도 봅니다.) :slight_smile:

===

다시 본론으로 와서, 미니멀 API는 전에 FeatherHttp 프로토타입으로 소개되던 물건이었고 제가 몇 번 포럼에서 열렬하게 환영하면서 언급했던 기능인데, 점점 공감해주시는 분들이 많은 것 같아 기쁩니다. :+1:

5개의 좋아요

저도 @rkttu 의견에 공감합니다. 과거의 경험을 되짚어 보면, Java로 한참 개발할 때도 언어 버젼 부터 시작해서 사용하는 라이브러리까지 다양하게 새로운 기능에 대한 조직의 저항감을 경험해야 했습니다. 특히 SI 환경에서는 상당히 심합니다. 지금은 SI를 하지 않기 때문에 잘은 모르겠지만 크게 변하지 않았으리라 생각하고요,

SI가 아니더라도 제가 회사에 처음 입사했을 때 생각해보면, 항상 선배들에게 새로운 기능을 알리고 설득해야 하는 입장 이였던 것 같습니다. 안정적이고 익숙한 것을 선택하느냐, 새로운 기능으로 능률을 올릴 것인지는 선택의 문제이기 때문에 맞다 틀렸다는 아닌 것 같고요, 새로운 것을 추구하는 자라면 단체에서 자신의 생각을 녹일 수 있도록 부단히 노력해야 하는 건 숙명 같아요.

반대로 새로운 것을 적용하게 되면 익숙해질 때까지 다양한 시행착오를 가져야 하고 아직 모듈이 안정적이지 않아 한참 삽질도 해야 합니다. 최종 릴리즈에는 보수적으로, 실험적인 작업에서는 적극적으로 활용할 필요가 있어 보여요.

저는 최상위문과 앞으로 최상위문과 함께 발전할 내용들에 관심이 많았는데, 미니멀 API와 함께 이런 환경은 좀 더 보편적인 위치로 점진적으로 이동할 것 같습니다.

4개의 좋아요

minimal 하게 서버를 작성해본적이 없어서 어떤식으로 활용해야 할지 감이 오지는 않습니다. 본문같은 활용법 뿐만 아니더라도 startup.cs 에 크게 의존하던 기존 설정에 비해 닷넷6에서 뚜렷하게 짧고 간결하게 설정할 수 있게 된것은 매우 만족스럽습니다. 국내에서 닷넷 웹 백앤드는 사실상 전멸이라 좋아진게 참 많은데 의견을 나눌사람조차 없는게 아쉽네요.

3개의 좋아요