Phantom Programming 팬텀 프로그래밍
  • 내가 다시 닷넷을 시작한 이유
    2024년 11월 22일 15시 38분 29초에 업로드 된 글입니다.
    작성자: Devrun
    반응형

    2015년경 나는 위 사진에서 보이는 대학에서 컴퓨터 사이언스 전공으로 졸업했다. 뭐 학점도 나쁘지 않았다. 그 당시 나는 C언어와 C++을 배우고 OOP가 무엇인지 어떤 것인지 배워가던 찰나에 QT라는 것을 만났다.

     

    c언어와 c++로 매일 이러한 콘솔창만 띄어둔 프로그래밍에 질려가고 있을 때, QT라는 것을 만났고, QT는 나에게 새로운 혁신적인 것이었다. GUI를 만들 수 있게 해 주기 때문이었다. 그러다 Java를 만났고... Java의 기초와 Oracle DB를 배우는 중에 JavaFX를 만났다. Java FX... 토 나온다. 

     

    아무튼 그러던 중 지인이 나에게 한 마디 해주었다.

     

    "닷넷으로 해봐"

     

    닷넷이 무엇일까 찾아보고 물어본 결과 C#을 베이스로 한 framework라는 것을 배웠고, Windows Form이라는 것을 만져보았다. Java FX와 달리 드래그 드롭으로 UI를 위치시키고, C#으로 백앤드 프로그래밍만 하면 되었기 때문에 매우 편리했다. 

     

    위 사진에서 보이는 것 처럼 드래그 드롭으로 모든 것이 가능해졌기 때문에 원하는 위치에 UI를 배치하고 코드에만 집중하면 되었다. 엄청난 속도로 프로그램들을 개발이 가능했다. 이에 대해서는 그 어떤 개발자들도 반박할 수 없을 것이다. 그 편하다는 Flutter도 이 속도를 따라올 수 없다.

     

    예를 들어서 Button 하나를 만들고 ID 값을 지정한 후에 코드만 작성하면 그 버튼이 동작하기 때문이다. 더 좋은 것은 무엇인 줄 아나? Method를 자발적으로 생성해 준다. 그냥 버튼을 배치고 버튼을 더블 크릭 하면 Method가 생성되어 버리기 때문에 귀찮은 작업도 사라진다.

     

    개발을 하면서 한 두가지에 일을 자동으로 생성해 주는 것은 엄청난 속도를 달성시킨다. 개발자가 생각할 틈을 줄인다는 것이 개발 속도에 영향을 얼마나 미치는 것인가는 많은 개발자가 알 것이다. 다만 이 녀석에 크나큰 단점이 하나 있는데, 오로지 Windows 환경에서만 사용이 가능하다는 것이다.

     

    그렇게 Winform을 배우고, WPF를 만지다가 멘털이 나갔다. WPF는  XMAL이라는 새로운 문법을 또 배워야 했다. 그래서 WPF를 또 만져보던 중에 ASP.NET 웹 개발을 같이 시작했다. ASP.NET을 만지면서 느낀 것은 현 내 블로그에도 작성하고 있지만, HTML과 JS를 분리하듯이 할 필요가 없다는 것이다. 파일 하나를 만들면 자동으로 생성되기 때문에 그냥 해당 파일에서 모든 일 처리를 하면 되기 때문이었다. 그렇다고 React를 못 쓰나? 그것도 아니다.

    (내가 하던 당시엔 못 썼다 ㅋㅋ)

     

    지금의 웹 개발자들의 최소한 언어 스텍은 아래와 같다.

     

    MERN -> Mongo DB + REACT + EXPRESS JS + NodeJS

     

    여기까지 가려면 사전 필수 과목이 있는데.... HTML CSS JS다 

     

    HTML과 CSS는 1주일 정도면 배울 수 있고, JS는 뭐 평생 써먹어야 하기 때문에 지속적으로 배워야 한다. 그런데 이걸 배우다 보면 하나 그지 같은 것이 있다. JS -> JS -> JS 또 JS를 배운다는 것이다. 여기서 현타 오는 개발자가 한 둘은 아니다. 내 주위에도 이래서 웹 버리고 모바일을 간 친구도 있고, 그냥 전향해 버린 사람도 있다. 

     

    개발 세계에서 2024년이면 Front-End 슬슬 사라지는 직업군이다. 혼자 다해 먹기 위해서는 난 아래와 같이 생각한다.

     

    1. Flutter를 배운다.

    Flutter Cross Platform 기반의 framework이기 때문에 배워두면 좋다. 웹, 모바일, 데스크톱 다 사용이 가능하다. Dart라는 언어를 사용하는데 dart도 내가 보기엔 C나 c++에서 만들어진 것 같다.

     

    2. C# + .NET

    이 생태계는 윈도 환경에서 다 해 먹겠다면 필수적이다. 모바일도 가능하고, 웹도 가능하고, 데스크톱도 가능하다. 윈도 환경에서만 사용하는 프로그램 중에선 최강자다.

     

    현재로서는 나는 크게 두 가지로 나누어보 았을 때 이 두 가지를 해야 하는데, Flutter를 사용해 보니 아직 웹 부분에서 현저히 떨어진다. 닷넷에 비해서 Flutter는 웹에서 만큼은 따라오려면 한 참 멀었다. 

     

    닷넷에서 모바일 개발은?

     

    MAUI가 있고, Xamarin이 있는데 현재는 MAUI를 사용한다. MAUI는 나쁘지는 않은데, 뭔가 부족하다. 많이... 아무튼 마소도 만들어두고 쓰지는 않는다고 한다. 

     

    고로 나는 닷넷을 다시 시작했고, Flutter는 모바일 환경에서 하려고 배워둔 상황이다. 

    반응형
    댓글