Training: Mobile app development met Flutter
Mobile development
48 uur
Engels (US)

Training: Mobile app development met Flutter

Snel navigeren naar:

  • Informatie
  • Inhoud
  • Kenmerken
  • Meer informatie
  • Reviews
  • FAQ

Productinformatie

De ontwikkeling van mobiele apps is een essentiële vaardigheid geworden in de technologie-gedreven wereld van vandaag. Deze training is er dan ook op gericht om jou alles te leren over de ontwikkeling van mobiele apps met Flutter. Eerst ga je aan de slag met de basis van Dart-programmeren en het Flutter-framework. Je maakt kennis met de programmeertaal Flutter en Dart en behandelt het gebruik van variabelen, verzamelingen, functies, klassen en objecten. Vervolgens verdiep je je in verschillende lay-outs, waaronder het implementeren van basis Flutter-lay-outs, stateful widgets, stapels, lijsten en rasters, en het bouwen van een applicatie met behulp van lay-outs en navigatie.

Daarna richt je je op het bouwen van mobiele apps met Flutter, inclusief het maken van formulieren, het detecteren en verwerken van gestures, het implementeren en configureren van animaties, het integreren van Flutter met backends met behulp van HTTP-verzoeken, het bewaren van gegevens op het lokale apparaat én de integratie met Google Firebase. Daarnaast wordt aandacht besteed aan het testen en debuggen van Flutter-apps.

Inhoud van de training

Mobile app development met Flutter

48 uur

Flutter Development: Introducing Flutter & the Dart Programming Language

In recent years application development has become more complex and time-consuming as users expect the same application and functionality to be available across different platforms. The result has been increased adoption of technologies such as Flutter that support cross-platform development allowing organizations to use a single code-base to develop applications across multiple environments. In this course, you will learn how Flutter helps develop cross-platform applications. You will explore Flutter's layered architecture and understand how the Flutter framework, Flutter engine, and platform-specific embedder enable cross-platform development in a performant and efficient way. Finally, you will install and set up the Dart SDK on your local machine and use the IntelliJ IDEA to write Dart code.

Flutter Development: Using Variables, Collections, & Functions in Dart

Developing Flutter applications requires programmers to be familiar with the Dart programming language. Dart is an object-oriented programming language that supports mixin-based inheritance and functional constructs. In this course, you will learn how variables in Dart are initialized and used. Next, you will work with basic collection constructs such as the list, set, and map and explore some new operators such as the spread operator. You will also see how Dart implements sound null safety using specific types and null assertion and null aware operators. Finally, you will learn that functions in Dart are first-class citizens, which means that functions can be stored in variables, passed in as input arguments to other functions, and returned as values from functions.

Flutter Development: Using Classes & Objects in Dart

Dart is an object-oriented programming language that supports mixin-based inheritance and functional constructs. Mixin-based inheritance allows you to reuse code from a class without having to inherit from that class and is very useful for modeling inclusive functionality for classes. In this course, we will focus on object-oriented programming constructs in Dart. We'll explore generative and factory constructs, and also see how const constructors can be used to create objects that are compile-time constants. Next, you will learn to use getters and setters in Dart and see how you can implement operator overloading, a feature borrowed from C++. You will discover class inheritance and interface implementation and see how to apply the mixin-based inheritance model to reuse code from classes. You will learn how to install and use third-party libraries from the pub.dev repository and include these as dependencies in your code using the pubspec.yaml file. Finally, you will use futures and the async and await keywords to write asynchronous code in Dart.

Flutter Development: Getting Set Up with Flutter for Application Development

The Dart programming language is primarily used to develop cross-platform Flutter applications. Flutter allows you to use the same code to build apps not only for Android and iOS mobile platforms but also for web and desktop applications. In this course, you will set up with the correct environment to develop Flutter applications on Windows and MacOS devices. You will set up Android Studio and the Flutter SDK and configure the plugins needed for Flutter development on this integrated development environment (IDE) Next, you will create a simple Flutter application and run this sample app using the command line and Android Studio on the Chrome web browser. You will then configure an Android Virtual Device on Android Studio and run this application on the Android emulator. For MacOS users you will configure the iOS simulator and run the application on this simulator. Finally, you will test-drive your Flutter installation by creating a very simple web application using Flutter HTML elements and wiring up event handlers.

