How to Store API Keys in Flutter: --dart-define vs .env files

An overview of different techniques for storing API keys on the client, along with security best practices to prevent them from being stolen. https://codewithandrea.com/articles/flutter-api-keys-dart-define-env-files/

How to Read Localized Strings Outside the Widgets using Riverpod

How to access localized strings outside your widgets without a BuildContext, by creating a locale-aware AppLocalizations provider using Riverpod. https://codewithandrea.com/articles/app-localizations-outside-widgets-riverpod/

How to fix "SocketException: Connection failed (Operation not permitted)" with Flutter on macOS

Flutter apps built for macOS need a client network entitlement in order to make network requests. Here's how to configure it. https://codewithandrea.com/tips/socket-exception-connection-failed-macos/

Functional Error Handling with Either and fpdart in Flutter: An Introduction

Fpdart aims to bring all the main types found in functional languages to Dart. Here we focus on the Either type and learn how to use it for robust error handling. https://codewithandrea.com/articles/functional-error-handling-either-fpdart/

Functional Error Handling with Either and fpdart in Flutter: An Introduction

If we want to make it explicit when a function can throw or return an error in Dart, we can use the Result type rather than throwing an exception. Here are all the details. https://codewithandrea.com/articles/functional-error-handling-task-either-fpdart/

Flutter Exception Handling with try/catch and the Result type

In Dart, we can use the Result type to make it explicit when a function can return an error, rather than throwing an exception. Here's an overview of the pros and cons. https://codewithandrea.com/articles/flutter-exception-handling-try-catch-result-type/

Flutter Riverpod: How to Register a Listener during App Startup

An overview of how we can use Riverpod to register listeners and initialize complex objects with dependencies during app startup. https://codewithandrea.com/articles/riverpod-initialize-listener-app-startup/

Singletons in Flutter: How to Avoid Them and What to do Instead

An introduction to singletons in Flutter: what problems they solve, what other ones they introduce, and what are their alternatives. https://codewithandrea.com/articles/flutter-singletons/

Flutter App Architecture: The Application Layer

Service classes are the ideal place to store logic that depends on multiple data sources or repositories. Let's explore them by building a shopping cart feature. https://codewithandrea.com/articles/flutter-app-architecture-application-layer/

The Beginner's Guide to Asking Coding Questions Online

Asking questions and receiving answers is a two-way street. Here's what to do when you need to ask a technical coding question. https://codewithandrea.com/articles/beginners-guide-coding-questions/


Members



Search