본문 바로가기

전체 글

백그라운드 개발 후기(WorkManager, 포그라운드서비스) 안녕하세요. 블루스웨터소프트 입니다. 프로젝트를 진행하며 겪은 이야기와 기술적인 이야기를 작성하고 있습니다. 클라이언트단에서 사용할 특정 sdk를 개발하는 중에 급하게 연락이 왔습니다. "기존의 기능들을 백그라운드에서 동작하게 할수 있을까요?" "네. 되긴 됩니다만..." AOS, IOS 백그라운드 제한에 대해 말이 길어지게 되었고 관련 내용을 정리하여 보내주기로 합니다😅 Google, Apple은 업데이트를 거듭할수록 백그라운드 동작에 대해 매우 엄격한 제제를 가하고 있습니다. 그도 그럴것이 유저의 보안, 기기의 퍼포먼스적인 측면에서 백그라운드 동작은 매우 불리하기 때문입니다. 특정앱이 나도 모르게 무한정 실행되고 있다고 생각해보시면 어떻게 될까요? 배터리는 배터리대로, 보이지도 않기에 무슨 앱이 어떻.. 더보기
GPS 관련 기능 사용정리 (location manager, fused location provider) 안녕하세요. 블루스웨터 소프트 입니다. 사용자의 위치정보를 활용하여 기능 구현을 하는것은 이제 흔한 일이 되었습니다. 진행한 프로젝트를 기반으로 내용을 정리해보겠습니다. 최근에 작업에 참여하게된 프로젝트는 골프 관련 앱으로써 사용자의 위치 정보가 굉장히 중요한 요소 입니다. 위치 정보를 활용하여 라운딩 정보를 기록하고 모니터링, 분석 하는 앱 입니다. 위치 정보를 사용하지 못한다면 앱 기능의 절반은 사용 불가라고 봐도 무방할 정도 입니다. 때문에 다시한번 위치정보에 대한 내용을 정리하는것이 필요했습니다. GPS의 이해 GPS(Global Positioning System) 는 미국 국방부에서 개발하여 현재는 군사, 공공, 민간 기업, 일반 등 다양하게 활용되어지고 있습니다. GPS의 연간 유지보수 비용은.. 더보기
BLE(beacon), Objc-swift, mdm 프로젝트 진행 소개 안녕하세요. 블루스웨터 소프트입니다. 프로젝트를 진행하며 느낀점과 기술적인 부분을 정리 하고 있습니다. P사의 프로젝트를 진행하다보면 어려운 점은 다름아닌 보안 입니다. 외부로 통하는 경로가 막혀있기 때문에 필요한 lib 등 오픈소스 활용도 어렵습니다. 신청을 통해 필요한 경로를 오픈해주기는 하지만 오래걸리고 까다롭기도 합니다. 개발하는 입장에서는 굉장히 불편한 일이지만 보안이 철저한것은 어찌됬건 환영할일 입니다 😂(울면서 웃는 나) 그동안 하드웨어와 앱단의 ble 연동을 원하는 프로젝트들이 있었습니다. 이번 경우도 마찬가지로 ble를 통해 앱과 디바이스(혹은 특정 단말장치)를 연동하여 특정 기기를 필터링 하길 원하였습니다. 특별히 어려운 점은 없어 보였습니다만...😅 함정이 존재했습니다 (이후 글.. 더보기
MVVM-C 패턴을 활용한 앱 개발 후기 안녕하세요. 블루스웨터 소프트 입니다. 클린 아키텍처, 클린 코드(clean code:Robert C. Martin) 등은 이제 주변에서 흔하게 접하는 단어가 되었습니다. MVC, MVP, MVVM... 각종기법이 사용되고 있습니다. 장기적으로 유지보수측면서 환영할만한 일이지만 해당 기법들이 무분별하게 사용되어진 프로젝트들을 보면 (모든 기법이 뒤섞인) 유지보수측면에서 정말 지옥이 아닐수 없습니다. 오늘은 MVVM-C 라고 하는 패턴을 사용한 작업 후기를 공유 합니다. MVVM 패턴은 매우 인기있는 클린아키텍처 접근 방법 입니다. 이 패턴에 Coordinator 라는 개념을 추가 한것이 MVVM-C 패턴 입니다. "왠 코디네이터 입니까?" 코디네이터는 일종의 목적지 가이드 라고 이해하면 쉽게 접근할수 있.. 더보기
SwiftUI +Preview 를 활용하여 UI 작성 방법 안녕하세요. 블루스웨터소프트 입니다. 프로젝트를 진행하며 재미있는 방법으로? UI를 구성한적이 있습니다. 꽤나 유용한 방법이어서 해당 내용을 공유 합니다. 기존의 프로젝트에 SwiftUI 의 Preview 를 적용하여 개발하는 방식입니다. 이 방법을 활용하면 Storyboard, Swift등은 그대로 쓰면서, UI 개발시 바로 바로 Preview 를 보면서 개발이 가능합니다. 이렇게 되면 UI 구성을 확인하기 위해 매번 빌드 해서 확인하고 빌드해서 확인하는 수고로움이 덜어질 것입니다. 필요한 부분만 컴파일 되어 보여지므로 속도 또한 빠릅니다. 방법은 정말 간단합니다. 프로젝트에서 Swift 파일을 하나 생성합니다. 그리고 기존의 방법대로 UIkit 등 필요한 라이브러리를 import 하시고 맨 아래 부분.. 더보기
Flutter와 iOS 그리고 extension 간에 데이터를 공유 후기 안녕하세요. 블루스웨터소프트 입니다. Flutter를 사용해보니 편리함과 동시에 앱의 복잡도가 증가했습니다. 개발 툴사용만 봐도 그렇습니다. 저는 vscode를 이용해서 flutter 코드를 작성합니다. 안드로이드는 android studio, ios 는 xcode 에서 따로 작업합니다. 때문에 리소스도 상당히 많이 잡아먹는 작업입니다. 그럼에도 Flutter의 많은 장점들 때문에 최근 가장 트랜디한 개발 언어가 되었겠죠. 개발을 하며 필수적으로 native 소스단에 접근하게 되는데요. 이럴때마다 선택지가 많다보니 어디에 핵심 로직을 둘것인가?하는 문제가 생기게 됩니다. 오늘은 개발시 있었던 일화와 간단한 값을 (읽기, 쓰기) 테스트 해보면서 좀더 이야기 해보겠습니다. 우선 제 상황을 공유하자면... F.. 더보기
Flutter 를 통한 앱개발 후기 이게 맞아?... Flutter 를 사용하여 앱 개발 한다는건... *플루터 플러터 등의 한글 표기가 상이하여 이하 영문 Flutter 로 통일하겠습니다. 안녕하세요. 블루스웨터소프트 입니다. 오늘은 앱 개발시장의 화두인 Flutter 를 이용한 앱개발에 대해서 알아보겠습니다. 실제 프로젝트를 진행하며 느낀점과 정말 flutter를 이용한 앱개발이 쉬운것인지? 그저 트랜디한 껍데기에 불과한지? 이야기 해보겠습니다. 최근 시장에서 Flutter 로 개발한 앱들이 심심치 않게 보이고 있습니다. 기업에서도 앞다투어 트랜디한 방식의 개발을 쫒고 있습니다. Flutter는 크로스 플랫폼 개발 프레임워크 입니다. 한마디로 이야기 하자면 Flutter를 사용한 단한번의 코딩으로 ios, android, web, macox, windo.. 더보기
ios 네이티브 앱에 flutter 사용하기 소개 안녕하세요. 김과자 입니다. 이전에 소개 해드린 안드로이드 flutter 모듈 사용에 관하여 참고 하시고 ios 도 오늘 소개 해드리는 방법으로 테스트 해보시기 바랍니다. 본문 안드로이드와 마찬가지로 모듈을 만들어줍니다. 방법은 아래에 ↓↓↓ 2023.07.01 - [개발 코딩 정보 공유/플루터 Flutter] - 안드로이드 네이티브앱에 flutter 소스 사용하기 module과 네이티브 소스는 아래와 같이 셋팅합니다. (제 기준) [최상위폴더] -> [module] -> [native project] 우선 기존의 소스에 pod을 셋팅해야 합니다. pod 셋팅이 되어있다는 가정하에… pod파일에 아래의 코드를 추가합니다. platform :ios, '14.0' # 이부분 추가 #flutter_app.. 더보기