dawo 0.0.5

  • README.md
  • Example
  • Installing
  • Versions
  • 50

dawo 0.0.5

Learning Dart; simple basic data for beginners, and howTo use it for building a package. Beginner Dart programmers kickoff to develop a glorious package.. Latest code in GitHub: https://github.com/heiklap/dawo

  • Read: /doc/hist_versions.txt in gitHub to see full changes to this, and coming versions.
  • Blog: http://dawopack.blogspot.fi/search/label/dawo


// Mission Class has wide access to data, since they have instances of
// Chore classes inside them, in choresL : List<CommmonChore>

// Example files here rolls only once, without loops, and output their data in console.
var dawoApp = new DawoApp('Play-rumba:dawoApp', 'By: dawo_example: dawoApp rolls missioms');
var rumba = new Rumba();

// This returns in addition a StringBuffer, that is not used here.
// Example apps presents output-data on windows console in flow, or in two kind of boxes. 


Get people together, let they present ideas, collect best ideas to libraries and group them meaningfully. Start building first new classes, but keep your mind open for intuitive solutions. Leave room and time to resolve, what will be the direction of this package. Practise to use Dawo by finding it's properties in editor, and think their importance in app.


First dawo version was kind of artistic mess, as a consequence of long-time brainstorming. Dawo 0.0.1 shows starter programmers confusion, and records ways and steps out of this mess to clarity and understanding. Latest code in GitHub: https://github.com/heiklap/dawo

0.0.1 demonstrates how data is messy, when it is not inside classes. But you have direct instant access to every piece of it. Check for pollution of public namespace!!

0.0.2 version was to weed out some of the material and create a couple of classes. Theme : baseStructure, base_lib, dawo_mill, connector, learn/code_snippets

0.0.3 Was for building first control-flow structure (Rumba.dance) to use Class-data inside app. Theme: Present different Mission ( = Client / customer) data and small, elementary work-flow. Chores ( 7 chores by default in every Mission). dawo_example.dart gives 14 screen-full data output.

0.0.4 Version Theme: Statistics, output, variation, versatility, documentation in doc-folder. dawo_example.dart gives 11 screen-full data output.

0.0.5 High level connections between objects, placard, glb, commonOp and states.

0.0.6 Basic idea and orientation of package to resolve. 0.0.8 Incubator idea: -move first too big parts to independent packages. Maybe chore(process) and team


code_snippets, learn / copy-paste stuff:

  • aldente_func : Simple functions, including some logical errors. Can you spot errors?!
  • bat_loop : Control flow structure samples.
  • learn_stream_sync : Examples of simple Streams. So. async stuff.

