본문 바로가기

IT, Software67

Flutter - Navigator Route 화면이동 Flutter를 이용해서 앱을 만들다 보면 결국 여러 개의 화면들을 잘 조합하고 처리를 해야 한다.이전의 Application 개발 경험이 Android이다보니 자꾸 Android 구조를 비교 혹은 이해하는 용도로 활용하게 되는데...Android에서는 Application 하위에 Acrivity들을 StartActivity를 이용해서 띄우고 이동하는 방식이었다면...Flutter에서는 Stack, Route이라는 개념을 사용하고 있었다. Stack은 말 그대로 쌓는다는 의미이고, Route는 뭔가 이동을 위한 것 같다.그리고 Navigator라는 클래스가 Route 이동을 컨트롤 해주는 역할을 담당한다. (adsbygoogle = window.adsbygoogle || [].. 2024. 4. 25.
Figma 사용법 기초 - Group, Component, Layout 등 Figma를 본격적으로 사용해 보니 맨 처음 조금은 낯설었던 하루 이틀을 지나고 나면서 조금은 익숙해짐과 동시에 워낙에 기능자체가 직관적이고 쉽다 보니 어느 정도 적응을 할 수 있었다. 물론 아직 모르는 고급기능들이 무수히 많이 있겠지만, 개발자로서 어느 정도의 Prototype을 만드는 수준에서는 이 정도로도 충분한 것 같다. 나~중에 한참 개발을 하고난 뒤에 다른 프로젝트를 시작하면서 사용하게 될 경우를 대비해서 갈수록 짧아져가는 기억력을 보조하고자 기초적인 내용만 정리해서 기록으로 남겨본다. 우선 기본적으로 크게는 4가지 정도의 기능만 알면 최소한의 Prototype은 만들 수 있는 것 같다. 1. 사각형 활용하기(밑 바탕을 만들어주고) 2. Layout 활용하기(실제 UI요소요소들을 배치해 주고).. 2024. 4. 10.
Flutter 맥에 설치하기, Cocoapods 설치 오류 해결하기 새로운 개발언어와 Framework에 도전하는 게 쉬운 건 아니면서도 동시에 상당히 신선한 즐거움을 주는 것 같다. Flutter라는 Hybrid Framework를 경험하고 실전에 사용한 지 얼마 되지 못해서 이것저것 여전히 모르는 것들.. 그리고 어색한 것들이 참 많지만 매 순간순간 놀라움과 즐거움도 동시에 느끼고 있다. 무엇보다 상당히 나쁘지 않은 결과물을 정~말 빠르게 만들어낼 수 있는 게 무척 신기하다. 두 번째로 착수했던 Inventory Management 앱을 근 한 달여 만에 어느 정도 완성이 되고 실제 관계자들이나 주변 사람들에게 소개를 했다. 지금껏 너무 불편하게 일해왔던 상황을 들어봤기에 개인적인 희망이기도 하지만 많은 이들에게 도움이 되고 만족감을 줬으면 좋겠다. 그리고... 그럴.. 2024. 3. 23.
Figma - 개발자도 Prototype 만들어 보자. UI Kit & Plugin 설치 세상이 참... 많이 변하긴 했다. 인정하고 싶지 않지만...PPT로 앱기획서 전달하던 시대에 코딩을 했던 아재라 그런지 이번에 Figma를 접하고 나니 또 한 번의 자기반성(?)과 동기부여가 동시에 이루어지는 느낌이다. 자기반성 이라기 보다는 그간 너무 현실과는 동떨어져서 PM역할만 한건 아닌 건지;;; 그리고 그러면서 자연스럽게 최신 기술이나 트렌드와는 멀어지게 된 건 아닌지 하는 안타까움 같은 기분이 든다. 처음에는 반신반의하면서 시작해 본 Figma 사용이었는데 이게 생각보다 쉽고... 빠르게 무언가를 만들어낼 수 있었다. (그리고... Figma를 사용한 다음에 다시 한번 최근의 Adobe의 Figma 인수 실패에 은근 안도를 표하게 된다ㅋ) Figma 가입하고 무료 제일 먼저 할 일은... 당.. 2024. 3. 13.
Sublime Text 3 - Dart Syntax highlighting 설정하기, VIM 모드 키기 Flutter를 코딩할 때 IDE로 VS Code를 사용 중이다. 다만 기존 코드들을 참조하거나, 샘플 코드들을 열어볼 때는 가볍게 Sublime Text 를 주로 이용하고 있다. 그런데 Flutter의 공식 언어인 Dart를 Sublime Text에서는 아직까지 기본 설정상태에서 지원을 안 하는 것 같다;; 샘플코드를 받아서 열어봤더니 Syntax highlighting 없이 그냥... 하얀 글씨들만 나온다;; 그래서 Sublime에 Dart Syntax highlighting 을 볼 수 있도록 Package를 설치해 주기로 했다. 방법을 정리해 보면 Sublime Package Control 설치를 해주고 설치된 Package Control을 활용해서 Dart Package 를 설치해 주면 된다. .. 2024. 2. 27.
Github - 잘못 Commit한 파일과 History 모두 삭제하기 본격적으로 프로젝트에 참여하고 코딩을 하면서 당연하게도 형상관리 툴을 사용하게 됐다. 그리고 21세기 가장 보편적으로 사용되는 Git을 사용 중이다. 그런데... 너무 오랜만에 형상관리 툴을 사용해서 그런 건지 뭔지... 처음 뼈대작업을 하면서 프로토타입처럼 코딩할 때 사용했던 서버정보들이 최종 코드가 릴리즈 됐는데도 여전히 한쪽 구석에 있었고... 또 그걸 제대로 인지를 못한 상태로 Git에 Commit을 해버리는 실수를 하게 됐다. 이런 실수를 하다니;;; 스스로 또 한 번 반성의 시간을 가져본다 ㅠㅠ 물론 당연히 private repository이지만 그래도 누구라고 나나 팀원들의 계정 중에 하나만 해킹하면 접근이 가능하기에... 잘못 commit 한 파일을 삭제하는 것과 동시에 history까지 .. 2024. 2. 25.
Flutter - Toast 팝업으로 메세지 띄우기 Flutter로 하이브리드 앱을 개발하면서 보니... 역시 간단한 Toast 팝업을 띄워야 할 일이 많이 생긴다. 그런데... Android처럼 공식지원하는 Toast 팝업 라이브러리는 없는 듯하다. 하지만 pub.dev에서 어렵지 않게 구할 수 있었다.(Flutter 최대 장점으로 꼽히는 부분이 이런 커뮤니티 활용법인 것 같다) fluttertoast | Flutter package Toast Library for Flutter, Easily create toast messages in single line of code pub.dev 사용법 사용하는 방법은 너무나도 간단하다. pubspec.yaml 파일안에 dependencies 영역에 아래 한 줄을 추가한 후 저장만 하면 된다. fluttertoa.. 2024. 2. 15.
새로운 앱개발 환경에 도전!! Flutter 설치하기 참 많이 변한 앱개발 오랜만에 Android Studio로 네이티브 안드로이드 앱을 개발해 보면서 나름 이전의 감각을 최대한 끌어올려보려고 노력했다. 물론 Manager 역할을 주로 하던 지난 몇년간 무수한 변화가 있었기에 모든 걸 다 따라잡기에는 어려웠지만 그래도 어느정도 '아 예전에 이렇게 했었었지~' 하는 느낌은 살릴 수 있었다. 아주 복잡한 기능을 요구하는 앱은 아니어서인지 좀 더 수월하게 이전의 기억들을 다시 되살리기에 딱 좋았다. 특히... Android에서 데이터 처리나 서버 통신등을 위해 주로 많이 사용하던 AsyncTask 가 Deprecated 된 건 조금 놀라웠다. 예전에 하던 습관대로...서버 통신을 해야 할 일이 생기다 보니 AsyncTask를 사용해서 구현을 했는데.... 이게 .. 2024. 2. 5.
Android Layout Editor - Custom Device Profile 만들기 참 오랜만에 Android 앱개발을 하면서 이전에 추억 속에 있던 많은 기억들을 끌어모아서 개발을 하고 있다. 다시 가열차게 열심히 해서 하루빨리 익숙해져야 할 것 같다. 예전에 한참 개발을 하던 시절과는 조금 달라진(?) 점이라면 그때보다 확실히 커스텀 단말이 많아졌다는 점이다. 그리고 이번에 진행하는 앱개발 역시 구글, 삼성 등 메이저 밴더사가 아닌 커스텀 단말기로 개발을 하게 됐다. 그렇다 보니 화면을 열심히 layout 을 짜더라도 실제로 단말에서 돌려보면 화면 배치가 다 깨져버리는 문제가 생겼다. 매번 단말에 올려서 화면이 어떻게 나오나 확인하고 수정하는 것도 한계가 있고, Android Studio에서 제공하는 훌륭한 layout editor를 사용해야 효율이 좋을 것 같았다. Android .. 2024. 1. 25.