Skip to content

A more complete app template for Flutter #76379

@brianegan

Description

@brianegan

Use case

Flutter has one starter app template: the Counter app. It gets the user going quickly, and teaches low-level basics in 66 lines of code. We don't, however, provide a template that would be closer to a complete app, with several widgets in separate files, app-wide state, navigation or state restoration.

This creates a large gap for novice users to leap over once they outgrow the one-file, one-widget, setState-only nature of Counter. And that leap lands them among a myriad of community solutions and opinions, most of which a novice user is not yet ready to review critically.

Proposal

The goal is to make it easier for developers to continue their learning journey beyond the Counter app. A developer using Android Studio, for example, should be able to click on an icon in the "New Flutter Project" screen that gives her a more complete project to work with.

This new template should co-exist with the original Counter app template. It is not a replacement.

Reqiurements

  • Simplicity. It is understood that the new template will be less straightforward than the existing Counter app template. But even the new template SHOULD NOT be overwhelming to new Flutter developers, and it MUST NOT be overwhelming to experienced Flutter developers.
  • Teachability. The new template SHOULD be written in a way that allows gradual learning.
  • Accessibility. The new template app MUST be accessible. Screen reader navigation SHOULD be comfortable.
  • Beauty. The template app SHOULD look beautiful to the extent allowed by other provisions.
  • State management. The state management approach of the new template MUST make it simple for the developer to add new features in any part of the app.
  • Performance. The new template MUST follow basic performance guidelines, like avoiding unnecessary rebuilds.
  • Targets. The new template MUST support the following targets: mobile, desktop and web.

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work lista: qualityA truly polished experiencec: proposalA detailed proposal for a change to FluttertoolAffects the "flutter" command-line tool. See also t: labels.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions