안녕하세요 IT박사 Ho입니다. 오늘은 flutter 에서 non null safety 오류에 대해서 알아보겠습니다.  non null safety flutter


Error: Cannot run with sound null safety, because the following dependencies
don't support null safety:

 - package:flutter_swiper
 - package:flutter_page_indicator
 - package:transformer_page_view

저의 경우에는 
swiper 기능을 사용하기 위해서 pubspec.yaml 에서 swiper를 불러다가 사용했더니 오류가 났습니다. 

null safety는 말 그대로 null 에게서 안전한 프로그램 코드를 작성하는 것을 의미합니다. 여기서 주의 해야 할 점은 null safety 라는 용어가 null 을 없애자는 것이 아니라는 것입니다(null은 훌륭한 데이터 자료형 중 하나 입니다). 우리가 주목해야 하는 문제는, null 자체가 아니라 예상치 못한 null 을 대응하지 못하는 함수입니다.

프로그램을 개발하다 보면 런타임, 즉 애플리케이션 실행 중 null 참조 에러가 많이 발생합니다. null safety는 이 문제를 코드가 실행되기 전 컴파일러가 해당 버그를 잡아줌으로써 예상치 못한 상황을 대비할 수 있게 해줍니다. 이러한 타입 체크는 즉각적으로 에러 여부를 알 수 있어 빠르게 에러에 대응할 수 있도록 합니다. 코틀린, 스위프트와 같이 이젠 Flutter의 근간이 되는 Dart에서도 null safety 를 지원합니다. 

정리하자면 예상하지 못한 null에 대응 할 수 있도록 조치를 해라 이겁니다. 이런 조치가 되어 있는 패키지를 사용하라 이런 말입니다. 위에서 제가 사용했던 swiper는 이런 조치가 안되어 있는거지요.
그래서 pub.dev 에서 null safety 그럼 해결방법은 처리를한 패키지를 사용하면 됩니다.

예시   

해결 방법 pub.dev 에서 위와 같이 null safety 가 붙은 패키지를 찾아서 사용하시면 됩니다.