일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Codepush
- 성능 개선
- TextInputFormatter
- PG결제
- Equatable
- FocusNode
- SHIMMER
- flutter web
- BloC
- Swift
- copy on write
- DevTools
- fastlane
- shorebird
- Android
- 글자깨짐
- reject
- reactivex
- python3
- 무선빌드
- error
- MVVM
- IOS
- Codemagic
- 갤럭시폴드
- GetX
- struct
- appstore
- abstact
- FLUTTER
- Today
- Total
목록분류 전체보기 (36)
뚝딱뚝딱 모바일

이번에는 추상 클래스에 대해 정리해보려 합니다.추상 클래스란?추상 클래스는 추상 메서드를 가질 수 있는 클래스를 뜻합니다. 추상 메서드는 몸체가 없는 함수를 뜻합니다. 아래와 같은 함수를 추상 메서드라고 합니다.void something();일반적인 클래스는 추상 메서드를 가질 수 없지만, 추상 클래스는 이를 가질 수 있습니다. 그리고 추상 클래스는 선언할 때 abstract 키워드를 사용하여 선언합니다.abstract class Vehicle { void honk();}특징추상 클래스는 상속(extends) 또는 구현(implements)할 수 있습니다.class Car extends Vehicle { @override void honk() { // TODO: implement sound ..

오늘은 정말 자주 쓰이는 라이브러리인 Equatable에 대해 알아보겠습니다. 활용도가 정말 높은 라이브러리이니 알아만 두셔도 좋을 것 같습니다. equatable | Dart Package A Dart package that helps to implement value based equality without needing to explicitly override == and hashCode. pub.dev 다른 언어를 접해보셨던 분들이라면, Equatable은 언어 자체적으로 존재해야 되는 거 아닌가? 왜 라이브러리로 따로 존재하지? 싶으실 겁니다. Dart에서는 모든 클래스들은 Object를 상속하고, 이 Object에는 operator 함수가 존재해 override 함으로 수정할 수 있기 때문에,..

[Flutter] 아키텍처에 대한 고민 (1) - 처음 해보는 Flutter 안녕하세요! 이번에 적으려고 하는 내용은 제가 Flutter 개발을 시작하면서, 어떤 아키텍처들을 구성하고, 고민했는지에 대한 내용을 적어보려고 합니다. 한 3편 정도의 글이 나오지 않을까 생각 nkstar-ios.tistory.com 위 글에서 이어집니다. 음... 어... 아...? 뭔가 이상하다 신규로 만드는 앱에서도 이전 글에서 말한 아키텍처를 적용하여, 코드를 짜기 시작하였습니다. Flutter가 익숙해지고, 코드도 손에 익을 무렵, 점차 코드를 작성하면서 불편함이 생기기 시작했습니다. ViewModel이 필요 없는 View에 관해서 생각을 못했다. bindInput(), bindOutput() 함수들이 비대해지기 시..

안녕하세요! 이번에 적으려고 하는 내용은 제가 Flutter 개발을 시작하면서, 어떤 아키텍처들을 구성하고, 고민했는지에 대한 내용을 적어보려고 합니다. 한 3편 정도의 글이 나오지 않을까 생각하고 있습니다. 여유되시는 분들은 천천히 읽어주시고, 의견 나눠주시면 감사하겠습니다. Flutter? 해보겠습니다. 전 처음부터 Flutter를 공부하고, 이를 목표로 삼았던 사람이 아니었습니다. 학생 때는 Android 개발을, 취업 후에는 iOS 개발을 2년 정도 하다 이직을 하게 되었는데, 이직한 회사에서 전 여러 플랫폼을 커버하여야 했고, 이를 위해 Flutter를 시작하게 되었습니다. 다행히 관심이 좀 있었고, SwiftUI로 선언형 UI에 대해 미리 접했었기 때문에, Flutter와의 첫 만남은 어렵지 ..

안녕하세요! 오늘은 화면 내의 새로운 웹창을 띄울 때, 앱과 웹의 구분을 해보도록 하겠습니다. 그냥 WebView로 만들고, Web으로 실행시키면 되지 않나요?라고 생각하실 수 있습니다. 하지만 Flutter WebView 관련 패키지들은 Web에 대해 지원해주지 않습니다. (생각해 보면 좀 모순 같기도...) 그렇기에, 앱에서는 WebView, 웹에서는 iframe이 뜨도록 분기 처리를 해보도록 하겠습니다. 먼저, 파일 두 개를 만들어주겠습니다. 하나는 WebView, 하나는 iframe을 담당할 파일입니다. 그리고 각 두개의 파일에 하나의 함수를 만들건대, 이 두 개의 함수들의 이름과, 인자 모두 같은 함수여야 합니다. 함수 오버로딩도 아니고 완전 같은 함수를 만들라고요? 네. 이렇게 만드는 이유는 ..

안녕하세요! 이번엔 Flutter에서 플랫폼 구분을 해보려고 합니다. 매우 간단한 내용이니 가볍게 읽으실 수 있을 겁니다! Web if (kIsWeb) { // 웹일 때 행할 무언가 } else { // 웹을 제외한 무언가 } flutter/foundation.dart 패키지에 있는 kIsWeb이라는 bool 값으로 구분이 가능합니다. Android, iOS, MacOS, Windows, Linux, Fuchsia dart:io 패키지에 존재하는 Platform 클래스의 static 변수로 있습니다. 각 OS마다 구분하시고 알맞은 코드를 추가하시면 됩니다. 유의사항 Flutter를 Web으로 실행할 때, Platform 클래스가 코드에 있으면 에러를 방출합니다. 만약 웹과 앱 모두 분기처리를 해야 된다면..

안녕하세요! 며칠 전, Dart 3.2가 업데이트 되어, 그 내용을 바탕으로 리뷰해 보도록 하겠습니다. https://medium.com/dartlang/dart-3-2-c8de8fe1b91f Announcing Dart 3.2 Improved language & developer experience, and an update on web apps & Wasm medium.com Non-null promotion for private final fields (사실 번역해서 적고 싶은데, 정확히 뭐라 표현할지 모르겠네요... 굳이 굳이 하자면, private final 필드에서의 Non-null 인식...?) 코드로 바로 보시면 이해가 쉬우실 겁니다. int definitelyInt(int? aNullab..

안녕하세요! Flutter로 앱을 개발하다 보면, 정말 성능이 괜찮을까? 괜스레 걱정이 든 적이 많으실 겁니다. 직접 눈으로 보고 확인할 수 있도록 Flutter로 만든 앱의 성능을 한번 측정해 보겠습니다. 앱의 성능을 체크하기 위해서 Flutter에서는 Flutter DevTools를 지원합니다! https://docs.flutter.dev/tools/devtools/overview DevTools How to use the DevTools with Flutter. docs.flutter.dev 이 DevTools로 측정을 하기 전에 앱을 profile 모드로 켜줄 겁니다. Android Studio 상단의 Run -> Profile을 클릭하여 실행시켜 줍시다. 앱이 실행되면, Android Studi..