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

Flutter 1.2 Features (Overview&Try vol.2)

Flutter 1.2 Features (Overview&Try vol.2)

The presentation of Flutter Meetup Tokyo 8
#flutter_meetup_tokyo #Flutter #FlutterJP

Kenichi Kambara

March 26, 2019
Tweet

More Decks by Kenichi Kambara

Other Decks in Technology

Transcript

  1. About me •Mobile Apps Development •Technical Speeches • Droidcon UK/FR/NL/ES/SH

    • Devoxx UA • Developers Summit • Android Bazaar and Conference • StackOverflow DevDays • Google I/O Extended • Cloud Days •Technical Writings •[Official] NTT TechnoCross •[Private] iplatform.org Kenichi Kambara (@korodroid)
  2. Flutter 1.2 Overview •Dart 2.2 •Material & Cupertino Widget Sets

    •In-App Purchases •Android App Bundles •New Developer Tools
  3. Flutter 1.2 Overview •Dart 2.2 •Material & Cupertino Widget Sets

    •In-App Purchases •Android App Bundles •New Developer Tools
  4. Flutter 1.2 Overview •Dart 2.2 •Material & Cupertino Widget Sets

    •In-App Purchases •Android App Bundles •New Developer Tools https://bit.ly/2HuUm76
  5. Flutter 1.2 Overview •Dart 2.2 •Material & Cupertino Widget Sets

    •In-App Purchases •Android App Bundles •New Developer Tools
  6. Dart 2.2 • AOT Performance Improvement - 15-20% faster native

    code • Dart 2 Common Front-End (CFE) - Set literal language const Set<String> countries = {'Japan', 'Germany', ‘Singapore’};
  7. [Review]Android/iOS Apps • MaterialApp import 'package:flutter/material.dart'; void main() => runApp(MyApp());

    class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( home: HomeScreen(), ); } }
  8. [Review]iOS style Apps • CupertinoApp import 'package:flutter/cupertino.dart'; void main() =>

    runApp(MyApp()); class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return CupertinoApp( home: HomeScreen(), ); } }
  9. iOS style Apps • CupertinoPageScaffold+CupertinoThemeData class MyApp extends StatelessWidget {

    @override Widget build(BuildContext context) { return CupertinoApp( theme: CupertinoThemeData( textTheme: CupertinoTextThemeData( navLargeTitleTextStyle: TextStyle( fontWeight: FontWeight.bold, fontSize: 32.0, color: CupertinoColors.activeBlue))), home: HomeScreen(), ); } } class HomeScreen extends StatelessWidget { @override Widget build(BuildContext context) { return CupertinoPageScaffold( child: Center( child: Text('Hello Cupertino', style: CupertinoTheme.of(context).textTheme.navLargeTitleTextStyle)), ); } }
  10. iOS style Apps • CupertinoTabScaffold+CupertinoTabBar class HomeScreen extends StatelessWidget {

    @override Widget build(BuildContext context) { return CupertinoTabScaffold( tabBar: CupertinoTabBar(items: [ BottomNavigationBarItem( icon: Icon(CupertinoIcons.bookmark), title: Text('Bookmark')), BottomNavigationBarItem( icon: Icon(CupertinoIcons.search), title: Text('Search')), BottomNavigationBarItem( icon: Icon(CupertinoIcons.add), title: Text('Add')) ]), tabBuilder: (context, i) { return Center( child: Text('Hello Cupertino'), ); }, ); } }
  11. Please let me know if you have any requests 


    such as technical speeches, technical writings and so on. Facebook:http://fb.com/kanbara.kenichi Google+:+Kenichi Kambara LinkedIn:http://www.linkedin.com/in/korodroid Twitter:@korodroid Thank you so much