app files

  • base_lib : Develop common properties, that other libraries should depend on.
  • base_struct : Structuring base classes. These two libraries do not depend other dawo files.
  • chore : Start of bigger "job" / "chore" for real-world-work. Imitating functionality of other, bigger, same kind of library.
  • connector.dart Connecting ( as #client's) app - mission - chore together, mediating them. Seeking deep, inner connections of objects.
  • (? dawlib_coll : Resources. Examples and hacking material of Dart collections.)
  • dawo.dart : main file, exports : dawo_src.dart.
  • dawo_app : DawoApp class, handles Missions and keeps out-put-buffers in Map.
  • dawo_dev : Classes and data, that help in developing this package. Helper functions for cl (command line)and screen output.
  • dawo_src : File created by stagehand plugin app. Here it imports all other libraries and gathers some information about them.
  • effort.dart : Human activities, chores sub, main user-activity and presentation.
  • equipment.dart : Controlling material resources for Mission and Chore.
  • mill : Plan: processing commands orderly, all they in row, by given priorities.
  • missions : Chunk of command-processing between app and chore. Caring Chores. Missions keep and process data ( #clay) of their favorite area.
  • rumba.dart : Rumba classes .dance method runs here dawo's control-flow (once).
  • shower.dart : presentations on console, mostly box-shaped.
  • tools : Helper tools, sleep, stamps, lists aso.

src.dart imports files:

import 'package:dawo/code_snippets/aldente_func.dart';
import 'package:dawo/code_snippets/bat_loop.dart';
import 'package:dawo/code_snippets/learn_stream_sync.dart';

import 'package:dawo/code_snippets/aldente_func.dart';
import 'package:dawo/code_snippets/bat_loop.dart';
import 'package:dawo/code_snippets/learn_stream_sync.dart';

import 'base_lib.dart';
import 'base_struct.dart'; //  unused
import 'chore.dart';
import 'connector.dart'; //  unused
import 'dawo_app.dart';
import 'dawo_dev.dart';
import 'effort.dart';
import 'equipment.dart';
import 'mill.dart';
import 'missions.dart';
import 'rumba.dart'; //  unused
import 'shower.dart';
import 'tools.dart';

///  Data (clay) is in clay-folder.
import 'package:dawo/clay/clay_roll.dart';

Creating Dawo variables in new file:

//  create instances of classes::
var dap = new DawoApp('exampleApp', 'Testing in dawo_example');
// play with them in IDE:
dap.   //  dot notation gives you hint of classes properties.
var mission = new Mission('#name','#state');  //  #state  ? :)

var ch = new Chore('#name','info');
// play with them:
///  connector is in very early state
var connector = new Connector('name','info');

// Using Dawo in your web app: (Dawo do not include HTML-code)

Add to your pubspec.yaml:
  dawo: 0.0.4
  browser: ^0.10.0
  dart_to_js_script_rewriter: ^1.0.1
//  your main.dart
import 'dart:html';
import 'package:dawo/dawo.dart';
import 'package:dawo/rumba.dart';
import 'package:dawo/dawo_app.dart';    
main() {
  //  Create classes as above. Or copy code from: Usage:
  var dawoApp = new DawoApp('Pplay-rumba:dawoApp', 'By: dawo_example: dawoApp rolls missioms');
  var rumba = new Rumba();
// Run code in browser and check console output: Ctrl-Shift-i 
// Or make html templates that catch output to text fields / elements.

About variable names and Classes in Dawo

Play in IDE editor with alphabet: a..z to see, what variables are available. See how common namespace might become polluted with unnecessary stuff, and try to find a way, to organize them/ your variables to meaningful classes.


goals, teams, temps
morn, night, day 
dev, make, init 

Test objects in code_snippets-folder / learn... -section. These files might be best, when copy-pasted and studied in computer.

Joker.., aldente...  bat...

sleep(), start..()  

ride....()   roll(....) 
// Watch: init.. build.. roll.. show.. done method-cycle.

Features and bugs

Please file feature requests and bugs at the issue tracker.



  • Effort, diagonal and schedule console output.


  • Console output of mission, chore, dev; in box-form.


  • Rumba.dance() method rolls mission-chore data.


  • Classes are ready but no client data or roll-all.


  • Elementary messy data, waiting for pruning and classification.


// Copyright (c) 2017, Heikki K Lappalainen. All rights reserved. Use of this source code
// is governed by a BSD-style license that can be found in the LICENSE file.
///  dawo_example   dawo version  0.0.5  6.11.2017

import 'package:dawo/dawo.dart';

///  watch difference, when importing dawo/dawo_src.dart
///  dawo_src only #imports all dawo files except dawo.dart
///  dawo.dart exports: export 'package:dawo/dawo_src.dart';
//  import 'package:dawo/dawo_src.dart';

// wanna import all of them?
import 'package:dawo/code_snippets/aldente_func.dart';
import 'package:dawo/code_snippets/bat_loop.dart';
import 'package:dawo/code_snippets/learn_stream_sync.dart';

import 'package:dawo/base_lib.dart';
import 'package:dawo/base_struct.dart';
import 'package:dawo/chore.dart';

import 'package:dawo/dawo_app.dart';
import 'package:dawo/dawo_dev.dart';
import 'package:dawo/mill.dart';
import 'package:dawo/missions.dart';
import 'package:dawo/shower.dart';
import 'package:dawo/tools.dart';
import 'package:dawo/rumba.dart';


//  create classes::
var da = new DawoApp('exampleApp', 'Testing in dawo_example');
var df = new Mill();

var missionX = new Mission('Mission-class', 'example:dawo_example');

var ch = new CommonChore('ChoreInDawoExample', 'Test-Chore');

main() {
  print('==>>==>>====      dawo_example          ==>>==>>====');
  //  By Google Stagehand example
  var awesome = new Awesome();
  print(':DAWO:EXAMPLE:  awesome: ${awesome.isAwesome}');

  var dawoApp = new DawoApp(':play-rumba-test:dawoApp',
      'By: dawo_example.dart: dawoApp rolls missioms');
  var rumba = new Rumba();

  // This also returns a StringBuffer.
  print('==<<==roll mission op/ init -open - roll: -close    ==<<==<');
  //  TODO  Better hello-function, to do something real.
  void helloMission() => print(':d:exmpl: * *   Mission!  Message-bus. * * ');
  print('\n -::dw-ex: -----------  rolling mission op-functions ---------- ');

  ///  Eventually opRoll handles all these others.
  packDawoMission.opInit(1, 'empty parameter');
  packDawoMission.opOpen(2, 'second empty parameter');
  packDawoMission.opRoll(3, helloMission);
  packDawoMission.opClose(4, helloMission);
  print(' -::dw-ex: -----------  rolling mission op-functions done ------\n');

  print('==>>==>>====      dawo_example buffers:     ==>>==>>====');
  outBuffersPrint('dawo_example', 'no-prevent-printing');
  print('==<<==<<====      dawo_example buffers:     ==<<==<<====');

  print('d-ex- >>  ----- calling choreEffort---------- dawo sets, goals:');

  print('d-ex- <<  ----- calling choreEffort done  ------ dawo sets, goals:');

  print(':d:ex: ==>>==>>====      encoded - decoded      ==>>==>>====');
  print(':d:ex: ==>>==>>==== chore > effort > user_json render   ==>>==>>===');

  print(':d:ex: ==<<==<<====      encoded - decoded   done   ==<<==<<====');

  print('==<<==<<====      dawo_example done     ==<<==<<====');

///  For to check variables visibility.
void wordPlay() {
  //  Play with variables: watch something from every file
  //  base
  // baseLibMotto

  //  baseStructMotto;

  //  chore
  // choreBuf

  //  dawo
  // dawoBuf

  //  app  3 variables
  // appMap;

  //  dev  17 variables
  //  devBlame;

  //  flow*  2 variables

  //  mill  4 variables

  //  DawoMill

  //  mission
  //  Mission  class

  //  out  15 variables
  //  placard* : 1

  //  toolsActive;

  //  play with classes

  ///  testing dawo
  //  daw... ok

  //  render   //  there are 5 render-functions

  //  No, too much noise.
  //  printBuffers();

void playDawoSrcDart() {}

1. Depend on it

Add this to your package's pubspec.yaml file:

  dawo: "^0.0.5"

2. Install it

You can install packages from the command line:

with pub:

$ pub get

with Flutter:

$ flutter packages get

Alternatively, your editor might support pub get or packages get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:dawo/dawo.dart';
Version Uploaded Documentation Archive
0.0.75 Jan 8, 2018 Go to the documentation of dawo 0.0.75 Download dawo 0.0.75 archive
0.0.7 Dec 18, 2017 Go to the documentation of dawo 0.0.7 Download dawo 0.0.7 archive
0.0.6 Nov 27, 2017 Go to the documentation of dawo 0.0.6 Download dawo 0.0.6 archive
0.0.5 Nov 6, 2017 Go to the documentation of dawo 0.0.5 Download dawo 0.0.5 archive
0.0.4 Oct 16, 2017 Go to the documentation of dawo 0.0.4 Download dawo 0.0.4 archive
0.0.3 Sep 25, 2017 Go to the documentation of dawo 0.0.3 Download dawo 0.0.3 archive
0.0.2 Sep 11, 2017 Go to the documentation of dawo 0.0.2 Download dawo 0.0.2 archive
0.0.1 Sep 5, 2017 Go to the documentation of dawo 0.0.1 Download dawo 0.0.1 archive
0.0.0 Sep 21, 2013 Go to the documentation of dawo 0.0.0 Download dawo 0.0.0 archive


We analyzed this package on Mar 5, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.0.0-dev.31.0
  • pana: 0.10.3


Describes how popular the package is relative to other packages. [more]
0 / 100
Code health derived from static analysis. [more]
99 / 100
Reflects how tidy and up-to-date the package is. [more]
100 / 100
Overall score:
Weighted score of the above. [more]
Learn more about scoring.


Detected platforms: Flutter, web, other

No platform restriction found in primary library package:dawo/dawo.dart.


  • Fix issues reported by dartanalyzer or dartfmt.

    dartanalyzer or dartfmt reported 28 hints.

    Strong-mode analysis of lib/base_lib.dart gave the following hint:

    line: 35 col: 8
    Unused import: 'dart:math'.

    Strong-mode analysis of lib/clay/pack_dawo.dart gave the following hint:

    line: 10 col: 8
    Unused import: 'dart:convert'.

    Similar analysis of the following files failed:

    • lib/clay/pack_dawo_json.dart (hint)
    • lib/clay/user_json.dart (hint)
    • lib/dawo_app.dart (hint)
    • lib/dawo_dev.dart (hint)
    • lib/dawo_src.dart (hint)
    • lib/effort.dart (hint)
    • lib/missions.dart (hint)
    • lib/shower.dart (hint)
  • Package is pre-v1 release.

    While there is nothing inherently wrong with versions of 0.*.*, it usually means that the author is still experimenting with the general direction API.

  • Use analysis_options.yaml.

    Rename old .analysis_options file to analysis_options.yaml.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.20.1 <2.0.0
browser ^0.10.0+2 0.10.0+2
Dev dependencies
test ^0.12.24+2