110 likes | 226 Views
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.
E N D
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.