ASP.Net Core로 웹사이트 만들어본 후기

프로그래밍/C# 2019.11.21 댓글 Plorence

저는 주력으로 웹 개발을 하는 사람도 아니고 디자인도 엉망입니다.

웹에 대해 아주 얕은 지식만 있습니다.

만들고 싶은 것도 있고 개인 소개용 웹사이트나 프로젝트에서 API 서버를 개발해야 될 일이 있었습니다.

여러 가지 찾다가 Django, Node.js, ASP.net(core) 세 가지였습니다.

 

ASP.Net Core를 선택한 이유

매우 간단한 이유인데, 파이썬이나 자바스크립트보단 C#을 더 잘 알고 있었습니다.

파이썬은 거의 모르는 수준이고 자바스크립트는 어려운 문법까진 모르지만 간단한 것과 코드 수정 정도는 가능했습니다.

그에 반해 C#은 제가 만들고 싶은 것을 만들만한 수준은 되었습니다.

거기서도 ASP.Net을 택하느냐 ASP.Net Core를 택하느냐에 갈렸지만 크로스 플랫폼을 지원하는 ASP.Net Core를 택했습니다.

(심지어 도커까지 가능)

 

ASP.Net Core의 장점

 

HTML에서 C#코드를 사용 가능(Razor)

@{ 
//C#코드
    int signCount = 0;
    foreach (var pair in Model.signCountInGame)
    {
        signCount += pair.Value;
    }
    double progressValue = (double)signCount / (double)Model.targetCount * 100.0;
}
<div class="container">
    <section>
        <div class="row">
            <div class="col-12 text-center">
                <span class="d-inline-block display-4 mb-3">
                    목표치: @Html.Raw(Model.targetCount)명
                </span>
                <div class="container">
                    <div class="row">
                        <div class="col-6 offset-3">
                            <div class=" text-center">
                                <div class="d-block w-100">
                                    <div class="progress">
                                        <div class="progress-bar" role="progressbar" aria-valuenow="@Html.Raw((int)@progressValue)" aria-valuemin="0" aria-valuemax="100" style="width: @progressValue%; background-color: rgb(52, 125, 241);">@progressValue%</div>
                                    </div>
                                </div>
                            </div>
                        </div>

실제 개발에 쓰인 일부분만 떼왔습니다.

'@'를 사용해 C#코드를 사용할 수 있습니다.

컨트롤러에서 뷰로 보내기 전에 다 처리해서 보내던가 뷰로 뷰모델을 보내서 직접 처리하는 방법도 있습니다.

(위 코드는 변수를 하나 더 만들어서 사용하기보다는 원래 있던 변수로 재사용하는 게 더 낫다고 생각했습니다.)

 

SQL를 작성할 줄 몰라도 된다(Entity Framework Core)

인강 보다가 이 부분에서 박수를 쳤는데 LINQ만 알고 있어도 자유롭게 사용 가능합니다.

_context.SignatureModel.Add(model);
_context.SaveChanges();

어떤 모델을 Insert 할 때 2줄이면 됩니다.

 

 

코드 자동 생성(스캐폴딩)

몇 번 클릭하면 자기가 알아서 코드, 파일을 생성해줍니다.

 

비주얼 스튜디오

무겁지만 값어치는 그 이상입니다.

아예 SQL 서버 뷰어가 있고 DB를 만들거나 테이블을 만들거나 삽입 또는 수정 또한 가능합니다.

ASP.net Core 하면서 특별한 기능은 못 봐서 이 정도로만 설명하겠습니다.

 

Nuget 사용 가능

이건 안 되는 줄 알았는데 되더군요.

몇 번 클릭하면 라이브러리 설치하기가 쉬우니 정말 좋습니다.

(당연히 라이브러리가 지원하는 플랫폼은 따져야 합니다.)

 

 

마지막으로 제가 ASP.Net Core를 사용해서 만든 웹사이트입니다.

수익을 낼 목적이나 많은 관심보다는 연습용으로 만든 취지가 더 강합니다.

조언이나 웹사이트의 문제점을 지적해준 내 친구들에게 고맙다고 말씀드리고 싶습니다.

댓글