Software Development. Chapter 2 – Programming on Windows 8.
Transcript of 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 versions1. 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
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 to1. 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
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 1What 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-mouse-driven 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 2What 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.