Win8, Phone 8, and the next version of the C4F toolkit

Coordinator
Sep 1, 2012 at 10:37 PM

So eventually, I'd love to move the Toolkit to Win8.  To do this, I think a few things must happen.

This is an open conversation right now.  Please feel free to chime in.

Here is my current thinking:

  • Namespace changes and have those mimic the class lib structure in .NET
    • Base would be Coding4Fun.Toolkit.
      • Controls would be Coding4Fun.Toolkit.Windows
    • this will be a breaking change.
  • Breaking out platform specific features like .Phone where something that only targets that platform would be.  An example would be a dialer for phone would live in that .Phone breakout
  • Abstract out styles that are platform specific such as PhoneAccentBrush
  • If a platform has a control that is good, we use that control.  Example is the Slider in Win8 is awesome. 
    • I would love to make the base phone control then act like the win8 slider
    • This does have rippling effects as the ColorSlider uses the SuperSlider currently
  • If platform specific magic is required, i'm thinking partial classes may be the way to do it and have item.core.cs, item.phone.cs and item.windows.cs would be how to differentiate between.

thoughts for project cleanup

  • Controls and supporting classes would live in a folder.  I feel right now there is a lot of file vomit going on.
    • where would more abstract stuff like a prompt base class go?
    • follow something like the current theme folder where there are large base groupings?

thoughts on keeping stuff "system control" look/feel

  • I would say target that platform's actual look/feel first.
    • I think, if at all possible, try to support both on both platforms.  there would be times I'd want something to be maybe more like the phone style than Windows Store or the other way.
Coordinator
Sep 3, 2012 at 9:56 PM

I agree with .Windows namespace choice. I think we can split the code into partial classes with platform specific partial linked to correct project. I however do have some concerns.

  • using in codebehind can be wrapped up in using compiler directives
  • XAML namespace declarations would be harder and we would need two sets of templates
  • We can keep look and feel based on current sdk and provide alternate look and feel options if desired.
Coordinator
Sep 3, 2012 at 10:43 PM

Dave, i did check in a sample folder struct, need to create some base projects and what not.  I want to test something out tomorrow while at work, i have a theory.  :-)

Coordinator
Sep 4, 2012 at 4:17 PM

okay i'll wait for your tests and we can decide how to proceed

Coordinator
Sep 5, 2012 at 4:24 PM

Ok, my theory is confirmed.  It was more on setting up projects and solutions :-)  We can opt for compiler flags when needed, i'm not opposed to that

Coordinator
Sep 5, 2012 at 4:33 PM

want me to email you ImageTile for #win8 ? you can further test your theory of splitting xaml and cs ?

Coordinator
Sep 5, 2012 at 4:47 PM

Feel free to check it into experimental

Coordinator
Sep 5, 2012 at 5:03 PM

uploaded.. go crazy