flutter : 제로부터 시작하는 인스타그램 클론코딩 - #0 마음에 드는 플러터 강의가 없어서 직접 만들는 강의

     

목차

     

    플러터 강의를 시작하는 목적

    저는 백엔드개발자로 일하고 있지만, 아주 초기에는 안드로이드 개발자였습니다 ㅋㅋ 물론 취업하기 전이었고, 학부와 대학원 시절에 안드로이드가 주력이었기 때문에 그렇게 말하고 있지만, 지금 와서 생각해 보니 안드로이드 개발자라고 말할 수 있나? 라는 의문이 들긴 하지만요.

     

    백엔드 개발을 하면서 계속 아쉬운 점은 사용할 수 있는 화면, 즉 UI를 만들 수 없다는 점입니다. 물론 간단한 화면정도는 제공하는 프레임워크가 있긴 하지만 상용화가 가능한 클라이언트를 만들고 싶은 욕심은 항상 있습니다. 예를 들어 특정 서비스를 만들고 싶은데 백엔드 만드는 건 문제가 아닌데 앱이나 웹을 만드는 건 문제가 됩니다. 가장 좋은 방법은 근처에 프론트를 맡아줄 사람이 있는 건데, 이게 쉽지 않잖아요? 서로 스케줄도 맞아야 되고 지속적으로 개발하기 위한 노력도 필요합니다. 그래서 가장 쉬운 건 내가 둘다 하자!입니다 ㅋㅋ 

     

    올해 들어서 플러터 강의나 책을 많이 보면서 공부하고 있는데 생각보다 국내에 좋은 강의나 책이 없습니다. 그나마 최근 코드팩토리라는 저자가 쓴 플러터 강의를 봤는데, 가격 치고는 너무 별로더군요. 플러터를 배운다기보다는 앱을 찍어내는 방법을 배우는 느낌이었습니다. 그래서 이럴 바에 그냥 내가 딥하게 공부하면서 강의를 만들어보자! 해서 시작하게 되었습니다. 

     

     

     

    강의 진행 방향

    일단 기존에 제가 만든 django : 제로부터 시작하는 인스타그램 클론코딩을 기반으로 flutter로 인스타그램을 구현해 볼 생각입니다. 다른 점은 django로 할 때는 프론트와 백엔드 모두 django로 만들었지만, flutter 강의에서는 프론트엔드는 flutter, 백엔드는 기존에 django 백엔드를 사용할 예정입니다. 물론 기존에 django 인스타그램 코드를 완전히 재사용하지는 못하고 조금 바꿔야겠지만요. 

     

    그리고 강의를 따라하는 사용자분들을 위해 django 코드는 도커 이미지로 제공할 예정입니다. 여러분들 컴퓨터에서 도커로 django 프로젝트를 실행시켜서 백엔드 코드를 돌아가게 만들고, 그 위에서 flutter로 프론트엔드를 만드는 방식이죠. 이건 이전 블로그 글 중에 서버개발자가 되는 방법에서 한번 써먹었던 건데, 그때는 react를 docker로 제공하고 백엔드를 django로 만드는 방식이었지만요. 

     

    그리고 django 강의를 보신 분이라면 직접 django 코드를 수정해서도 가능할겁니다. ㅎㅎ 물론 프론트와 백엔드를 동시에 하고 싶은 욕심쟁이들만 이렇게 하겠지요 ㅋㅋ

     

    따라서 기존에 django로 만든 인스타그램 프로젝트를 백엔드 api로 사용하는 flutter 앱(웹)을 만드는게 목적입니다. 

     

    flutter에서 사용하는 언어는 dart이기 때문에 아주 생소한데요, C기반이기 때문에 C언어를 5년동안 사용했던 제 입장에서는 코드가 아주 익숙해서 좋습니다 ㅎㅎ 대신 flutter에서 사용되는 위젯이나 프론트엔드용 코딩스타일이 저한테 생소해서 아마 만들면서 이것저것 많이 분석해 보고 찾아보고 하느라 시간이 오래 걸리지 않을까 싶네요. 사실 강의라기보다는 그냥 공부하는걸 공유한다고 해야 하나...

     

    강의는 일단 블로그를 쓰면서 만들어보고 어느 정도 만들어지면 유튜브로 만들 계획입니다. 

     

     

     

     

    최종 계획

    현재 생각하고 있는 계획은 아래와 같습니다.

     

    1. 기존에 만들어놓은 django 백엔드 코드를 활용해 flutter 인스타그램 클론코딩 완성

    2. flutter 인스타그램 클론코딩 완성 후 이 프로젝트를 기반으로 springboot 백엔드 강의 진행

    3. flutter, springboot로 각각 프론트 백엔드 구성 후 개발자 커뮤니티 같은 웹 서비스 개발.

     

    최종적으로는 flutter + springboot의 서비스를 만들 계획이죠. 그럼 처음부터 springboot 쓰면 편하긴 할 텐데, 이미 만들어놓은 django프로젝트가 있기도 하고, 아직은 django가 저에게 생산성이 더 높습니다 ㅋㅋ springboot로 또다시 만들려면 너무 오래 걸릴 것 같아요. (배우면서 해야 하니)

     

     

    반응형

    댓글

    Designed by JB FACTORY