Introduction

Flutter is a UI toolkit (made by Google) for building natively compiled Android, iOS, web and desktop apps while using a single codebase.

It’s used and developed in dart and requires XCode (an aPpLe computer… -,-) and Android Studio as well as according SDKs.

Motivation

As a web developer I am interested in mobile usage of websites as well as webapps and I want to go some steps further and develop native apps for the currently dominating operating systems Android and iOS.

I have had a look into Swift with XCode for iOS and Android-Java for Android and realized some significant layouting and functionality-, as well as securiy differences. This brought me to React Native and Flutter, presenting themselves as multitools for developing mobile apps.

I simply wanted to have a look at Flutter anyway but here is a (conceptional and technical) introduction to what I actually want to build:

Concept notes

I want to build an app for mobile devices which

  • stores information and photos of fabric
    • photos must come from phone’s gallery or camera
    • storage must be handled locally, this app must work while the device is offline
    • device’s security APIs like ‘access to camera’ must be connected / edited comfortably is capable of searching though those entries ahand of its properties
    • properties of fabric might be:
      • color
      • pattern
      • amount (how many meters do you have)
      • fabric storage location (the box it’s in)
      • material

lists, edits, deletes given entries smoothly (CRUD) has an export- and an import functionality for moving data between devices (maybe even between Android and iOS)

  • this might include photos (files) and the database (dump or whatever)

should store data inside a database (for the sake of exporting it later?)

  • Since no sensitive data is being collected, storing this data could be done differently (json, yaml, pgsql)s
  • careful: we need relations between entities here
  • so maybe use db for storing and relations and maybe json for exporting / importing

should be available in at least two languages

  • translating strings must be possible, utilizing translation placeholders in code must be possible

I am heading into development now and will add some findings and thoughts once something actually happened.