Layouts in Flutter: Implementing Basic Flutter Layouts

The Flutter cross-platform framework offers a wide range of layout options to develop your application's pages. Flutter layouts enable you to create beautiful, responsive design for the right look and feel in your mobile applications. In this course, you will learn how Flutter widgets work, how they use composition to build complex user interface component hierarchies, and how the Flutter framework uses the element tree and render tree to render widgets to screen in an efficient way. Next, you will use Material Design components to create simple application pages. You will learn how to work with the Container, Text, Padding, and Image widgets to build elegant app pages. Finally, you will learn how to work with the Scaffold widget to create app pages that follow Material Design best practices.

Layouts in Flutter: Exploring Stateful Widgets

Widgets in Flutter can be stateless or stateful. Stateless widgets have properties that do not change, while stateful widgets contain mutable states that can be updated. In this course, you will create Flutter widgets that hold state information in a different object. You will see how you can handle user actions that update state and how Flutter automatically redraws widgets when their state changes. Next, you will build and use a number of different stateful widgets such as counters, checkboxes, and widgets that update state based on a timer. You will share state across multiple widgets by storing state in a parent component, and you will use callbacks to allow child components to change the parent's state. Finally, you will learn to design layouts using the Column and Row widgets in Flutter.

Layouts in Flutter: Implementing Stacks, Lists, & Grids in Flutter

The stack, list, and grid layouts are very popular in mobile applications because they make great use of screen real estate and allow you to represent information in a manner that is easy for users to understand and parse. In this course, you will learn to use the Stack widget to layer widgets one on top of another. You will use relative and positioned widgets as a part of the stack and see that positioned widgets give you very fine-grained control over where a widget is placed. Next, you will represent elements using the ListView. You will configure the properties of the ListView to match your use case and use the ListTile and the Card widgets to build list elements. You will also build list views with an infinite number of elements. Finally, you will represent your app elements using the GridView.

Layouts in Flutter: Building an Application Using Layouts & Navigation

Mobile applications often have several pages. These pages need to be connected correctly using navigation and routing. In this course, you will explore how Flutter uses a stack data structure to enable navigation. You will use the Navigator class to navigate between pages and use named routes to improve the readability and robustness of navigation code. Next, you will bring together everything you have learned in this path to build a simple application for an e-commerce company using Material Design for Android devices and Cupertino widgets for iOS devices. Finally, you will learn to connect a device to Flutter and test your app on a mobile phone.

Fundamentals of Dart Programming and Flutter Framework

The exercises presented in this lab include: Exercise 1 - Programming in Dart Exercise 2 - Using Basic Data Types in Dart Exercise 3 - Using First-Class Functions in Dart Exercise 4 - Understanding Instance Methods in Dart Exercise 5 - Using Mixin Classes in Dart Exercise 6 - Building Web Applications Using Dart Exercise 7 - Running Flutter App in Android Emulator Exercise 8 - Embedding Images Within Containers in a Flutter App Exercise 9 - Working with the Stateful Widgets in Flutter Exercise 10 - Implementing Gridview in a Flutter App Exercise 11 - Navigating Across Flutter App Using Named Routes Lab Configuration Ubuntu 20.4 Software and Tools Java 20.01 IntelliJ IDEA Community Edition Android studio (with Dart plugin, Flutter plugin) - Flamingo - 2022.2.1 patch 2 GitHub Desktop Flutter SDK Dart SDK Webdev

Final Exam: Fundamentals of Dart Programming and Flutter Framework

Final Exam: Fundamentals of Dart Programming and Flutter Framework will test your knowledge and application of the topics presented throughout the Fundamentals of Dart Programming and Flutter Framework track.

Forms and Animations with Flutter: Working with Input Widgets & Forms

Mobile applications often need to collect user input. User input in Flutter is collected using input widgets and these input widgets can be embedded in forms. In this course, you will discover the types of input widgets you can use to accept input. You will explore use cases and special characteristics of each input type and how inputs can be grouped together into forms with a submit button. Next, you will implement and handle changes in a variety of inputs. You will use change handlers to handle input changes and state updates and use grouped widgets to update the same state using multiple inputs. Finally, you will see how input widgets can be embedded as part of Flutter forms. You will learn how form state is accessed and validated using form field widgets and how you can create custom widgets that can be embedded in Flutter forms.

