티스토리 뷰

Dart & Flutter

Flutter at Google I/O 2021

낭초비 2021. 5. 22. 20:56
반응형

 

Building your first Flutter app (영상 링크)

Infinite list of words를 보여주는 앱을 만드는 방법에 대하여 시작부터 단계적으로 설명하는 영상. Codelabs에 텍스트로 step by step 설명되어있음. (링크)

  1. flutter 설치하고 project 를 생성하는 방법
  2. 외부 Package(library)를 import 하는 방법
    • pubspec.yaml 파일에서 사용할 package를 depencies에 추가
    • 터미널에서 "flutter packages get" 입력하여 실행(안드로이드 스튜디오의 경우)
    • main.dart 에서 import 키워드를 패키지를 가져오기(?)
  3. stateless widget과 stateful widget을 이용해서 random word를 보여주는 앱을 만드는 방법

  

Why null safety? (영상 링크)

개발자들이 코딩할 때 null 을 argument로 method를 call 하는 것이 문제가 된다. (null reference exceptions).

Null safety가 하는 일은 변수들을 nullalbe과 non-nullable로 구분하는 것이다. 기본적으로 변수는 non-nullable이다. 따라서 변수를 초기화 하지 않았거나 null을 할당하려고 할 경우 error가 발생한다. 이러한 에러는 개발자가 코딩을 하는 동안 type checker가 계속 돌아가면서 코드의 type error를 즉시 잡아낼 수 있다. 즉, 컴파일러에서 코드를 실행하기도 전에 type checker가 버그를 찾아내 수정할 수 있다.   → 개발 속도가 빨라진다.

 

null 값을 변수에 넘겨주고 싶다면 타입 뒤에 ?를 표기해야 한다. 

 

null safety를 적용하면 compile 과정에서 method를 호출 할 때마다 불필요한 null check를 할 필요가 없어져서 속도가 빨라진다. 그러므로 개발자는 적은 메모리를 사용하는 빠른 앱을 만들 수 있다. → 앱 크기를 줄일 수 있고 메모리를 보다 효율적으로 사용할 수 있다.

 

int값의 부재(absence)도 허용하려면, int? 같이 nullable type을 사용해야 한다. 이것은 int | null 처럼 union type을 문법적으로 간단하게 표현한 것이다. 

즉, int? == int | null

 

 

Dart null safety in action? (Null safety for senior) 

Null safety와 관련있는 13개의 예제를 dart pad와 함께 설명 

https://flutter.dev/go/null-safety-workshop

step1. non-nullable types

step2. Nullable types

step3. Nullable type parameters for generics

step4. The Null assertion operation(!)

step5. required keyword

step6. Type promotion

step7. Type promotion via nulll checks

step8. Promotion via exceptions

step9. Object proberties are not promotable

step10. Another tricky object property example

step11. The late keyword

step12. An advanced pattern: late circular references

step13. Late and lazy

 

 

Google API flutter 앱 향상 (영상링크)

 

Flutter와 Dart applications 에서 Google API package를 통해 180여개의 다양한 서비스를 사용할 수 있다. 

Google API는 2개의 카테고리로 나눠진다. 

첫번째 카테고리는 User data와 연결된 것으로, email, 주소록, 유튜브에서 사용 되는 것이다. 

다른 카테고리는 storage, BigQuery, compute, Kubernetes engine 등과 같은 cloud service를 위한 API이다. 

 

● YouTube videos에서 즐겨찾기를 가져오는 flutter web application 에 대해서 간단히 설명

보다 자세한 내용은 flutter.dev/go/google-apis 에 있음.

 

● Cloud Run에서 돌아가고 있는 Dart service에서 Cloud Firestore 사용하는 예 

보다 세한 내용은 dart.dev/go/cloud 에 있음.  

 

Google APIs 라이브러리는 현재 JSON RPC(Remote Procedure Call) 메카니즘을 기반으로 한다. 앞으로는 gRPC 와 통합해서 성능을 높이려고 노력중이다. gRPC(링크)는 Google에서 지원하는 고성능 RPC 메카니즘이다. Dart용 gRPC 라이브러리와 Dart 클래스, service end point를 생성할 수 있는 code generator를 만들어놨다. 

 

 

 

 

 

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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
글 보관함