Let's see how to write integration tests with Flutter Driver, how they differ from widget tests, and how to run them with Codemagic. https://codewithandrea.com/articles/integration-tests-codemagic/
Multi-part tutorial on how to choose and upload an avatar image to Firestore. Part 2 shows how to use MultiProvider to create multiple services, and how to deal with stream dependencies. https://codewithandrea.com/videos/advanced-provider-tutorial-part2/
Multi-part tutorial on how to choose and upload an avatar image to Firestore. Part 3 shows more advanced use cases of Provider to reduce boilerplate code, deal with navigation, and minimise unwanted widget rebuilds. https://codewithandrea.com/videos/advanced-provider-tutorial-part3/
Dart extensions unlock a few interesting use cases in Flutter apps. This tutorial shows how to enable them, what they are, when to use them, and when not to. https://codewithandrea.com/videos/dart-extensions-full-introduction/
Evaluating Flutter from various criteria: Portability, Language Tooling and Features, Documentation, Performance, Testing, Community, Package Ecosystem, Maintainer Commitment and many more. https://codewithandrea.com/videos/whats-great-about-flutter/
How to make your ListViews feel native on iOS by adding top and bottom separators. https://codewithandrea.com/tips/list-view-separated-top-bottom/
How to remove some noise in your Dart code by using underscores for unused function arguments. https://codewithandrea.com/tips/using-underscores-builder-arguments/
How to implement Apple Sign In with Flutter & Firebase Authentication (from scratch), and give your iOS users a convenient way of signing into your app. https://codewithandrea.com/videos/apple-sign-in-flutter-firebase/
FocusScopeNode provides a simpler way of move the focus between text fields in your Flutter forms. https://codewithandrea.com/tips/easily-move-focus-scope-node/
This tutorial shows how to use Flutter custom painters to draw a happy face on screen with Dartpad, starting from scratch. Included: drawing custom shapes with Canvas and Paint, and layout considerations when using CustomPainter. https://codewithandrea.com/videos/flutter-custom-painting-do-not-fear-canvas/
A detailed overview of a production-ready architecture that I've fine-tuned over the last two years. You can use the included starter project as the foundation for your Flutter & Firebase apps. https://codewithandrea.com/videos/starter-architecture-flutter-firebase/
Take-home projects are a task often given to candidates during the interview process. This article shows a hypothetical assignment that I would give to candidates interviewing for a Flutter developer role. https://codewithandrea.com/videos/take-home-job-interview-flutter-firebase/
Master the basics of REST APIs and the Dart http package. Build a Coronavirus tracking application following best practices. https://codewithandrea.com/videos/flutter-rest-api-crash-course-launch/
First chapter of my course about building a Coronavirus Tracker App with the nCoV 2019 REST API. https://codewithandrea.com/videos/flutter-rest-api-crash-course-part1/
Second chapter of my course about building a Coronavirus Tracker App with the nCoV 2019 REST API. https://codewithandrea.com/videos/flutter-rest-api-crash-course-part2/
Master the basics of REST APIs and the Dart http package. Build a Coronavirus tracking application following best practices. https://codewithandrea.com/videos/complete-flutter-rest-api-course/
A useful tip to hide your Firebase config from git in your Flutter web projects. https://codewithandrea.com/tips/flutter-firebase-web-config-gitignore/
In-depth tutorial explaning combineLatest and data modeling with movie favourite example Flutter app. https://codewithandrea.com/videos/rx-dart-by-example-combine-latest/
Best practices for implementing search with RxDart in Flutter, using the GitHub Search REST API as an example. https://codewithandrea.com/videos/rxdart-by-example-github-search/
Case study showing how I have built a backend REST API and Admin Dashboard with Cloud Functions and Flutter web. https://codewithandrea.com/videos/flutter-web-cloud-functions-case-study/
8 top tips that will save you time in your Flutter web projects. https://codewithandrea.com/videos/top-8-tips-for-flutter-web-firebase/
How to create your own Dart packages from existing apps, and other things you need to know. https://codewithandrea.com/videos/how-to-create-dart-packages-flutter-apps/
Introduction to Flutter: the widget tree, stateless and stateful widgets, hot reload and hot restart, and a detailed explanation of the default counter app. https://codewithandrea.com/videos/flutter-for-beginners-introduction/
Learn about Flutter layout basics with over 2 hours of in-depth content (free sample from my Flutter & Firebase course) https://codewithandrea.com/videos/flutter-for-beginners-layout-basics/
How to improve your coding skills and become a better software engineer. https://codewithandrea.com/videos/top-tips-software-engineers/
How to use the precompiled Firestore iOS SDKs to speed-up Xcode builds on your Flutter apps. https://codewithandrea.com/tips/speed-up-cloud-firestore-xcode-builds/
What implicit downcasts are, why they make your code unsafe, and how to avoid them. https://codewithandrea.com/articles/implicit-downcast-no-longer-allowed/
A complete tour of Null Safety & non-nullable types, the syntax changes they introduce in Dart 2.12, and how to use them in practice. https://codewithandrea.com/videos/dart-null-safety-ultimate-guide-non-nullable-types/
Easy ways to improve your Dart & Flutter code. Published weekly. https://codewithandrea.com/tips/dart-flutter-easy-wins-1-7/
Easy ways to improve your Dart & Flutter code. Published weekly. https://codewithandrea.com/tips/dart-flutter-easy-wins-8-14/
Easy ways to improve your Dart & Flutter code. Published weekly. https://codewithandrea.com/tips/dart-flutter-easy-wins-15-21/
Easy ways to improve your Dart & Flutter code. Published weekly. https://codewithandrea.com/tips/dart-flutter-easy-wins-22-28/
Easy ways to improve your Dart & Flutter code. Published weekly. https://codewithandrea.com/tips/dart-flutter-easy-wins-29-35/
Easy ways to improve your Dart & Flutter code. Published weekly. https://codewithandrea.com/tips/dart-flutter-easy-wins-36-42/
I'm launching a Complete Dart Course for beginners with over 8 hours of content, exercises, practical projects and more! https://codewithandrea.com/videos/complete-dart-course-launch/
This is the first chapter of my Complete Dart Course. https://codewithandrea.com/videos/dart-beginners-course-01-introduction/
This is the second chapter of my Complete Dart Course, covering the basics of the Dart Language. https://codewithandrea.com/videos/dart-beginners-course-02-dart-basics/
This is the third chapter of my Complete Dart Course, covering the Dart Type System, and how to use var, final, const and dynamic. https://codewithandrea.com/videos/dart-beginners-course-03-dart-type-system/
This is the fourth chapter of my Complete Dart Course, covering control flow directives such as if/else, while/for loops, switch and enumerations. https://codewithandrea.com/videos/dart-beginners-course-04-control-flow/
This is the fifth chapter of my Complete Dart Course, showing how to build a command line app in Dart to play a game of Rock, Paper and Scissors. https://codewithandrea.com/videos/dart-beginners-course-05-command-line-app/
This is the sixth chapter of my Complete Dart Course, showing how to use collections in Dart (lists, sets, maps). https://codewithandrea.com/videos/dart-beginners-course-06-collections/
This is the seventh chapter of my Complete Dart Course, showing how to process CSV files in Dart. https://codewithandrea.com/videos/dart-beginners-course-07-data-processing/
This is the eigth chapter of my Complete Dart Course, featuring a full overview of Null Safety in Dart. https://codewithandrea.com/videos/dart-beginners-course-08-null-safety/
A curated list of useful Dart tips that will improve your coding style as a Flutter developer. https://codewithandrea.com/videos/top-dart-tips-and-tricks-for-flutter-devs/
This step-by-step guide shows how to install keytool and add it to your system PATH on Windows and macOS. https://codewithandrea.com/articles/keytool-command-not-found-how-to-fix-windows-macos/
I published a directory of all my open source Flutter apps and projects on GitHub. Here's where to find it. https://codewithandrea.com/videos/flutter-example-apps-github/
Should you choose Flutter or React Native for your next app? This article offers an in-depth overview of the two frameworks, along with their pros and cons. https://codewithandrea.com/articles/flutter-vs-react-native/
Two effective techniques for reducing code generation times for Flutter apps that use build_runner. https://codewithandrea.com/tips/speed-up-code-generation-build-runner-dart-flutter/
An overview of Flutter's built-in widgets for managing state, along with links to the best resources from the official Flutter documentation. https://codewithandrea.com/videos/flutter-state-management-basics/
Mixing UI and logic inside Flutter widgets is bad. Here's how to refactor a simple app for better separation of concerns, immutability, and type safety using Freezed & State Notifier. https://codewithandrea.com/videos/flutter-state-management-setstate-freezed-state-notifier-provider/
A complete guide to the Riverpod package for Flutter state management. Included: core concepts & how to use all the available providers. Updated to Riverpod 1.0. https://codewithandrea.com/videos/flutter-state-management-riverpod/
Many Material widgets such as InkWell, ElevatedButton, and ListTile show a splash effect when selected. Here's how to disable this. https://codewithandrea.com/tips/disable-widget-splash-effect-flutter/
How to build an interactive page flip widget using Flutter's AnimationController, AnimationBuilder, gesture detectors and custom 3D matrix transforms (part 1). https://codewithandrea.com/videos/flutter-animations-page-flip-widget-part1/
How to build an interactive page flip widget using Flutter's AnimationController, AnimationBuilder, gesture detectors and custom 3D matrix transforms (part 2). https://codewithandrea.com/videos/flutter-animations-page-flip-widget-part2/
Migrating Flutter apps to Null Safety can be a challenging process. Here I show how to make this as painless as possible, using a non-trivial app as an example. https://codewithandrea.com/articles/migrating-flutter-firebase-app-null-safety/
Going from RGB to HSL: How to more easily reason about colors as hue, saturation and lightness, and how to use HSL in Flutter. https://codewithandrea.com/articles/hsl-colors-explained-flutter/
How to use Flutter Hooks or State subclassing to reduce your AnimationController boilerplate code. https://codewithandrea.com/videos/reduce-animation-controller-boilerplate-flutter-hooks/
Why and when to use the child widget argument to optimize Flutter performance when working with TweenAnimationBuilder and AnimatedBuilder. https://codewithandrea.com/articles/flutter-animated-builder-child-widget-argument/
How to use animations in Flutter to spice up a fun game written in Dartpad. Learn about implicit animations, AnimatedAlign, duration and curves. https://codewithandrea.com/videos/colors-numbers-game-flutter-implicit-animations/
Tips for learning how to build your own Flutter apps, overcome Tutorial Hell, and figure out what to do when you get stuck. https://codewithandrea.com/videos/how-to-build-any-app-flutter/
Learn how to use the most common Flutter animation APIs with examples and a free gallery app on GitHub. https://codewithandrea.com/videos/learn-flutter-animations/
How to implement a responsive layout in Flutter by using a split view on large screens and drawer navigation on mobile. https://codewithandrea.com/articles/flutter-responsive-layouts-split-view-drawer-navigation/
How to create a custom animation curve and implement a shake effect that can be applied to any widget in Flutter. https://codewithandrea.com/articles/shake-text-effect-flutter/
Mutating state or calling async code inside the build method can cause unwanted widget rebuilds and unintended behaviour. Here are some examples and rules to follow. https://codewithandrea.com/articles/side-effects-flutter/
Learn how to parse JSON and define type-safe model classes that can handle validation, nullable/optional values, and complex/nested JSON data. https://codewithandrea.com/articles/parse-json-dart/
Tired of writing JSON parsing code by hand? Here's how to automate this with code generation and the Freezed package. https://codewithandrea.com/articles/parse-json-dart-codegen-freezed/
Need a Flutter widget that updates every frame? Here's why using Timer is not a good choice, and why Ticker is a much better solution. https://codewithandrea.com/articles/flutter-timer-vs-ticker/
CustomPainter is often the way to go when we need to draw some custom shapes in Flutter. Let's see how to use it in practice. https://codewithandrea.com/articles/flutter-drawing-with-custom-painter/
How to animate a custom task completion ring using AnimationController and AnimatedBuilder in Flutter. https://codewithandrea.com/articles/flutter-animation-controller-animated-builder/
In Flutter you can use DecoratedBox to set a lot of decoration/styling options to your widgets. Here's how. https://codewithandrea.com/tips/rounded-border-widget-flutter/
The faker package lets you generate addresses, names, food, dates, sports... you name it! Here's how to use it. https://codewithandrea.com/tips/faker-package/
How to style an ElevatedButton in Flutter, including reusing the same style across all buttons with ThemeData. https://codewithandrea.com/tips/elevated-button-style-flutter/
A simple and elegant approach to build a Chat Messaging UI with DecoratedBox, Align, and Padding widgets in Flutter. https://codewithandrea.com/articles/chat-messaging-ui-flutter/
TextField validation is a common problem that can be solved in multiple ways. Here's an interesting approach based on TextEditingController and ValueListenableBuilder. https://codewithandrea.com/articles/flutter-text-field-form-validation/
How to create a reusable widget class that helps us when working with asynchronous data from Riverpod providers. https://codewithandrea.com/articles/async-value-widget-riverpod/
Listen to Eric, John, and Oscar discuss the articles in the July 2021 issue, Deep Dive into Search. Topics Covered Using Elasticsearch in an application. Archery (for some reason). Password complexity and entropy. Why you should use a password manager. Eric’s interview with Joe Watkins about Bus Factors. Teaching and mentoring new developers. Rocky Linux, […] The post Elasticsearch, Teaching PHP, Design Patterns, People, Joe Watkins, and more appeared first on php[architect].
https:
Eric van Johnson and John Congdon talk to Ken Marks about his article in the July issue, Mentoring and Teaching PHP and his new book PHP Web Development with MySQL Topics Covered How he got started writing and why he wrote a book. How he teaches students to build web applications with PHP and MySQL. […] The post Interview with Ken Marks appeared first on php[architect].
This month, we look at how to use Algebras from functional programming in PHP, offload tasks to Laravel Horizon, and techniques for writing code you can quickly adapt to any change.If you’re looking for the right person to add to your team or digging through a pile of documents to find the right match, we […] The post Trimming One’s Sails appeared first on php[architect].
By Beth Tucker Long Sometimes you need something tried and true, and sometimes you need to escape the daily grind and try something new. I spend a lot of time debugging. I mean, A. LOT. As a consultant, debugging is about 90% of my work, with the other 10% being meetings, or so it seems […] The post finally{}: Stepping Through appeared first on php[architect].
/2021/08/finally-stepping-through/?utm_source=rss&utm_medium=rss&utm_campaign=finally-stepping-through
Eric van Johnson and John Congdon interview Scott Keck-Warren, who wrote an article on Boosting User Perceived Performance with Laravel Horizon, in the August 2021 issue. Topics Covered Getting started programming with QBasic Working with PHP, Laravel, and picking up new languages. Scaling with queues and tasks to send surveys and synchronize data. The benefits […] The post Interview with Scott Keck-Warren appeared first on php[architect].
Eric, John, and Oscar sit down to go over the August 2021 issue, Trimming One’s Sails. Topics Covered Grokking algebraic structures and functional programming with PHP Laravel Horizon and diving into worker queues Multi-factor authentication and why you should use add it to your application. Testing with Pest PHP and how it’s different from PhpUnit. […] The post Functional PHP, Laravel Horizon, MFA, Testing with Pest, Taylor Otwell, and more appeared first on php[architect].
h
We often consider improvements from what they’ll cost us, in time, effort, or money, in the short term and undervaluing the long-term benefits we’ll get. We cover practices that look daunting but are worthwhile in this issue, including PHP refactoring tools like Rector, Commands and Queries, PHP Unit, Strategic Domain-Driven Design, Livewire, and more. The post It’s Really an Upgrade appeared first on php[architect].
https://www.phparch.com/magazine/2021/09/its-really-an-upgra
By Chris Tankersley I have been programming for nearly twenty years at this point, and I have worked in various languages. At many of my previous jobs, as well as my current one, I have had the pleasure of working with PHP as the core language of my job. Since the first time I started […] The post Education Station: PHP is the Worst appeared first on php[architect].
/2021/09/education-station-php-is-the-worst/?utm_source=rss&utm_medium=rss&utm_campaign=education-station-php-is-the-worst
Eric, John, and Oscar talk about changes behind the screen and the September 2021 issue, It’s Really an Upgrade. Topics Covered Changes in ownership at php[architect] The Rector project: using it to upgrade and downgrade library code. CQRS: using it to scale database reads and writes. JWTs and Security Livewire and JavaScript front end frameworks […] The post Upgrading code with Rector, CQRS, Livewire, is PHP the Worst?, and more appeared first on php[architect].
Eric van Johnson and John Congdon interview Tomas Votruba, who wrote an article on Why Would Anyone Want to Downgrade Their PHP Code? in the September 2021 issue. Topics Covered Downgrading PHP Code and why this might be a good workflow for you Rector – Instant Upgrades and Automated Refactoring The power of automated refactoring. The post Interview with Tomas Votruba appeared first on php[architect].
https://www.phparch.com/podcast/interview-with-tomas-votruba/?utm_source=rss&utm_medium=