본문 바로가기

💻 내 소개 안녕하세요 엄청짱 프로그래머 손다빈 입니다.
  • 나이 : 96년생
  • 특이사항 : MZ세대, INFJ, 오른손잡이, 아이폰 유저
  • 좋아하는 음식 : 햄버거피자치킨솥뚜껑삼겹살떡볶이오튀김밥
  • 취미 : 개발, Programming, 코딩, 프로그래밍, Coding

🥷기술
Unity
Godot
Cpp
Javascript
D3
Vue

🐱 우리집 고양이 소개
츄르 먹은 후 츄르 먹기 전
  • 이름 : 콜라
  • 나이 : 8살
  • 종 : Nado moreum

📱 개인 프로젝트
🏢 참여한 프로젝트
빌런즈 Life is Pair 도씨어부키우기 직장상사혼내주기 서바이벌빙고 SlitherCoin

🌱 내 잔디밭

영단어원툴 (영어단어 외우는 앱) 본문

글 묶음/내가 만든거

영단어원툴 (영어단어 외우는 앱)

초긍정 개발자 다빈맨 2023. 9. 12. 00:49

 

개발 언어 : Flutter + Dart

다운로드 : 안드로이드 (플레이 스토어), iOS (앱스토어)


작업 후기

이번 프로젝트는 판매용이 아닌 개인적인 사용 목적에 맞춰서 개발하게 되었습니다. 아무래도 완성도면에서 다른 경쟁앱에 비해 상대적으로 부족한 부분은 많았던 것 같아요.

가볍게 시작했지만 생각보다 많은 스크립트를 작성하게 되었다

이번에 Flutter와 Dart언어를 처음 접했는데 공부하면서 작업하다 보니 어느새 완성까지 올 수 있었습니다.

생각해보면 Vue, Node, PHP, Cocos2d-x, Godot, GameMaker, Unity... 지금까지 이렇게 여러가지 환경에서 개발하면서 결과물을 만들어 왔지만 Flutter + Dart 의 경험은 이전의 개발 경험과는 또 다른 재미를 느낄 수 있었습니다.

플러터를 선택한 이유

처음에는 게임엔진으로 앱을 만들어 볼까도 생각했습니다. 제가 가장 잘 만들 수 있는 환경이니까요. 하지만 플러터와 같이 네이티브 앱 개발에 좀 더 가까운 프레임 워크 환경에서 게임이 아닌 '앱'을 개발하고 싶었습니다.

 

자료를 찾아보니 React Native, MAUI, Flutter, Vue Native 이렇게 후보를 정했는데 플러터와 다트에 대한 자료를 찾아보다 보니 어느샌가 이미 몰입해서 바로 개발을 시작했던 것 같습니다. 역시 새로운 것에 대한 호기심이 컸던 것 같습니다.

다트에서 인상 깊었던 부분

Dart는 정말 지금까지 배웠던 언어중 초반 학습 경험이 가장 좋았습니다. 여러 언어에서 좋은 장점만 쏙쏙 뽑아온 느낌이 강했어요.

 

예를 들어 C# 언어에는 있고 JavaScript에는 없는 switch 구문 패턴 매칭이 Dart에는 있고, C# 언어에 없고 JavaScript에 있는 스프레드(Spread) 연산자가 Dart에는 역시나 있습니다.

 

Dart의 switch 패턴 문법

switch (list) {
  case ['a' || 'b', var c]:
    print(c);
}

Dart의 spread 연산자

List? listA = ["Foo", "Bar"];
List? listB = ["ABC",...listA,"DEF"];

 

널리 사용되는 디자인 패턴인 싱글톤의 구현을 언어 스펙에서 쉽게 할 수 있도록 factory 생성자라는 것도 있습니다.

플러터에서 인상 깊었던 부분

콜백 지옥을 보는 것 같기도..

플러터에는 앱을 구성하는 최소 객체 단위의 위젯(Widget)들을 생성자에 child로 계속 붙여서 코드를 작성하는 방식이 일반적입니다. 음.. 이 부분은 중간에 다른 위젯을 낑겨 넣는 경우 번거롭다고 생각했습니다. 물론 IDE에서 이 부분에 대한 편의성을 어느정도 제공하지만 오히려 이로 인해서 IDE에 심하게 의존적인 구조라고 생각했습니다.

 

좋은 경험이라고 한다면 런타임 중에 코드를 수정해보고 다양한 플랫폼에서 즉시 수정된 결과를 확인해볼 수 있었다는 것이네요. 이건 진짜 유니티에서 경험할 수 없는 무엇인가 였습니다. (고도 엔진에선 경험할 수 있습니다)

'글 묶음 > 내가 만든거' 카테고리의 다른 글

지금까지 만든 웹 프로젝트들  (0) 2023.06.04
얼렁뚱땅 서바이벌  (1) 2022.11.02
특별할 거 없는 맞고  (3) 2020.11.01
랜덤 모아이 디펜스  (32) 2020.02.07
GONG  (2) 2020.01.24