Software Development Chapter 2 – Programming on Windows 8 Contents ❷❸ • Getting to know Windows 8 • Windows 8 applications • What tools are used to develop Windows 8 applications? • Assignments • Questions and answers Getting to know Windows 8 • The most significant new feature is the new Start Screen designed for touchscreens • The Start Screen replaces the earlier Start Menu Windows 8 Start Screen • Although the Start Screen has changed, Windows 8 also includes the familiar desktop view – In desktop view Windows 8 functions like earlier Windows version, i.e. 7 • The new Start Screen enables applications to display automatically updated status changes, such as new messages Windows 8 versions • Four different available Windows 8 versions 1. Windows RT – ARM platform, only new Windows 8 apps, no support for old x86 applications 2. Windows 8 – X86 platform, for basic use 3. Windows 8 Professional – X86 platform, for enterprise use 4. Windows 8 Enterprise – X86 platform, for large-scale enterprises and corporations Processor architectures ❸ • Computers and mobile devices use two different, mutually incompatible processor architectures – PCs use the familiar Intel's x86 architecture – Especially mobile devices use ARM architecture • Today programming techniques which enable an application to function on both architectures exist Windows 8 applications • New Windows 8 applications are developed using new techniques and they function in fullscreen mode – Function on ARM in addition to x86 • Full-screen view allows users to invest 100% of their concentration on the application • Potential for new kind of visuality – Great opportunity for e.g. Graphic designers Consistent layouts and interfaces • Windows 8 applications have two common requirements – Consistent layouts with other applications conforming to Microsoft guidelines – Compatibility with the user interface • Consistent layout requirements do not concen games etc. • Technical requirements insist that applications must be developed using Windows 8-compliant programming techniques Esimerkki ulkoasuvaatimuksista Windows Store • Windows 8 applications are distributed and sold through Windows Store. • Windows 8 applications must be installed through the Store, and not for example by copying – Developers can run and test their applications with a so called developer license • Why are applications available only through the Windows Store? Application certifications • All applications available at the Store have undergone Microsoft's quality and data security certification processes – Only certified applications can be accepted into the Windows Store • As only certified applications can be installed, users can be sure that their applications are free from e.g. viruses. • Certification requirements are both technical and content-related Commercial possibilities • Applications and games distributed through the Store can be free or paid – Typically the price paid applications is a few euros • A free application or game usually attracts a userbase more easily – Developer of a popular applications can include ads and gain revenue thusly Required tools • At least the following tools are needed to 1. Computer with a Windows 8 operating system – It is also recommened to have a touchscreen device, but it is not required 2. Development tools – Visual Studio (more in next slides) 3. Internet connection Company distribution • Companies generally wish to keep their internal applications from public distribution – Global Windows 8 Store may not be a suitable distribution channel for enterprise applications • The solution is a feature called Enterprise Sideloading – Enterprises are provided an internal distribution channel for Windows 8 applications – Separately sold licenses, minimum 100/order Development tools • Windows 8 apps can be developed using Microsoft own development tool, Visual Studio – Visual Studio is free for personal use, but fee-paying professional versions exist • Microsoft's Expression Blend cna be used for graphic design and animation • Visual Studio can be downloaded at www.visualstudio.com – Express versions are free and they can also be used for commercial works Visual Studio 2013 Programming languages • Four central options – – – – C# Visual Basic C++ HTML5 ja JavaScript • Typical choices are C# or HTML5/JS – All programming languages can be used to access the same functionalities in Windows 8 applications Assignments • Think of three applications that would be fun and useful at home, school, work, or with hobbies. • Could there be a device that uses two different process architectures. What advantages could this kind of a solution have? • Write down three upsides and three downsides to having a device be controlled by a touch screen. • Consider what advantages visuals and animations might have in a utility program for companies. Questions and answers 1 What features make an app suitable for touch-screen devices instead of keyboard and mouse? • An application intended to be used on touch-screen devices need to take account many things that differ from traditional keyboard-and-mousedriven computer programs. • The most essential thing to understand is that a touch interface is more inaccurate than a mouse. Because of this all elements that are meant to be touched must be made relatively large. • Another important element of touch-screen devices are different kinds of gestures. • Whereas a normal PC program can start different processes on the push of different buttons, such as F1 and F2 function keys, these features must be presented completely differently in touch-screen devices without a physical keyboard. Questions and answers 2 What is a processor architecture? What different processor architectures are there? • The processor architecture or microarchitecture defines what technical features a processor has. • These features then effect what kinds of software they can run. • At the moment the most commercially significant architectures are Intel's x86/x64 platform and ARM, which used especially on mobile devices. • In the history of information technology other famous microarchitectures have also existed, such as Motorola 6502, Alpha, Itanium, and Zilog Z80. Questions and answers 3 What tools are used to develop Windows 8 apps? • Windows 8 apps can be developed easiest on Microsoft Visual Studio development tool and the compatible Blend program. • Blend is a graphics tool and works well in developing and improving your application's visuals.