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

[NTT Tech Conference]Flutterアプリ開発スタートアップwithTips

[NTT Tech Conference]Flutterアプリ開発スタートアップwithTips

This is my presentation file on NTT Tech Conference 5.

#NTTtech
#flutterjp
#flutter

Kenichi Kambara

February 26, 2021
Tweet

More Decks by Kenichi Kambara

Other Decks in Technology

Transcript

  1. About me •Mobile App Development •Speeches (e.g. 9 International confs.)

    •Writings (e.g. 5 Dev Books) •[Official] Evangelist at NTT TechnoCross •[Private] iplatform.org Kenichi Kambara (@korodroid)
  2. ·ͣ͸ײ֮Λ௫Ή (࿅शʹ͓͢͢Ί) ։ൃ؀ڥ 1. IDEΛར༻͢Δํ๏ •Android Studio •Visual Studio Code

    •IntelliJ IDEA 2. IDEΛར༻͠ͳ͍ํ๏ •Flutter Studio
 &DartPad ࢖͍׳Ε͍ͯΕ͹ ࠷ॳ͔Βͪ͜ΒͰ 
  3. ·ͣ͸ײ֮Λ௫Ή (࿅शʹ͓͢͢Ί) ։ൃ؀ڥ 1. IDEΛར༻͢Δํ๏ •Android Studio •Visual Studio Code

    •IntelliJ IDEA 2. IDEΛར༻͠ͳ͍ํ๏ •Flutter Studio
 &DartPad ࢖͍׳Ε͍ͯΕ͹ ࠷ॳ͔Βͪ͜ΒͰ 
  4. ·ͣ͸ײ֮Λ௫Ή (࿅शʹ͓͢͢Ί) ։ൃ؀ڥ 1. IDEΛར༻͢Δํ๏ •Android Studio •Visual Studio Code

    •IntelliJ IDEA 2. IDEΛར༻͠ͳ͍ํ๏ •Flutter Studio
 &DartPad ࢖͍׳Ε͍ͯΕ͹ ࠷ॳ͔Βͪ͜ΒͰ 
  5. ը໘ͷ։ൃ΋Dart(LayoutXML, StoryBoard) ը໘ͷ࡞Γํ  import 'package:flutter/material.dart'; void main() => runApp(MyApp());

    class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Welcome to Flutter', home: Scaffold( appBar: AppBar( title: Text('͸͡ΊͯͷFlutter'), ), body: Center( child: Text('͜Μʹͪ͸ɺFlutter'), ), ), ); } }
  6. એݴతUIϑϨʔϜϫʔΫ Hello Flutterͷίʔυղઆ  import 'package:flutter/material.dart'; void main() => runApp(MyApp());

    class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Welcome to Flutter', home: Scaffold( appBar: AppBar( title: Text('͸͡ΊͯͷFlutter'), ), body: Center( child: Text('͜Μʹͪ͸ɺFlutter'), ), ), ); } }
  7. StateΛར༻ͯ͠ঢ়ଶ؅ཧ [Ԡ༻]ಈతͳը໘ߋ৽ˠ(·ͣ͸)StatefulWidget  import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class

    MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: MyHomePage(title: 'Welcome to Flutter'), ); } } class MyHomePage extends StatefulWidget { MyHomePage({Key key, this.title}) : super(key: key); final String title; @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { int _counter = 0; void _incrementCounter() { setState(() { _counter++; }); } …(লུ)…
  8. Flutterೖ໳࣌ʹ͓͍͑ͨ͞Dartཁૉ  • _ (privateʹ૬౰) • https://dart.dev/guides/language/language-tour#libraries-and-visibility • .. (Χεέʔυه๏)

    • https://dart.dev/guides/language/language-tour#cascade-notation- • … (Spreadԋࢉࢠ) • https://dart.dev/guides/language/language-tour#spread-operator • Future / Stream (ඇಉظॲཧ) • https://dart.dev/tutorials/language/streams ref. Dart Official Site https://dart.dev/
  9. [Plugin 1] FlutterGen ΞηοτɾϑΥϯτɾΧϥʔ౳ͷ؅ཧࢧԉ [wasabeef͞Μ]https://github.com/FlutterGen/flutter_gen // Before class MainPage extends

    StatelessWidget { @override Widget build(BuildContext context) { return Image.asset("assets/images/chara1.png"); } } // After 
  10.  Please let me know if you have any requests

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