핸드폰 위에 뭔가 만들어 본건 꽤 오래전에 닷넷으로 그려본 것이 전부다. 그리고 몇년전에 안드로이드 스튜디오로 앱을 만들려다가 AMD cpu관련 Hyper-V 관련 문제 때문에 가상디바이스 문제로 제대로 만들어 보지도 못하고 포기했다. 그리고 인텔 노트북으로 잘 되는것만 확인하고 그만뒀다.
사실 그런것 때문에 체험단 신청에 고민 했지만, dart언어로 구동되는 flutter로 쉽게 앱을 만들 수 있다기에 한번 해보자 마음으로 체험단을 신청하여 선정되었다. 리뷰를 시작하기 전에 별점을 주자면 편집은 4점, 내용은 5점이다.
단점
검은색 바탕의 흰 글씨는 종이보다는 모니터에 어울린다. 다크테마로 적용된 그림들이 눈에 피로감을 준다.
읽기에는 무리없는 약간의 오타는 가지고 있다. 다른 언어의 경험이 없다면, 이런 오타와 개발 환경 설정에서 오는 스트레스는 누군가의 도움이 필요하다. 나 또한 책에 언급되지 않은 오류가 있어 직접 검색하여 해결 했다.
장점
각각의 위젯를 설명하고 간단한 예제를 만들기 보다는 반복적으로 만들면서 새로운 것을 하나씩 추가하여 UI를 알려주는 이 책의 방식이 좋다. 챕터 4 스토어 앱 UI 하나를 만들기 까지(개발 환경 설정 및, dart 언어 기초 문법) 조금은 지루하고 힘들지만, 그 이후 UI를 하나 하나 만들때마다 속도도 붙고, 이해도 잘되고, 쉽다라는 생각이 든다. 초반에만 어려움 없이 넘긴다면, 책 제목대로 누구나 플러터 UI를 만들 수 있게해주는 책이다.
앞부분에 설명이 있는 dart 언어에 대한 부분은 설명에 대한 저자의 개인적인 특성이 있기에 호불호는 있으거 같고, 부족한듯 아닌듯 하지만, UI 코딩을 하기에는 부족함이 없다. 이해하면 좋고, 안해도 반복적인 코딩으로 자연스럽게 이해할 수 있다.
아쉽게도 이책은 UI에 대한 부분만 있다. 아무리 뭘 해도 동작하지 않는다. 하지만 플러터 공식 홈페이지에 있는 내용만으로도 충분히 비지니스 로직을 채울 수 있을거라 생각한다.
플러터의 장점이기도 하지만, 기본만 이용해도 그럴듯한 UI가 만들어 진다. 예전에 개인적으로 구입했던 워드프레스 책을 봤을때와 같은 느낌이 든다. 좋은 느낌^^!
단점이자 장점인 유료 동용상 강좌가 있다.
맛보기 동영상 강의를 보니, 책보다 설명이 괜찮은 동영상 강좌다. 개인적으로 책 한권을 단순하게 코딩 과정을 동영상을 만들어 유튜브에 올려본 적이 있다. 상당한 시간과 노력이 필요하다. 책과 동영상을 보기엔 아닌거 같고, 동영상이든 책이든 하나를 골라 플러터 UI를 배운다면 좋을거 같다.
앱만들기 처음이면 조금은 힘들지만, 위젯이나 컨테이너에 대한 이해 또는 경험이 있다면 상당히 빠르게 앱 UI를 만들 수 있는 책이다.
운이 좋게 무상체험단에 선정 됐다. 예전 구매했던 허스킨렌즈를 이용한 자유주제 내용이 디른 자유주제보다 조금은 괜찮은거 같아 선정이 된거 같다. 워낙에 교육과 프로그래밍에 관심이 많아서 아저씨임에도 불구하고 코딩 교구 체험활동을 좋아 한다.
체험단 발대식
그 동안 참여해왔던 체험단 활동과 다른게 이번엔 ZOOM으로 체험단 발대식을 한다. 기대되는 부분이다. 좀더 체험단 활동에 동기를 부여하고, 체험단 활동을 같이 하는 사람들과 커뮤니티를 만들 수 있기 때문이다. 그래서 자유주제에 필요한 기능이 있는데, 커뮤니티에 질의를 했다. 체험단 히스토리를 보면 아주 예전에는 오프라인을 통한 발대식을 했던거 같다. 시기가 시기인 만큼 ZOOM을 통한 체험단 발대식이 기대된다. 그러구 보니 오늘(4-23)이 발대식 날이다.
기획
이번 체험단활동의 목표는 아이들이 좋아할 만한 컨텐츠를 만드는 것이다. 그래서 자유주제에 많은 시간을 투자할 예정이다. 마리오카트와 비슷한 마퀸카트를 만들 것이다. 마퀸플러스 + 메카닉파츠 + 허스키렌즈 + 젤다의 전설(야생의 숨결) 가디언 페이커크래프트로 마퀸카트를 만들고 허스킨렌즈를 이용하여 경기장 코스 중간 중간에 있는 아이템 태그를 인식하여 효과(빨리 달리가, 느리게 달리기, ...)를 적용할 예정이다.
개봉기
마퀸 플러스와 메카닉 파츠를 소개하고, 체험단 미션과 자유 주제에 사용될 마퀸카트를 조립과정까지만 작성 한다.
체험단 미션 선택
내가 선택한 체험단 미션은 '마퀸플러스로 바코드/QR코드 인식해서 정해진 값이 맞으면 경적 울리고 전진하기'다. 허스키렌즈 프로가 아닌 허스키렌즈 기본형을 가지고 있어서 바코드/QR코드는 인식 못하지만 대신 태그를 인식해서 체험단 미션을 진행 한다.
자유 주제
마리오 카트와 비슷한 마퀸카트를 만들기로 했다. 기본 R/C CAR에 메카닉파츠를 이용하여 주행에 도움 또는 다른 플레이어의 주행을 방해하고 허스키렌즈로 태그를 이용하여 주행에 도움 또는 방해 효과를 적용하면 된다. 다행히도 마이크로비트는 반응 시스템이기 때문에 R/C하면서 뭔가 다른 동작을 할 수 있지만, 나는 아직까지 그렇게 해본 적이 없다. 여기 저기 이것 저것 하다보면 해결 될거라 생각한다.
문서화
이전 체험단 활동에서는 블로그와 문서작업을 따로 따로 했다. 그래서 부족한 점이 많았다. 이번 체험단에서는 괜찮은 문서를 만들 생각이다.
TPbot 사용기에서 사용했던 코드에 약간에 수정과 서보 모터를 추가하고 네오픽셀을 사용하기 위해 TPBot 연결 단자를 직접 만들었어요.
레고블록과 연결 가능한 서보 모터가 있어 TPBot에 나름 멋져 보여요.
링으로 된 네오픽셀이 없어서 주사위 모양으로 만들어 서보 모터쪽에 장착! 집안에서 인두기 사용하기 싫어서 밖에서 했는데 날씨가 별로였지만 열심히 만들었어요^^.
열심히 블록코딩과 자바스크립트를 이용하여 1. 마이크로비트 LED에 현재 위치 보여 주기 2. 네오픽셀과 서보 모터로 특수 효과 나타내기 3. 네오펙셀로 현재 상태 나타내기(준비, 정상 작동, 실패) 4. 라디오 기능으로 조이스틱:비트를 이용하여 TPBot 조종하기 4. 앞으로 가기, 오른쪽으로 돌기, 왼쪽으로 돌기 기능을 구현 했어요.
제가 가지고 있는 TPBot의 경우 같은 값으로 모터를 작동 시킬 경우 한쪽으로 비스듬하게 기우는데, 정확하게 값을 찾지 못했어요. 배터리 잔량에 따라서도 원하는 데로 조종이 안되더라구요(정말 많이 시도 시도했어요) ㅠㅠ.
아이들과 게임을 같이 하려고, 이것 저것 준비하고 만드는 과정에서 여느 때보다 많은 것들을 했어요. 생각과는 다르게 아이들의 호응이...... 다음에는 모든 과정을 아이들과 함께 할 수 있게 준비를 해야 겠어요. 여담으로 아이들에게 '포켓몬 X'를 2시간 정도 하게끔 해줬는데, 정말 좋아 했어요. 저는 보고만 있었지만, 같이 하고 싶었어요^^.
최근에 아이들과 TPbot을 가지고 게임을 했어요. 아직 코딩보다는 가지고 노는 걸 좋아해서 '파이프 드림'이라는 게임을 조금 변형해서 같이 했어요.
'파이프 드림'이란 게임은 순서대로 표시되는 파이프를 이용하여 시작과 끝을 연결하는 게임이에요. 그래서 직접 만들어 봤는데, 쉽지가 않았어요 ㅠㅠ.
위 글처럼 집에 있는 잉크젯으로 맵을 만들었는데 TPBot이 인식도 못하고, 네오디움 자석을 너무 작은걸 써서 붙긴 붙는데 내가 원하는 만큼의 붙는 힘이 아니였어요. 적어도 지름이 10mm 이상을 사용해야 돼요.
* TPBot의 엔터테인먼트 기능으로 아이들과 게임하기! *
7, 10살 아이들이라 게임판 위에 조각판을 이용하여 금방(-.-) 문제를 해결하고, 그 위에 몇 번 TPBot을 굴리더니 금방 호기심이 없어 지더라구요. 작은 아이가 게임에 지더니 졌다고 울기까지 했어요 ㅠㅠ. 5X5 크기가 작아서 문제 풀기가 쉬워서 금방 호기심이 없어졌나 봐요.
* TPBot과 joystick:bit를 이용하여 직접 동작시키기! * 직접 TPBot을 조종할 수 있게 joystick:bit에 micro:bit를 연결하고 블록코딩을 했어요. 아이들이 직접 할 수 있으면 좋겠지만......
이전 게임과 다른 건 알아서 길을 달렸던 TPBot과 달리 직접 조정을 해야되요. 이 부분은 작은 아이가 큰 아이보다 좋아했어요^^.
아래 링크는 실제 동작하는 블록 코드예요. 단순하게 TPBot에서 아이들이 좋아하는 상어 가족을 BGM으로 만들었어요. 그리고 단순하게 joystick:bit v2는 조종만 가능하게 했어요. 블록코드들을 직접 넣으려고 했는데 사이즈가 이상하게 돼서 프로젝트 공유 링크했어요.
위 블록코드들을 만들려고 해당 제품 튜토리얼을 참고한 링크예요.
아이들과 TPBot을 가지고 게임을 해보는 재미있는 시간을 보냈어요. 혼자서 게임판, 조각판, 블록코딩을 했는데, 아무래도 시간이 걸리더라도 전체를 아이들과 같이 하는 편이 좋겠다는 생각이 들더라고요^^.