Forms and Animations with Flutter: Detecting & Handling Gestures

Users often interact with mobile devices using gestures, which are semantic actions that can update the state of the application. Flutter makes it easy to detect and handle gestures using built-in widgets. In this course, you will discover how the GestureDetector in Flutter helps you detect motions in your app that are gestures. The GestureDetector allows you to configure callbacks for the specific gestures you want to handle and allows you to detect and respond to these gestures. If multiple gesture detectors are activated, Flutter uses the gesture arena to disambiguate and invoke the callback on the right gestures. Next, you will explore how to implement gesture detection in your application. You will learn to handle tap, long press, double tap, and drag-related gestures. You will also configure callbacks for other states in the gesture lifecycle such as the start or end of a gesture. Finally, you will see how you can override the default behavior of the gesture arena by configuring a raw gesture detector that allows multiple winners in the arena.

Forms and Animations with Flutter: Implementing & Configuring Animations

Mobile applications can be made fun, interactive, and interesting using animations. Animations add continuity to transitions that you make in your application and make them more intuitive for users. Flutter offers built-in animatable widgets known as implicitly animated widgets while at the same time giving you the tools that you need to build your own custom advanced animations. In this course, you will explore how animations provide an illusion of motion and how Flutter makes animating widgets straightforward using implicit animations. Next, you will explore implicit animations using a variety of animatable widgets such as the AnimatedContainer, AnimatedOpacity, AnimatedCrossFade, and AnimatedSlide. You will learn to create and manage explicit animations that use the AnimationController and how to generate the right property values for your animations using tweens. You will also see how the AnimatedBuilder improves the performance of your animations. Finally, you will explore a range of animations such as Hero animations, staggered animations, and physics simulations that animate objects using the laws of physics.

Flutter and Backends: Connecting to Remote Backends Using HTTP Requests

All mobile applications display data to users and allow users to manipulate this data. The data can be stock quotes in a trading application, products in an e-commerce application, or restaurants and dishes in a food delivery application. This data is usually stored in a remote backend and exposed via HTTP REST endpoints. In this course, you will explore data persistence and create an e-commerce application using the Fake Store API. Then you will serialize and parse JSON data using the dart:convert library. Finally, you will set up and run your own HTTP server on your local machine and write code to handle GET, PUT, POST, and DELETE requests to view, update, add, and delete products from your app's catalog. When you are finished with this course, you will have the skills and knowledge to use the http and dart:convert libraries to access and update data from a remote server using HTTP requests.

Flutter and Backends: Persisting Data on the Local Device

When building mobile applications, there is often the need to store data locally on the mobile device, either across the application's sessions or to store user preferences. Based on the size and complexity of the data, there are several choices to store data locally. Discover how to use the local file system on your device to store data in files. Use the path_provider and path packages to access the application documents directory and create, read, and write files. Next you will use the SharedPreferences plugin to store simple data that can be expressed as key-value pairs. Then you will explore several real-world use cases for SharedPreferences and storing user preferences in an app. Finally, you will investigate how to store larger amounts of structured data using an embedded SQLite. Upon course completion, you will be able to select the appropriate data storage for local data persistence and integrate your Flutter application with this storage.

Flutter and Backends: Integrating Flutter with Google Firebase

One of the most popular backends for mobile applications is Google's Firebase, a cloud-hosted platform specifically for mobile and web application developers that provides a host of scalable and robust services. Begin this course by exploring the ephemeral and application states in your mobile app. Then use the providers package in Flutter to set up and manage the app state using the provider components - the ChangeNotifier, the ChangeNotifierProvider, and the Consumer. Next you will integrate your app with Google Firebase to create and configure your app to connect to the Firebase backend and use Firebase services. Finally, you will build a real-world e-commerce application using Firebase as a backend, store data in the Cloud Firestore NoSQL database, and configure your app to receive real-time updates from Firestore using StreamBuilder widgets. You will set up authentication for your application using Firebase Authentication services, configure login and signup pages, and include functionality for user favorites, cart, and checkout.

Mobile Development: Testing & Debugging Flutter Applications

