
Do it! Kangsam's Flutter & Dart Programming
Description
Book Introduction
True to the reputation of the app development expert known as 'Kkangsam'! Learn the core Dart syntax and build mobile apps with Flutter! Kangsam, an IT professional instructor who trains hundreds of developers every year and author of best-selling Android books, has returned with a Flutter book. We'll select frequently used features in mobile apps, explain their concepts and operating principles in a friendly manner, and create a cross-platform app with [Do it! Practice]. This book explains the core grammar of the Dart language in detail, comparing it to other languages. It also covers various techniques required in development, such as decorating the app screen with various widgets, improving performance with asynchronous programming, and managing state to manage data changes. You'll also learn how to leverage native Android and iOS features through platform channels, and how to integrate with Firebase to handle user authentication, storage, and Cloud Messaging. |
- You can preview some of the book's contents.
Preview
index
Getting Started with Flutter
01 Introducing Flutter!
01-1 Cross-Platform App Development and Flutter
01-2 Flutter Architecture and Features
01-3 Creating a Development Environment on Windows
01-4 Creating a Development Environment on macOS
02 Project Analysis and Using External Packages
02-1 Analyzing a Flutter Project
02-2 Using external packages
02-3 Using the Flutter CLI
Understanding the Dart Language in the Second Yard
03 First encounter with darts
03-1 What is the Dart language?
03-2 Learn the basic functions
03-3 Creating a Library
04 Data Types and Null Safety
04-1 Data Type
04-2 Constant variables - const, final
04-3 var and dynamic types
04-4 Collection Types - List, Set, Map
04-5 Managing Null Point Exceptions
04-6 Null-safe operator
05 Functions and Control Statements
05-1 Function declaration and calling
05-2 Named parameters
05-3 Optional positional parameters
05-4 Function type arguments
05-5 Getter and Setter Functions
05-6 Learn about other operators
05-7 Controlling the execution flow
06 Classes and Constructors
06-1 Classes and Objects
06-2 Constructor and member initialization
06-3 Named Constructor
06-4 Factory Constructor
06-5 Constant constructor
07 Inheritance and Abstract Classes
07-1 Understanding Inheritance
07-2 Abstract Classes and Interfaces
Mixins that share members 07-3
Developing the Third Yard User Interface
08 User Interface Architecture
08-1 Widgets that make up the screen
08-2 Understanding the Widget Tree
08-3 Creating a static screen
08-4 Creating a dynamic screen
Life cycle of state 08-5
08-6 BuildContext Object and Widget Keys
09 Using Basic Widgets
09-1 How to Use Assets
09-2 Text Widget
09-3 Image Widget
09-4 Icons and Icon Buttons
09-5 Gesture detector and elevator button
09-6 Container and Center Widget
10. Placing Widgets
10-1 Setting the direction
10-2 Setting the position
Set the size to 10-3
10-4 Widgets related to other layouts
Configuring the Fourth Yard Screen
11 User Input Processing Widgets
11-1 Text field
11-2 Checkboxes, radio buttons, sliders, switches
Using Form 11-3
12 List composition and dialog widgets
12-1 List View
12-2 Grid View
12-3 page views
12-4 Launching a Dialog
12-5 Tab Bar View
13 Materials and Cupertino Design
13-1 Material Design
13-2 Cupertino Design
13-3 Coping with the shape of the device
13-4 Scaffold Widget
13-5 Custom Scroll View and Sliver App Bar
14 Switching screens using navigation
14-1 Using Navigation
14-2 Using Navigation 2.0
Fifth Yard Networks and Asynchronous Programming
15 Network Programming
15-1 Parsing JSON
15-2 Using the http package
Using the 15-3 dio package
16 Asynchronous Programming with Futures and Streams
16-1 Future and Future Builder
16-2 await and async
16-3 Streams and Stream Builder
16-4 Stream Subscription, Controller, and Transformer
17 Asynchronous Programming with Isolates
17-1 Introduction to Isolate
Sending and receiving data through port 17-2
Managing the state of the Sixth Yard app
18 Managing Status
18-1 Managing the state of widgets
18-2 Creating a Public State Management Widget
19 Using the Provider Package
19-1 Provider Basic Concepts
19-2 Learn about various providers
19-3 Consumers and Selectors
Managing State with 20 Blocks
20-1 Bloc Pattern
20-2 Bloc Components
20-3 Various Bloc Utilization Techniques
20-4 Bloc cubits
21 Managing State with GetX
21-1 Managing Simple States
21-2 Managing Reactive State
Using the Seventh Yard Native Function
22 Platform Integration
22-1 What is a platform channel?
22-2 Using the Message Channel
Using the 22-3 Method Channel
Using the 22-4 Event Channel
23 Using Native Packages
23-1 Getting location information - geolocator
23-2 Using the Image Picker - image_picker
23-3 Using internal storage - shared_preferences
23-4 Using the Internal Database - sqflite
Integrating with Firebase in the Eighth Yard
24 Integrating Flutter Apps with Firebase
24-1 Understanding Firebase
24-2 Firebase Authentication
25 Firestore, Storage, and Cloud Messaging
25-1 Using Firestore
25-2 Using Storage
25-3 Using Cloud Messaging
Search
01 Introducing Flutter!
01-1 Cross-Platform App Development and Flutter
01-2 Flutter Architecture and Features
01-3 Creating a Development Environment on Windows
01-4 Creating a Development Environment on macOS
02 Project Analysis and Using External Packages
02-1 Analyzing a Flutter Project
02-2 Using external packages
02-3 Using the Flutter CLI
Understanding the Dart Language in the Second Yard
03 First encounter with darts
03-1 What is the Dart language?
03-2 Learn the basic functions
03-3 Creating a Library
04 Data Types and Null Safety
04-1 Data Type
04-2 Constant variables - const, final
04-3 var and dynamic types
04-4 Collection Types - List, Set, Map
04-5 Managing Null Point Exceptions
04-6 Null-safe operator
05 Functions and Control Statements
05-1 Function declaration and calling
05-2 Named parameters
05-3 Optional positional parameters
05-4 Function type arguments
05-5 Getter and Setter Functions
05-6 Learn about other operators
05-7 Controlling the execution flow
06 Classes and Constructors
06-1 Classes and Objects
06-2 Constructor and member initialization
06-3 Named Constructor
06-4 Factory Constructor
06-5 Constant constructor
07 Inheritance and Abstract Classes
07-1 Understanding Inheritance
07-2 Abstract Classes and Interfaces
Mixins that share members 07-3
Developing the Third Yard User Interface
08 User Interface Architecture
08-1 Widgets that make up the screen
08-2 Understanding the Widget Tree
08-3 Creating a static screen
08-4 Creating a dynamic screen
Life cycle of state 08-5
08-6 BuildContext Object and Widget Keys
09 Using Basic Widgets
09-1 How to Use Assets
09-2 Text Widget
09-3 Image Widget
09-4 Icons and Icon Buttons
09-5 Gesture detector and elevator button
09-6 Container and Center Widget
10. Placing Widgets
10-1 Setting the direction
10-2 Setting the position
Set the size to 10-3
10-4 Widgets related to other layouts
Configuring the Fourth Yard Screen
11 User Input Processing Widgets
11-1 Text field
11-2 Checkboxes, radio buttons, sliders, switches
Using Form 11-3
12 List composition and dialog widgets
12-1 List View
12-2 Grid View
12-3 page views
12-4 Launching a Dialog
12-5 Tab Bar View
13 Materials and Cupertino Design
13-1 Material Design
13-2 Cupertino Design
13-3 Coping with the shape of the device
13-4 Scaffold Widget
13-5 Custom Scroll View and Sliver App Bar
14 Switching screens using navigation
14-1 Using Navigation
14-2 Using Navigation 2.0
Fifth Yard Networks and Asynchronous Programming
15 Network Programming
15-1 Parsing JSON
15-2 Using the http package
Using the 15-3 dio package
16 Asynchronous Programming with Futures and Streams
16-1 Future and Future Builder
16-2 await and async
16-3 Streams and Stream Builder
16-4 Stream Subscription, Controller, and Transformer
17 Asynchronous Programming with Isolates
17-1 Introduction to Isolate
Sending and receiving data through port 17-2
Managing the state of the Sixth Yard app
18 Managing Status
18-1 Managing the state of widgets
18-2 Creating a Public State Management Widget
19 Using the Provider Package
19-1 Provider Basic Concepts
19-2 Learn about various providers
19-3 Consumers and Selectors
Managing State with 20 Blocks
20-1 Bloc Pattern
20-2 Bloc Components
20-3 Various Bloc Utilization Techniques
20-4 Bloc cubits
21 Managing State with GetX
21-1 Managing Simple States
21-2 Managing Reactive State
Using the Seventh Yard Native Function
22 Platform Integration
22-1 What is a platform channel?
22-2 Using the Message Channel
Using the 22-3 Method Channel
Using the 22-4 Event Channel
23 Using Native Packages
23-1 Getting location information - geolocator
23-2 Using the Image Picker - image_picker
23-3 Using internal storage - shared_preferences
23-4 Using the Internal Database - sqflite
Integrating with Firebase in the Eighth Yard
24 Integrating Flutter Apps with Firebase
24-1 Understanding Firebase
24-2 Firebase Authentication
25 Firestore, Storage, and Cloud Messaging
25-1 Using Firestore
25-2 Using Storage
25-3 Using Cloud Messaging
Search
Detailed image
.jpg)
Publisher's Review
Features of this book
- The entire practical course is provided as a video lecture with the author (updated sequentially after publication).
- Highlight important content in the source code with a highlighter and add guidance in speech bubbles to help with analysis.
- In "Kkangsam! I Have a Question," we introduce various types of questions and answers exchanged with students.
- We separated theory and practice so you can focus on what you want.
It is good for increasing learning effectiveness and also for reference.
- A 15-lesson study plan is provided, which can be used for lectures or self-study.
- Three alpha testers, including Flutter developers, verified the entire hands-on process and source code using the latest version of the development tools.
▶ Create apps that work on multiple platforms simultaneously!
Flutter is developed by Google as both the programming language and framework, so they support each other and develop very quickly.
As communities continue to expand around the world, libraries are also diversifying, lowering the barrier to entry.
You can develop applications that run on desktop, embedded, and web platforms, as well as mobile platforms such as Android and iOS.
Therefore, if you learn Flutter properly, you can use it in various fields.
▶ When choosing a Flutter book, check how much 'Dart' it covers!
When developing apps using Flutter, it is difficult to analyze and utilize the code if you do not properly understand Dart syntax.
Therefore, this book devotes a lot of space to covering the Dart language.
We'll briefly cover commonalities with other languages, while detailing Dart's unique features and the essentials you need to know when developing apps with Flutter.
▶ True to the reputation of 'Kkangsam', which has trained countless developers!
The author of this book is better known to developers as 'Kkang-Sam'.
I have been teaching mobile app development at various educational institutions and companies for a long time.
This book captures the harmony of sweat and passion shared with thousands of aspiring mobile app developers, based on a curriculum proven in both practical and educational settings.
▶ Self-study is possible, but it is also optimally structured as a textbook!
We will explain the basics of Flutter, its operating principles, and how to use each function in an easy-to-understand manner.
Advanced topics that many developers are curious about, such as 'state management' and 'native integration', are explained in detail with illustrations, so you can learn and apply them on your own.
It is also good to use as a teaching material as it separates the parts that the teacher will lecture on and the parts that students will practice.
▶ Let's understand the architecture of mobile app development and develop application skills!
The goal of this book is to develop practical skills in mobile app development.
So, rather than simply listing grammar and code snippets, we've structured it so you can understand and apply the architecture of mobile app development.
It also helps prevent errors and create high-quality code by providing solutions to problems frequently encountered in mobile app development.
▶ Easy-to-read book! Penetrate the core of Flutter with illustrated explanations!
The entire book was produced in 4-color, and the source style and colors of the development tools were applied as is.
So, the book provides the same user experience as the hands-on screen on the computer.
Additionally, we have illustrated key operating principles in the middle to make it easier to understand.
Alpha testers who previewed this book also cited the illustrations for conceptual understanding and the well-presented source code that adheres to coding style conventions as major strengths.
Target audience for this book
If you have basic knowledge of object-oriented programming, you will have no difficulty understanding the content and code of this book.
If you are new to Dart, take a look at the core grammar introduced in the second part.
And if you're new to mobile app development, it's important to read the theory lightly and get familiar with the code by writing practical code yourself.
Then, if you look at the theory part again, it will help you understand the content.
- This is my first time developing an app with Flutter!
- I want to systematically learn Flutter and Dart again!
- I want to use this as a reference to find out how each function works and how to use it!
Practice environment for this book
The source code for this book was tested in the following environments:
You can check the latest news, including version updates, on the author's blog (kkangsnote.tistory.com).
- Flutter SDK: Flutter 3.3.9
- Android Studio: Electric Eel | 2022.1.1
- Android app testing: Android 13, API Level 33
iOS app testing: iPhone 13 (iOS 15) - macOS only
Aegis Publishing Reader Support
* Paid video lectures directly from the author (including theory and practice): https://vo.la/vrK9Ns
* Free video lectures directly from the author: bit.ly/3XjRGN4
* Download source files and get updates: kkangsnote.tistory.com (author's blog)
* Author email for Q&A: kkang104@gmail.com
* Join the [Do it! Study Group] operated by 'Do it! Study Room (cafe.naver.com/doitstudyroom)'.
If you study with this book and write your own study notes, you can receive other books published by Aegis Publishing as a gift.
* If you sign up for membership on the Easy Publishing website (www.easyspub.co.kr), you can check out new releases and event news through our monthly newsletter.
We also hold an event where we release one e-book every month.
- The entire practical course is provided as a video lecture with the author (updated sequentially after publication).
- Highlight important content in the source code with a highlighter and add guidance in speech bubbles to help with analysis.
- In "Kkangsam! I Have a Question," we introduce various types of questions and answers exchanged with students.
- We separated theory and practice so you can focus on what you want.
It is good for increasing learning effectiveness and also for reference.
- A 15-lesson study plan is provided, which can be used for lectures or self-study.
- Three alpha testers, including Flutter developers, verified the entire hands-on process and source code using the latest version of the development tools.
▶ Create apps that work on multiple platforms simultaneously!
Flutter is developed by Google as both the programming language and framework, so they support each other and develop very quickly.
As communities continue to expand around the world, libraries are also diversifying, lowering the barrier to entry.
You can develop applications that run on desktop, embedded, and web platforms, as well as mobile platforms such as Android and iOS.
Therefore, if you learn Flutter properly, you can use it in various fields.
▶ When choosing a Flutter book, check how much 'Dart' it covers!
When developing apps using Flutter, it is difficult to analyze and utilize the code if you do not properly understand Dart syntax.
Therefore, this book devotes a lot of space to covering the Dart language.
We'll briefly cover commonalities with other languages, while detailing Dart's unique features and the essentials you need to know when developing apps with Flutter.
▶ True to the reputation of 'Kkangsam', which has trained countless developers!
The author of this book is better known to developers as 'Kkang-Sam'.
I have been teaching mobile app development at various educational institutions and companies for a long time.
This book captures the harmony of sweat and passion shared with thousands of aspiring mobile app developers, based on a curriculum proven in both practical and educational settings.
▶ Self-study is possible, but it is also optimally structured as a textbook!
We will explain the basics of Flutter, its operating principles, and how to use each function in an easy-to-understand manner.
Advanced topics that many developers are curious about, such as 'state management' and 'native integration', are explained in detail with illustrations, so you can learn and apply them on your own.
It is also good to use as a teaching material as it separates the parts that the teacher will lecture on and the parts that students will practice.
▶ Let's understand the architecture of mobile app development and develop application skills!
The goal of this book is to develop practical skills in mobile app development.
So, rather than simply listing grammar and code snippets, we've structured it so you can understand and apply the architecture of mobile app development.
It also helps prevent errors and create high-quality code by providing solutions to problems frequently encountered in mobile app development.
▶ Easy-to-read book! Penetrate the core of Flutter with illustrated explanations!
The entire book was produced in 4-color, and the source style and colors of the development tools were applied as is.
So, the book provides the same user experience as the hands-on screen on the computer.
Additionally, we have illustrated key operating principles in the middle to make it easier to understand.
Alpha testers who previewed this book also cited the illustrations for conceptual understanding and the well-presented source code that adheres to coding style conventions as major strengths.
Target audience for this book
If you have basic knowledge of object-oriented programming, you will have no difficulty understanding the content and code of this book.
If you are new to Dart, take a look at the core grammar introduced in the second part.
And if you're new to mobile app development, it's important to read the theory lightly and get familiar with the code by writing practical code yourself.
Then, if you look at the theory part again, it will help you understand the content.
- This is my first time developing an app with Flutter!
- I want to systematically learn Flutter and Dart again!
- I want to use this as a reference to find out how each function works and how to use it!
Practice environment for this book
The source code for this book was tested in the following environments:
You can check the latest news, including version updates, on the author's blog (kkangsnote.tistory.com).
- Flutter SDK: Flutter 3.3.9
- Android Studio: Electric Eel | 2022.1.1
- Android app testing: Android 13, API Level 33
iOS app testing: iPhone 13 (iOS 15) - macOS only
Aegis Publishing Reader Support
* Paid video lectures directly from the author (including theory and practice): https://vo.la/vrK9Ns
* Free video lectures directly from the author: bit.ly/3XjRGN4
* Download source files and get updates: kkangsnote.tistory.com (author's blog)
* Author email for Q&A: kkang104@gmail.com
* Join the [Do it! Study Group] operated by 'Do it! Study Room (cafe.naver.com/doitstudyroom)'.
If you study with this book and write your own study notes, you can receive other books published by Aegis Publishing as a gift.
* If you sign up for membership on the Easy Publishing website (www.easyspub.co.kr), you can check out new releases and event news through our monthly newsletter.
We also hold an event where we release one e-book every month.
GOODS SPECIFICS
- Date of issue: February 6, 2023
- Page count, weight, size: 712 pages | 1,446g | 188*257*28mm
- ISBN13: 9791163034568
You may also like
카테고리
korean
korean