Team Lavender Prototype #1
CS 383. Team Lavender Prototype #1. Alex Cochrane, Daniel Green, David Miller, Colby Rush. Advantages of the Surface Platform. 360 degree capabilities Multiuser experience with Multitouch capabilities Object Recognition Natural User Interface (NUI). Cont.
Team Lavender Prototype #1
E N D
Presentation Transcript
CS 383 Team LavenderPrototype #1 Alex Cochrane, Daniel Green, David Miller, Colby Rush
Advantages of the Surface Platform • 360 degree capabilities • Multiuser experience with • Multitouch capabilities • Object Recognition • Natural User Interface (NUI) http://en.wikipedia.org/wiki/Microsoft_PixelSense
Cont. • x86 compliant computing platform • Runs Windows 7 • i.e. • Anything you can think of… • Can be created and ran on it!
The Framework – What is .NET? • The .NET Framework is • implementation of the Common Language Runtime(CLR) Virtual Machine • The Base Class Library • Microsoft Windows Specific • Version 4.5 released Aug 15 2012 • ISO, ECMA Standardized
The Framework– Why use .NET? • Why would anyone use .NET? • First Class Interoperability with native code • Built on a platform neutral runtime • Language Independent • Has a vast and powerful Base Class Library • Why would WE use .NET? • Because the Surface SDK 2.0 targets .NET • Because we don’t have time to spin our own tools
The Language – C# • C# is • Multi-Paradigm • Strongly Statically & Dynamically Typed, Imperative, Declarative, Functional, Generic, Object-Oriented • CLR Common Type System Compliant • Garbage Collected • Similar to C in syntax, and Java in structure • Still under revision and expansion • 5.0 Specification was released in August 2012
The Language – Why pick C#? • Any .NET compliant language would work • Visual Basic .NET • C++\CLI • C# • F# • IronPython • LoLCode.NET • Axom
The Language – Requirements • Rapid development • Easy learning curve for the team • Data Driven project development • Familiar Paradigm (Imperative/OO) • Good language support for UI Development • Readily available resources and code samples • Widely used for sustaining engineering • First class testing support
C# Key Language Features • Language Integrated Query (LINQ) • Asynchronous execution syntax // Construct presenters of all content in the content store with the current // department selected for this session. varcontent = from content inContentStore wherecontent.Department == Session.CurrentDepartment selectnewContentPresenter(content); // Execute long running operations without blocking the calling thread asyncTask<int>ComputeStuff (List<Data>dataWidgets) { intresult; foreach(Data d in dataWidgets) { result += awaitDoLongRunningComputation(d); } return result; }
Windows Presentation Foundation • Microsoft’s modern desktop application development API • Uses XAML markup for user interface declarative design • All rendering leverages DirectX API for high performance and hardware acceleration • Engineered to be “designed” by designers, and “programmed” by programmers.