Tuesday, December 8, 2015

Thin exnsions to my Dipp Dart app; and: creating common methods.

Certain phase in building my Dipp app: now I think to be ready for to build my first big app. Actually I need this for my learning; otherwise I might get stucked, and this brings some discipline here.  

What? I'm building very thin, elementary and quick expansions (1-24) to Dipp. This "tree" is meant to be thin, for to avoid burden, which might come, when is time to make big fundamental changes. I hope to avoid later big changes, if I create in early phase some common-use methods and classes.  

How am I here?  Hard work, many erros, stupid slowness... and unwillingness to read howTo:s. Project Dipp seems right way to test-learn, and maybe -leave- it at any minute, if it feels so. Route is more important than goal. 

How long will it be fun? Small steps policy... yep..  it means fun forever.

How is this work done?  Very patiently and slowly, one step at a time. One happy hour a day.. at least.  None of those 1-24 phases should take more than an hour to complete, by an exprerienced Dart programmer (not me).

How thin are they?  Hermes might be just to check, that words in streams belong to 170-words lists. Server and-client parts: ready code examples with one default answer.  Some might be just: -Not Ready Yet. HTTP requests are simple..  aso.

///  dipp development flow planList dppDevPlanL = [  
  '1 Rondo everywhere and loopRun, runAll show sleep',
  '2 Main and Side Data',
  '3 CL Boxes',
  '4 Web  Dom / Rondo',

  '5 UP-comXX  commands',
  '6     ',
  '7 Stream Connection',
  '8 StringBuffer connection  Buffalo',
  '9 Labor    data',
  '10 Plugins and their data',

  '11 Flags, ables',
  '12 Zyld, structures',

  '13 Hermes',
  '14 Hermit  ',

  '15 Webster DB Mongo',
  '16 Webster  List, text  ',

  '17 Work, tools, effort',
  '18 Ideas, learn, funny',
  '19     ',
  '20 HTTP  data',

  '21 Asker  server',
  '22 Asker  client',
  '23 async  version',
  '24     '];

About Dipp app:  Dipp is for collecting and presenting information in various ways.
About 50 classes are grouped under control of 4 main classes: DippApp,wich keeps plugins and extras.  Venue,is like theatre where main flow happends, aso. Parade,which presents Frames. Worker package is used in Hermit class.
Dipp has 4 main parts / ideas:
1. Plugins, that give extra functionality and data to other apps
2. Human / labor like entities, that have their own nature,  like Newton.
3. Main data-flow and UNLRS-class which gives main functionality to central Dipp classes. 
4. Extra-functionality under DipApp; Server-client-DB-connections-HTTP aso. 

Basic class is UNLRS.  Upper-Name-loop-run-show  class, which gives much of needed ability to main classes, to run, handle and present their data and show statistic info. 

1. Rondo is common run-method, which gets much automation from UNLRS-class.
5. up-comXX  are 2-letter common upper-level variables. Editor can easy find them.
7.8.  StreamConnection and StringBuffer connections from inside UNLRS class.
9.Labor is about human - worker like objects that have their own nature and interests.
10. Plugins.  In this state is plan to make one of 10:s ready.
11. Flags control some abilities that objects has. I love bits "0100 1011 11", but they might be too difficult, compared to booleans.
12. Zyld is data cylinder. Just a plain idea for now.

13. Hermes is big plan, "Gods messenger" with it's own language handling messages between objects.
14. Hermit is isolates, threads.

15.16. Webster is about Databse,Mongo and simpler data

17. Work, tools effort are some extra folders and files.
18. Ideas - learn, funny...   nmore folders with ideas.

20. HTTP data. Objects might have every their own data in the web for daily search.
21.22. Asker is server-client system for objects data. Plan: Copy-paste from Dartlang.

23. Quick async-version in just one tiny web file.
24. More ideas to come

And common methods, which are to be developed here.  What might they be?

1. Complicated function for giving access to Streams from inside a class.
2. Same with StringBuffer. Remember; Dart do not have nested classes.

3. Presenting "List lof Data" in  "List Of Screen Dom elements".
4. Handling bit-data and developing bit tables / booleans.

5. Common methods for seeking data from diff sources and storing it.
6. Some more sophisticated base-classes for special cases.

7. more...
8. ...And more... 

And:  also these must be very thin and schematic.

And some routines / basic elements for web programming.