Share
Embed
Transcript
10 slides
-
Speaker - Jhin Lee • Full-Stack Developer @Unity ◦ Golang,
JS/TS, React.js(Next.js), GCP • Full-Stack Developer @ConsiderBeyond ◦ Firebase + Flutter ◦ https://www.considerbeyond.com • LinkedIn: https://www.linkedin.com/in/leehack -
Changelog • Nov 2018 Flutter 1 release ◦ Android /
iOS • Mar 2021 Flutter 2 release ◦ Web support (stable) ◦ Desktop support (preview) ◦ Sound Null Safety (Dart 2.12) • Feb 2022 Flutter 2.10 release ◦ Windows support (stable) • May 2022 Flutter 3 release ◦ Linux support (stable) ◦ MacOS support (stable) ◦ Material 3 Theme -
Current State • Flutter 3.7.7 (Dart 2.19.4) • Fully cross-platform
◦ Web ▪ Maybe WebApp(or PWA) but not WebSite ◦ Mobile: iOS, Android ◦ Desktop: Linux, Windows, MacOS • Null-Safety • Material 3 Theme • 700,000+ apps are published -
Flutter Forward • Impeller rendering engine ◦ Next-generation rendering engine
◦ 3D graphics ◦ Performance improvement: Side-By-Side Demo ◦ Now preview on iOS • Seamless integration (Interoperability) ◦ Web: demo ◦ Mobile ▪ FFIgen is used to generate bindings for C, Objective-C and Swift APIs ▪ JNIgen is used to generate bindings for Java and Kotlin APIs • Dart 3 (alpha) ◦ Records and patterns ◦ Capability controls to classes: `interface`, `base`, `final`, `sealed` • WASM, RISC-V support -
Records and Patterns (Swap) int a = 1; int b
= 2; (a, b) = (b, a); // Now a = 2, b = 1 Demo -
Records and Patterns (Return multiple values) (String firstName, String lastName)
getName() { final user = User(firstName: 'Jhin', lastName: 'Lee'); return (user.firstName, user.lastName); } void main(List<String> args) { // return multiple values final (firstName, lastName) = getName(); print('Name: $firstName $lastName'); } Demo -
Records and Patterns (Destructuring) User getUser() { final user =
User(firstName: 'Jhin', lastName: 'Lee'); return user; } void main(List<String> args) { final User(firstName:first, lastName:last) = getUser(); print('$first is a $last.'); } Demo -
Records and Patterns (Destructuring) final users = [ User(firstName: 'user1',
lastName: '1'), User(firstName: 'user2', lastName: '2'), User(firstName: 'user3', lastName: '3'), ]; for(final User(firstName: first, lastName: last) in users) { print('$first is a $last.'); } Demo -
Resources • What’s next for Flutter (Flutter Forward) • What’s
new in flutter 3.7 • Introducing Dart 3 alpha • Impeller • What’s new - Flutter website • Flutter forward - Youtube playlist