Most applications, be it mobile, web, or desktop, depend on some kind of backend. Thus, an API layer is an integral part of application implementation.
This six-part series presents tools and approaches that facilitate API layer implementation in Flutter and Dart applications we use at Tide:
- Part 1: data models with freezed and json_serializable. Basic.
- Part 2: data models with freezed and json_serializable. Advanced.
- Part 3: HTTP client and request interceptors with dio. Basic.
- Part 4: HTTP client and request interceptors with dio. Advanced.
- Part 5: REST API requests with retrofit. Basic.
- Part 6: REST API requests with retrofit. Advanced.
Each of these parts can be applied independently, but together they complement each other and form a full-fledged API layer implementation.
TL;DR
To have some fun we’ll use Marvel Comic API and create a Flutter application that displays a list of Marvel comics.
Check out the Flutter Advanced Networking GitHub repository with a full example.
If you prefer consuming video content, be sure to watch Anna (Domashych) Leushchenko's talk “Basic and advanced networking in Dart and Flutter — the Tide way” on Flutter Global Summit’22.
New to build_runner?
We at Tide rely heavily on the code-generating mechanism with build_runner.
If you are interested to find out about even more areas of code generation application, register for the upcoming Flutter Vikings 2022 conference, where Anna will share her experience in the “Fun with code generation” session. Online attendance is free.
Pssst… We are hiring!
Tide is the leading provider of UK SME business accounts and one of the fastest-growing FinTechs in the UK. We are transforming the business banking market, providing a smart current account that gives time back to business owners.
At Tide, we develop mobile applications for Android and iOS using Flutter. We have a team of over 30 mobile engineers. Yet we’re scaling at speed with a focus on hiring talented individuals with a growth mindset and ownership mentality. Check out our careers page for “Mobile Engineer” positions in different locations.
What’s a Rich Text element?
The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.
Static and dynamic content editing
A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!
How to customize formatting for each rich text
Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.