본문 바로가기

DART6

Dart - Null Safety Dart - Null Safety Dart 언어는 이제 Null Safety를 지원한다. Null Safety를 적용하면 코드의 유형은 기본적으로 nullable이 아니다. Null Safety를 적용하면 null에 의한 Exception을 런타임이 아닌 컴파일 타임에 체크하게 된다. Nullable과 Non-Nullable의 구분 기본적으로 선언하는 변수는 Nullable이 아니며, Nullable로 선언할 경우?를 붙인다. int a1=10; int? a2=10; Non-Nullable 변수 선언과 동시에 초기화 필요 Non-Nullable 변수는 선언과 동시에 초기화가 필요하다. 초기화하지 않으면 컴파일 에러가 발생한다. int a1; // compile error int? a2; var 타입에서의.. 2021. 5. 31.
RxDart에 대하여 알아보기 RxDart에 대하여 알아보기 이번 포스트에서는 RxDart에 대하여 자세하게 알아보려 합니다 목차 Table of Contents RxDart를 알아보기 전에 RxDart는`dart:async`패키지의 Dart Streams를 대체하기 위해 자체 Observable 클래스를 제공하지 않습니다. 기본 제공되는 `dart:async`패키지의 Stream 및 StreamController에 확장 기능을 구현한 것입니다. ✏️기본 제공되는 훌륭한 Stream API를 먼저 확인해보는 것을 추천합니다! 표준 Rx와 RxDart(Stream API) 비교해보기 많은 상황에서 Streams와 Observable은 같은 방식으로 하지만 표준 Rx에 익숙하다면 RxDart(with Stream API)의 일부 기능이 .. 2020. 8. 13.
Flutter(플러터)가 Dart(다트)언어를 사용하는 이유 Flutter(플러터)가 Dart(다트) 언어를 사용하는 이유 오랜만의 포스팅으로 돌아왔습니다! 이 글에서는 Flutter가 Dart언어를 어째서 사용하는지 이유에 대하여 알아보도록 하겠습니다. Flutter(플러터)와 Dart(다트) Flutter팀에서 초기 언어를 선택할 때 12개 이상의 언어를 평가하였다고 합니다. 그중 UI 구축 방식이 Dart와 가장 일치하여 Dart를 선택하게 되었다고 합니다. Dart는 2011년 Java Script를 대체하기 위해 발표되었습니다. 하지만 아래와 같은 이유로 인하여 많이 사용되지 않았습니다. 다트가 그동안 외면받아왔던 이유 ❗JS를 대체하기 위해서라면 TypeScript 등의 다른 언어를 사용할 수 있었음 ❗Dart는 언어적 특성이 그렇게 세련되어 보이지 않.. 2020. 2. 2.
Dart - Test 작성하기(test package) Dart - Test 작성하기(test package) dart의 test package를 사용하여 테스트를 작성하는 방법에 대하여 알아보도록 하겠습니다 목차 Table of Contents test package https://pub.dev/packages/test#writing-tests test | Dart Package A full featured library for writing and running Dart tests. pub.dev test package는 Dart에서 테스트를 작성하고 실행하는 표준 방법을 제공합니다. 테스트 실행하기 1. 단일 파일 테스트 실행하기 pub run test [test file] //exsample pub run test test/first_test.dart.. 2019. 12. 13.
Flutter - BLoC 패턴 알아보기 Flutter - BLoC 알아보기 BLoC 패턴에 대하여 알아보도록 하겠습니다. 목차 Table of Contents BLoC 패턴이란? BLoC (business Logic Component)는 파올로 소아레스와 콩 후이라는 개발자에 의해 디자인되었고 2018년 DartConf에서 발표되었습니다. BLoC는 Presentation Layer와 business Logic을 분리하여 코드를 작성할 수 있도록 해줍니다. BLoC는 스트림을 이용하여 만들어집니다. 위젯은 Sinks (입구)를 통하여 BLoc에 이벤트를 보냅니다. BLoC객체는 위젯으로부터 이벤트를 전달받으면 필요한 Repository 등으로부터 데이터를 전달받아 business Logic을 처리합니다. business Logic을 처리한 후.. 2019. 12. 13.
Dart 언어 컨벤션 알아보기 Dart 언어 컨벤션 알아보기 https://dart.dev/guides/language/effective-dart Effective Dart Best practices for building consistent, maintainable, efficient Dart libraries. dart.dev 다트 공식 문서의 Effective Dart를 한국어로 해석한 글입니다. 목차 Table of Contents 개요 지난 몇 년 동안, 우리는 많은 Dart 코드를 작성했으며 잘 작동하는 것과 그렇지 않은 것에 대해 많은 것을 배웠습니다. 일관되고 강력하며 빠른 코드도 작성할 수 있도록 이를 공유하고 있습니다. 두 가지 중요한 주제가 있습니다. 1. 일관성을 유지하십시오. 형식화 및 케이스와 관련하여 어떤 .. 2019. 11. 24.