프로젝트/개발일지

한달 동안 AI와 함께 Flutter앱을 개발하면서 느낀 점

반포한강공원 2024. 8. 29. 18:45

Flutter 앱을 하나 만들고 싶어, AI와 함께 코딩을 해보고 있다.

유료버전이 아니어서 그런지 생각보다 쉽지 않네.

 

1. 기간 : 한 달 정도

2. 코드량 : 간단한 계산기 앱 하나

3. 사용한 것 : 다 무료버전이긴 하나...

   - ChatGPT

   - Cloude

   - 뤼튼

   - MS Copilot

   - Explorer Copilot

 

아직 개발이 많이 남아 있지만, 느낀 점을 간단히 정리.


1. 스케치 버전 짜는 건 정말 빠름

- 주루룩 Skeleton Code 를 다 짜줌.

- 그래서 첫시작을 하기 편함.

- 다만, 무료 버전이라 그런지 옛날 버전으로 코드가 나옴.

- deprecated 된 function 들이 많아서 다시 검색해야 함.

2. 검증하거나 고치려면 결국 Flutter 문법과 작동원리를 다 알아야 함.

- 원하는 코드가 아니면 조금씩 손을 봐야 하는데, 결국 문법이랑 프레임워크 동작원리를 다 이해해야 함.

- AI가 다 해준다길래 배경지식 없이 시작했는데, 코드에 손을 댈 수 없었음.

- 결국 Dart 문법을 끝까지 다 보고, Flutter Codelab을 따라해봄.

- Function 용법을 알고 싶어 github 코드도 뒤지게 됨.


3. 예제가 필요한 경우 정말 편리함.

- Flutter document를 보면 설명이 잘 나와 있긴 한데, 내가 원하는대로 만드려면 코드를 어떻게 짜야할지 몰랐음.

- 이 때 적절히 Copilot에게 물어보면 예제코드를 잘 만들어줌.

- 그대로 쓸 수는 없고 parameter 용법 등을 이해할 수 있음.

- 무료 버전이어서 그런지 몰라도, 부족한 게 많아서 ChatGPT, Cloude ... 등에 비교해가며 다 물어봐야 함.

- LLM 별로 버전이나 코딩스타일이 달라서, 결국 다시 해석해야 함.

4. Document 가 보고 싶을 땐 구글 검색이 훨씬 더 나음

- API document 의 Specification 을 자세히 보고 싶은데, AI 에게 물어보면 지가 해석한 대답을 해줌.

- 아, 니 생각이 아니라, 그 스펙 문서가 보고 싶다고 !!!

- TextStyle() 함수에서 사용하는 parameter 들을 다 흝어보고 싶다고 !


5. 색깔, 크기, 위치 등을 내 취향에 맞추려면 결국 다시 다 뒤집어 엎어야 함.

- Material Design 3 는 2와 사용방법이 조금 다름

- 그런데, 기본 컬러가 너무 안예뻐서 버튼 배치 등을 만지다 보면, 결국 초기 코드를 깨서 다시 만들어야 함.

- 이거 프롬프팅하려고 템플릿 만들다가 열받아서 그냥 짰음.

- 프롬프팅 하려면 10줄인데 코드 보고 옮겨 적으면 2줄이면 끝.


6. 프롬프팅만 잘하면 좋다길래, 템플릿을 정교하게 잘 짜봤는데,
- 와 ~ 이거 거의 코딩하는 것만큼 배경지식이 들어감.

- 어떻게 코딩할지 상상하고, 그걸 다시 구조화된 자연어 프롬프트로 변환해야 함.

- 코딩하면 될 걸, 자연어로 다시 한 번 일을 더해야 하는 느낌.

- 완전 초보자라면 정말 막막할 듯.

- Flutter가 위젯 베이스로 움직이는지도 모르고, Column, Row, Container 등의 용법도 모르는데,

- 프롬프트를 어떻게 만들어야 할지 상상조차도 못할 듯.
- 결국 Flutter 를 처음부터 다 다시 흝어보고 익혀야 했음.

 

7. Troubleshooting하려면 결국 Framework까지 다 공부해야 함.

- Flutter가 어떤 식으로 동작하는지 모른다면, AI 한테 물어볼 수도 없다.

- 뭘 알아야 물어보지.

- 에러코드를 긁어다가 AI 한테 물어보니, 동작방식을 모르면 읽어도 모름

- 초보자는 눈뜬 장님.

 

시사점

한 줄 요약을 먼저 하자면,

- 이젠 Copilot 이나 AI 없으면 개발을 못하겠다.

 

사족을 덧붙이자면,

 

(1) 코딩 도우미로서는 정말 강력하다.

Flutter의 시니어 개발자, 아예 Flutter를 만든 구글 개발자를 앞에다 놓고 코딩하는 느낌.

아무리 물어도 귀찮아 하지 않아서 너무 좋다.

앞으로는 물어볼 고수가 없어도 뭔가 쉽게 익힐 수 있을 듯.

 

(2) 결국 소프트웨어 전반적인 지식은 알아야 한다.

AI가 "자비스"처럼 동작할 때까지는 결국 소프트웨어를 공부해야 한다.

MVC 모델, http 통신 등 시스템 구조와 Low Level 이론 등은 필수.

화면 원리는 결국 Web의 구조를 어느 정도 따라감.

따라서 HTML, CSS, JavaScript 는 기본적으로 알아야 다른 것도 알 수 있음.

Flutter는 꽤 많은 부분이 Web의 변형판, 안드로이드 Jetpack compose 의 간소화 버전.

프론트엔드의 구조를 이해하지 못하면, 이거 짜다가 하세월일 듯.

 

(3) 미래가 언제쯤 바뀔까?

이론 학습은 정답이 있는 편이니까 그렇다 치더라도,

디자인은 내 취향이라, 사람 취향까지 학습하려면 어마어마한 GPU가 필요할 듯.

내 마음에 쏙 드는 결과물을 만들어내려면 독심술도 학습해야 할 것 같다.

그러려면 나랑 엄청 친숙해지는 기간이 필요할 것 같은데,

나만의 AI bot? 뭔가 감시당하는 느낌이어서 거부감을 가진 사람도 있을 듯.

"자비스"가 되려면 뭔가 AI가 한 번 더 점핑해야 할 것 같다.

 

(4) 이제 초보자들은 어떻게 배워야 하지?

뭔가 이젠 학습방식이 기존과는 많이 달라져야 할 것 같다.

맨땅에 책 펴 놓고 암기할 건 아닌 듯.

실습이랑 토론, 대화하기 이런 거 많이 필요할 것 같은데,

정확히 어떻게 달라져야 할지는 모르겠다.

 

기타 등등...

AI 가 존재하지 않을 때와 비교해서 분명 엄청나게 뭔가 바뀌었다.

앞으로도 더 엄청나게 바뀔 것 같다.

프론티어들에 의해 AI 기술도 엄청나게 바뀔 것 같다.

 

하지만, 인류가 이런 AI를 어떻게 다루어야 할지 학습하고 어떻게 이용할지 결정하려면,

그리고 어떻게 진화시켜야 할지 결심하게 되려면 꽤 시간이 많이 걸릴 것 같다.

 

※ 유료버전 써봐야 하나?

- 지금은 개발자들에게 유료과금을 하는데,

- AI가 개발자를 대체해버리면 누구한테 과금을 해야 할까?

- AI를 쓰는 사람을 점차 대체하면 돈 내는 사람은 과연 누가 될까?

 

끝.

반응형