Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dart3を試す

ken
March 09, 2023

 Dart3を試す

Flutter [email protected] DeNA TechCon 2023 のLTで発表した資料です

ken

March 09, 2023
Tweet

Other Decks in Programming

Transcript

  1. © DeNA Co., Ltd. 1
    Dart 3を試す
    益満 健
    技術統括部プロダクト開発部
    株式会社ディー・エヌ・エー

    View Slide

  2. © DeNA Co., Ltd. 2
    ● 益満 健 (ますみつ けん)
    ● 最近は SadServers で遊んだりしています。
    ○ https://zenn.dev/kenma/articles/373d382bf4f1db
    ● https://twitter.com/kenma
    ● https://github.com/kenmasumitsu
    自己紹介

    View Slide

  3. © DeNA Co., Ltd. 3
    スケジュール
    ● 2023 1月 : Alpha
    ● 2023 3月 4月: Beta
    ● 2023 半ば: Stable

    View Slide

  4. © DeNA Co., Ltd. 4
    特徴
    ● 完全な null safety
    ○ 非 null safety なコードは実行不可
    ○ Dart 2.x では、pubspec.yml で null safety機能の有効/無効を設定
    ■ sdk 2.12以降を指定していたら null safety
    ● 新機能
    ○ Records, Pattern, Access Controls, etc

    View Slide

  5. © DeNA Co., Ltd. 5
    特徴 #2
    ● platform libraryの連携がより簡単に
    ○ C/ObjC/Swift/Java/Kotlinをより簡単に呼べるようになる。
    ○ よくわかっていません。
    ● ポータビリティ
    ○ Wasmサポート, RISC-Vサポート, Windows ARM64 サポート
    ● Breaking Changes (破壊的変更)
    ○ https://github.com/dart-lang/sdk/issues/34233
    ○ https://github.com/dart-lang/sdk/issues/49529
    ○ https://github.com/dart-lang/language/issues/2357
    ○ 致命的なのはなさそう

    View Slide

  6. © DeNA Co., Ltd. 6
    Dart 3を試す - DartPad
    ● 手軽に試せる
    ● 画面下部で、master channel を選ぶ
    ● 現状 Records と Patterns が試せる
    ○ beta channelだと試せない

    View Slide

  7. © DeNA Co., Ltd. 7
    Dart 3を試す - ローカル
    ● master か dev channelをインストール
    ❯ flutter channel master
    ❯ flutter upgrade
    ● analysis_options.yaml の analyzer.enable-experimentに使いたい機能を指定する
    analyzer:
    enable-experiment:
    - records
    - patterns
    ● CLIから実行する場合、--enable-experiment=records,patterns 機能の利用を指定
    ❯ dart --enable-experiment=records,patterns bin/x_11_pattern.dart
    name: Lily, age: 13
    ● vscodeから 実行する場合は、.vscode/launch.json のvmAdditionalArgsに指定
    "configurations": [
    {
    "name": "x_01_base.dart",
    "request": "launch",
    "type": "dart",
    "program": "bin/x_01_base.dart",
    "vmAdditionalArgs": [
    "--enable-experiment=patterns,records"
    ]

    View Slide

  8. © DeNA Co., Ltd. 8
    Records, Patter を試す
    https://github.com/kenmasumitsu/dart3-sample/tree/main/bin のプログラムを試しま
    す。

    View Slide

  9. © DeNA Co., Ltd. 9

    View Slide