A Better Flutter App #6

I Like Screenshots. Tap Caption For Gists.

As always, I prefer using screenshots in my articles over gists to show concepts rather than just show code. I find them easier to work with frankly. However, you can click or tap on their captions to see the code in a gist or in Github. Tap or click on the screenshots themselves to zoom in on them for a closer look.

No Moving Pictures, No Social Media

There will be gif files in this article demonstrating aspects of the topic at hand. However, it’s said viewing such gif files is not possible when reading this article on platforms like Instagram, Facebook, etc. They may come out as static pictures or simply blank placeholder boxes. Please, be aware of this and maybe read this article on medium.com

Other Stories by Greg Perry

The Areas Of Responsibility

In this article, let’s examine the valued characteristic for scalability and adaptivity, and how that’s achieved with the underlying framework and its chosen design. A successful app is going to grow — in functionality and in capability. It's common for successful apps upon their debut to receive a number of requests for features in their next release. Ideally, its source code should be adaptive and allow for quick turnarounds in anticipation of such demands.

View > Controller > Model

Count On It

If we review the ‘interface’ for the counter app below, we can readily see the ‘separation of work’ implemented in this project. You’ll note the majority of the code displayed below is concerned with ‘the look’ of the counter app. It’s concerned with the placement of the screen’s components, their size, their color, etc. The actual displayed data is under the responsibility of another part of the app — the controller. You can see the occurrence of this component in the variable, con, here and there in the code below. Of course, you can guess what sort of data these entries are supplying to the interface, but you can’t readily deduce from this vantage point how that data is conceived. That’s a good thing. The practice of a consistent API and polymorphism makes this possible.

counter_view.dart
counter_view.dart
counter_view.dart
counter_controller.dart
counter_model.dart
counter_model.dart

A Better Flutter App #7

Handle App Lifecycle Events

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store