In real-world app development, tests ensure that bugs and other issues can be found and fixed early in the development and release cycle. Flutter offers a range of testing and debugging tools that make it easy to write tests and debug Flutter applications. Through this course, learn about the types of tests that can be written for Flutter applications. Explore the test types and how to choose between them. Next, practice writing tests for use cases, using mocks to eliminate external dependencies in code, and writing widget tests to test stateless and stateful widgets. Finally, discover Flutter tools for debugging and profiling apps. Upon completion, you'll be able to implement tests and debug a Flutter application.

Building Mobile Apps with Flutter

Building Mobile Apps with Flutter The exercises presented in this lab include: Exercise 1 - Using Text Field Widget in a Flutter App Exercise 2 - Responding to Gestures in a Flutter App Exercise 3 - Implementing Animation in a Flutter App Exercise 4 - Learning to use JSON in a Flutter App Exercise 5 - Performing Unit Testing of a Flutter App Lab Configuration Ubuntu 20.4 Software and Tools Java 20.01 IntelliJ IDEA Community Edition Android studio (with Dart plugin, Flutter plugin) - Flamingo - 2022.2.1 patch 2 GitHub Desktop Flutter SDK Dart SDK Webdev

Final Exam: Building Mobile Apps with Flutter

Final Exam: Building Mobile Apps with Flutter will test your knowledge and application of the topics presented throughout the Building Mobile Apps with Flutter track.

Kenmerken

Docent inbegrepen
Bereidt voor op officieel examen
Engels (US)
48 uur
Mobile development
180 dagen online toegang
HBO

Meer informatie

Doelgroep Softwareontwikkelaar, Webontwikkelaar
Voorkennis

Basiskennis van programmeren en app-development is aangeraden.

Resultaat

Na het voltooien van deze training beschik jij over kennis van de ontwikkeling van mobiele apps met Flutter, inclusief Dart-programmeren, UI-ontwerp, backend-integratie en testen en debuggen.

Positieve reacties van cursisten

Training: Leidinggeven aan de AI transformatie

Nuttige training. Het bestelproces verliep vlot, ik kon direct beginnen.

- Mike van Manen

Onbeperkt Leren Abonnement

Onbeperkt Leren aangeschaft omdat je veel waar voor je geld krijgt. Ik gebruik het nog maar kort, maar eerste indruk is goed.

- Floor van Dijk

Training: Leidinggeven aan de AI transformatie

Al jaren is icttrainingen.nl onze trouwe partner op het gebied van kennisontwikkeling voor onze IT-ers. Wij zijn blij dat wij door het platform van icttrainingen.nl maatwerk en een groot aanbod aan opleidingen kunnen bieden aan ons personeel.

- Loranne, Teamlead bij Inwork

Hoe gaat het te werk?

1

Training bestellen

Nadat je de training hebt besteld krijg je bevestiging per e-mail.

2

Toegang leerplatform

In de e-mail staat een link waarmee je toegang krijgt tot ons leerplatform.

3

Direct beginnen

Je kunt direct van start. Studeer vanaf nu waar en wanneer jij wilt.

4

Training afronden

Rond de training succesvol af en ontvang van ons een certificaat!

Veelgestelde vragen

Veelgestelde vragen

Op welke manieren kan ik betalen?

Je kunt bij ons betalen met iDEAL, PayPal, Creditcard, Bancontact en op factuur. Betaal je op factuur, dan kun je met de training starten zodra de betaling binnen is.

Hoe lang heb ik toegang tot de training?

Dit verschilt per training, maar meestal 180 dagen. Je kunt dit vinden onder het kopje ‘Kenmerken’.

Waar kan ik terecht als ik vragen heb?

Je kunt onze Learning & Development collega’s tijdens kantoortijden altijd bereiken via support@icttrainingen.nl of telefonisch via 026-8402941.

Background Frame
Background Frame

Onbeperkt leren

Met ons Unlimited concept kun je onbeperkt gebruikmaken van de trainingen op de website voor een vast bedrag per maand.

Bekijk de voordelen

Heb je nog twijfels?

Of gewoon een vraag over de training? Blijf er vooral niet mee zitten. We helpen je graag verder. Daar zijn we voor!

Contactopties