Ilverlight: Bachelor of Technology Computer Science and Engineering

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 29

Silverlight

The next generation RIA…

Bachelor of Technology
Computer Science and Engineering

Submitted By
Ashutosh Sharma (0709110028)

Department of Computer Science and Engineering


JSS Academy of Technical Education, Noida
ACKNOWLEDGEMENT

I express my deep sense of gratitude to our mentor Mrs. MeenaArora for her expert
guidance and continued impetus throughout this colloquium presentation and in the
completion of my presentation on “Silverlight the next generation RIA”.
I am also grateful to my major project mentor Mrs. SeemaShuklawithout whose
guidance this presentation would not have been successful. My special thanks to Mrs.
SeemaShukla and Mrs. Anita Sahoo, Our Project coordinators for their support in helping us
to present this colloquium.
I am highly grateful to my friends without whom our presentation would have never
been possible.

SUBMITTED BY: SUBMITTED TO:


Ashutosh Sharma Mrs. Meena Arora
B.Tech (CSE-4th year)
JSSATE , NOIDA.

1|Page
Index

1. Introduction to Rich Internet Application…………………………………….3


2. Motivation…………………………………………………………………….7
3.What is Silverlight?...........................................................................................8
4.Silverlight Processing Model………………………………………………...11
5.Advantages of Silverlight…………………………………………………...12
6. Whats new in Silverlight 4?............................................................................15
7.Perfomance Comparison……………………………………………………..18
8.Bing Maps : An application of Silverlight…………………………………...19
9.Bing Map SOAP Service…………………………………………………….22
10.Conclusion………………………………………………………………….27
11. References………………………………………………………………….28
1.

2|Page
Introduction to Rich Internet Application

A Rich Internet Application (RIA) is a web application that has many of the characteristics


of desktop applications, typically delivered either by way of a site-specific browser, via a
browser plug-in, independent sandboxes, or virtual machines. Adobe Flash, Java,
and Microsoft Silverlight are currently the three most common platforms, with penetration
rates around99%, 80%, and 54% respectively (as of July 2010). Although new web standards
have emerged, they still use the principles behind RIAs.

Users generally need to install a software framework using the computer's operating


system before launching the application, which typically downloads updates, verifies and
executes the RIA. This is the main differentiator from JavaScript-based alternatives
like Ajax which use built-in browser functionality to implement comparable interfaces. While
some consider such interfaces to be RIAs, some consider them competitors to RIAs and
others, including Gartner, treat them as similar but separate technologies.

RIAs dominate in online gaming as well as applications which require access to video capture
(with the notable exception of Gmail, which uses its own task-specific browser plug-in).
Nevertheless, web standards such as HTML5 have developed and the compliance of web
browsers with those standards has somewhat improved. However, the need for plug-in based
RIAs for accessing video capture and distribution has not diminished, even with the
emergence of HTML5 and JavaScript-based desktop-like widget sets that provide alternative
solutions for mobile web browsing.

3|Page
Characteristics

RIAs present indexing challenges to search engines, but Adobe Flash content is now at least
partially index able.
Security can improve over that of application software (for example through use
of sandboxes and automatic updates), but the extensions themselves remain subject
to vulnerabilities and access is often much greater than that of native web applications. For
security purposes, most RIAs run their client portions within a special isolated area of the
client desktop called a sandbox. The sandbox limits visibility and access to the file-system
and to the operating system on the client to the application server on the other side of the
connection. This approach allows the client system to handle local activities, calculations,
reformatting and so forth, thereby lowering the amount and frequency of client-server traffic,
especially as compared to the client-server implementations built around so-called thin
clients.

RIA Tools Available


Some of the important and famous tools available in the market for Rich Internet Application
are listed below:

Flex is a software development kit (SDK) released by Adobe Systems for the development


and deployment of cross-platform rich Internet applications based on the Adobe
Flash platform. Flex applications can be written using Adobe Flash Builder or by using the
freely available Flex compiler from Adobe.

The initial release in March 2004 by Macromedia included an SDK, an integrated


development environment (IDE), and a Java EE integration application known as Flex Data
Services. Since Adobe purchased Macromedia in 2005, subsequent releases of Flex no longer
require a license for Flex Data Services, which has become a separate product rebranded
as LiveCycle Data Services. An alternative to Adobe LiveCycle Data Services is BlazeDS, an
open-source project that started with code contributed in 2007 by Adobe.

JavaFXis a Java platform for creating and delivering rich Internet applications that can run
across a wide variety of connected devices. The current release (JavaFX 1.3, April 2010)
enables building applications for desktop, browser and mobile phones. TV set-top boxes,
gaming consoles, Blu-ray players and other platforms are planned.

4|Page
To build JavaFX apps developers use a statically typed, declarative language called JavaFX
Script; Java code can be integrated into JavaFX programs. JavaFX is compiled to Java
bytecode, so JavaFX applications run on any desktop and browser that runs the Java Runtime
Environment (JRE) and on top of mobile phones running Java ME.

On desktop, the current release supports Windows XP, Windows Vista and Mac OS


X operating systems. Beginning with JavaFX 1.2 Oracle has released beta versions
for Linux and OpenSolaris. On mobile, JavaFX is capable of running on multiple mobile
operating systems, including Symbian OS, Windows Mobile, and proprietary real-time
operating systems.
Silverlight is a web application framework that integrates multimedia, computer
graphics, animation and interactivity into a single runtime environment. Initially, released as
a video streaming plug-in, later versions brought additional interactivity features and support
for CLI languages and development tools. The current version 4 was released in April
2010. Features of Silverlight are similar to those in Adobe Flash.

It is compatible with multiple web browsers used on Microsoft Windows and Mac OS


X operating systems. Mobile devices, starting withWindows Phone 7 and Symbian (Series
60) phones, are likely to become supported in 2010. A free software implementation
namedMoonlight, developed by Novell in cooperation with Microsoft, is available to bring
most Silverlight functionality to Linux, FreeBSD and other open source platforms.

Silverlight provides a retained mode graphics system similar to Windows Presentation


Foundation, and integrates multimedia, graphics, animations and interactivity into a single
runtime environment. In Silverlight applications, user interfaces are declared in Extensible
Application Mark-up Language (XAML) and programmed using a subset of the .NET
Framework. XAML can be used for marking up the vector graphics and animations.
Silverlight can also be used to create Windows Sidebar gadgets for Windows Vista.

Silverlight supports Windows Media Video (WMV), Windows Media Audio (WMA)


and MPEG Layer III (MP3) media content across all supported browsers without
requiring Windows Media Player, the Windows Media Player ActiveX control or Windows
Media browser plug-ins. Because Windows Media Video 9 is an implementation of
the Society of Motion Picture and Television Engineers (SMPTE) VC-1 standard, Silverlight
also supports VC-1 video, though still only in an Advanced Systems Format (ASF) container
format. Furthermore, theSoftware license agreement says VC-1 is only licensed for the
"personal and non-commercial use of a consumer". Silverlight, since version 3, supports the
playback of H.264 video.Silverlight makes it possible to dynamically load Extensible Mark-
5|Page
up Language (XML) content that can be manipulated through a Document Object
Model (DOM) interface, a technique that is consistent with conventional Ajax techniques.
Silverlight exposes a Downloader object which can be used to download content, like scripts,
media assets or other data, as may be required by the application. With version 2, the
programming logic can be written in any .NET language, including some derivatives of
common dynamic programming languages likeIronRuby and IronPython.

6|Page
Motivation

The motivation to choose a particular RIA tool comes from the following foctors shown
below:

Figure:1.1 Factors to Choose a RIA Tool

All these factors determine the goodness of a RIA tool. All these factors must be kept in mind
before choosing a correct RIA development tool. Choosing wrong RIA development tool
may lead to a longer development time, more efforts, along with inefficiency.

7|Page
What is Silverlight?
Microsoft Silverlight is a cross-browser, cross-platform implementation of .NET for building
and delivering the next generation of media experiences & rich interactive applications for
the Web.

Microsoft Silverlight powers engaging, interactive user experiences wherever the web works.

Silverlight is a powerful development platform for creating rich media applications and
business applications for the Web, desktop, and mobile devices.

Silverlight is a free plug-in powered by the .NET framework that is compatible across
multiple browsers, devices and operating systems to bring a new level of interactivity
wherever the Web works. With support for advanced data integration, multithreading, HD
video using IIS Smooth Streaming, and built in content protection, Silverlight enables online
and offline applications for a broad range of business and consumer scenarios.

Compelling Experiences

Engage users longer and make the most of your content with interactive features and high-
definition streaming video delivered through live and on-demand IIS Smooth Streaming.

Build user “buzz” and differentiate yourself with innovative capabilities, such as Deep Zoom
and Pivot, which push the boundaries of interactivity and data visualization, and provide new
ways to present your brand.

Silverlight enables Web-based applications to deliver the business functionality users demand
with a modern, efficient UI while securely interacting with desktop files, devices, data and
applications such as Microsoft Office.

Powerful Technology

Build on Microsoft’s industrial-strength application development tools and a platform that


promotes stability, scalability, reliability, and performance.

Deliver engaging experiences through all major browsers on Mac, Windows, and Linux client
operating systems, mobile devices such as Windows Phone 7, Nokia Series 60 and set top
boxes.

Extend browser experiences to the desktop and devices with innovative tools, servers and
frameworks.

8|Page
Enhanced Results

Grow your business, your productivity, and your profitability with technology and tools that
deliver exceptional value and accommodate the business model that fits your company best.

Call on millions of existing developers and thousands of businesses already familiar with
.NET development to help create and deploy Silverlight applications.

Create rich Web-based applications that quickly integrate with your existing back-end
systems. Easily enhance existing Web and SharePoint sites by incrementally adding
Silverlight components.

XAML

Extensible Application Markup Language, or XAML (pronounced "zammel"), is an XML-


based markup language developed by Microsoft. XAML is the language behind the visual
presentation of an application that you develop in Microsoft Expression Blend, just as HTML
is the language behind the visual presentation of a Web page. Creating an application in
Expression Blend means writing XAML code, either by hand or visually by working in
the Design view of Expression Blend.

XAML files can be produced in either Visual Studio, Microsoft's development tool for the
.NET Framework, or in Microsoft's Expression toolset for designers, before exporting them
to the Windows Presentation Foundation. This allows designers, who focus on the front end
of an application, and developers, who focus on the code that defines the front end, to work
from the same code base, which improves productivity.

For example:

<StackPanel>
<Button Content="Click Me"/>
</StackPanel>

9|Page
Base Types and XAML

Underlying WPF XAML and its XAML namespace is a collection of types that correspond to
CLR objects in addition to markup elements for XAML. However, not all classes can be
mapped to elements. Abstract classes, such as ButtonBase, and certain nonabstract base
classes are used for inheritance in the CLR objects model. Base classes, including abstract
ones, are still important to XAML development because each of the concrete XAML
elements inherits members from some base class in its hierarchy. Often these members
include properties that can be set as attributes on the element, or events that can be
handled. FrameworkElement is the concrete base UI class of WPF at the WPF framework
level. When designing UI, you will use various shape, panel, decorator, or control classes,
which all derive fromFrameworkElement. A related base class, FrameworkContentElement,
supports document-oriented elements that work well for a flow layout presentation, using
APIs that deliberately mirror the APIs in FrameworkElement. The combination of attributes
at the element level and a CLR object model provides you with a set of common properties
that are settable on most concrete XAML elements, regardless of the specific XAML element
and its underlying type.

10 | P a g e
Silverlight Processing Model

Silverlight works much like Javascript. It gets loded with page (html or aspx) A parse tree
that mirrors the XAML is built and rendered to the client computer. Events, like the button
click in the previous slides, are processed by bindings between a silverlight control (the
button) and an event handler, button1_click. his works just like Javascript events, with no
postback to the server.

The overall processing can be understood by the following diagram given below:

Figure: Silverlight Processing Model

11 | P a g e
Advantages of Silverlight

IIS Smooth Streaming

IIS Smooth Streaming, an IIS7 Media Services 3.0 extension, enables adaptive streaming of
live and on-demand media via standard HTTP protocols, and provides a high-quality viewing
experience that scales on massive content-distribution networks, bringing a fantastic visual
experience to any viewer regardless of their connection and computer capabilities

Out of Browser

Silverlight offers a new set of features for building light-weight, sandboxed companion
experiences for the Web that run on the desktop. Silverlight out of browser allows websites to
build even closer, persistent relationships with customers. It enables the application to be
placed in a restricted store on the user’s machine; and then provide a link directly to it from
the user’s desktop or start menu. This is all enabled within Silverlight without any additional
download of runtime or the need to write applications in a different way. An application can
now be easily found on the user’s desktop or start menu, and launched with a single click. In
addition, it can test if the network is connected, it can update itself, and can also have access
to Isolated Storage. Taken together, these features represent a radical upgrade to the web
experience.

Sketch Flow

SketchFlow, part of Expression Studio Ultimate, revolutionizes the speed and efficiency with
which you can demonstrate a vision for an application. SketchFlow provides an informal and
quick way to explore, iterate and prototype user interface scenarios allowing you to evolve
your concepts from a series of rough ideas into a living breathing prototype that can be made
as real as a particular client or project demands.

New Controls

Silverlight is packed with over 60 high-quality, fully skinnable and customizable out-of-the-
box controls such as charting and media, new layout containers such as dock and viewbox,
and controls such as autocomplete, treeview and datagrid. The controls come with nine
professional designed themes and the source code can be modified/recompiled or utilized as-
is. Other additions include multiple selection in listbox controls, file save dialog making it
easier to write files, and support for multiple page applications with navigation.

12 | P a g e
PivotViewer

PivotViewer makes it easier to interact with massive amounts of data on the web in ways that
are powerful, informative, and fun. By visualizing thousands of related items at once, users
can see trends and patterns that would be hidden when looking at one item at a time.
Because PivotViewer leverages Deep Zoom, it displays full, high-resolution content without
long load times, while the animations and natural transitions provide context and prevent
users from feeling overwhelmed by large quantities of information. This simple, inviting
interaction model encourages exploration and longer audience engagement times, and applies
broadly to a variety of content types.

The Silverlight PivotViewer control is available now and can be accessed by developers and
designers to begin creating collections and deploying solutions.

Deep Zoom

Silverlight Deep Zoom is the fastest, smoothest, zooming technology on the Web, bringing
the highest resolution images and frame rates with the lowest load times to users. Deep Zoom
also enables the display of thousands of items simultaneously, giving designers and
developers new opportunities to create innovative navigation paradigms for both applications
and the Web.

By optimizing the way images are stored and intelligently downloading only the pieces of
information needed to fill the screen, Deep Zoom removes technical barriers and enables the
delivery of engaging customer and content-centric experiences.

Skinning and Styling

Silverlight makes it easy to create graphics and then use them to customize controls, such as
the look of a scrollbar. Silverlight provides XAML based templates for each control that
allow designers to reach inside the control and change the layout or look of each part of the
control without rewriting any code. For example, a scrollbar is made up of a layout container
and a set of parts such as the up and down button and draggable thumb. Parts can be
rearranged and their appearance changed to fully customize the control. In addition, controls
can be themed by applying a style. For instance you can offer a range of different colors or
font sizes.

Perspective 3D Graphics

Silverlight 3 allows developers and designers to apply content to a 3D plane. Users can rotate
or scale live content in space without writing any additional code. Other effects include
creating a queue in 3D and transitions.

13 | P a g e
Media Format Extensibility

With the new Raw AV pipeline, Silverlight can easily support a wide variety of third-party
codecs. Audio and video can be decoded outside the runtime and rendered in Silverlight,
extending format support beyond the native codecs.

14 | P a g e
Whats new in Silverlight 4?

Silverlight 4 delivers a full suite of powerful capabilities to business application developers,


bringing the best-of-breed .NET platform to browser-based experiences. Silverlight provides
an ideal platform for developing and deploying modern business applications for both
customer facing and staff-facing applications.

Business Application Development

Silverlight 4 consolidates its position as the natural choice for building business applications
on the Web:

New Features for Application Developers

 Comprehensive printing support enabling hardcopy reports and documents as well as


a virtual print view, independent of screen content.
 A full set of forms controls with over 60 customizable, styleable components. New
controls include RichTextbox with hyperlinks, images, in-line controls, and editing.
Enhanced controls include DataGrid with sortable/resizeable columns and copy/paste
rows.
 WCF RIA Services introduces enterprise class networking and data access for
building n-tier applications including transactions, paging of data, WCF and HTTP
enhancements.
 Localization enhancements with Bi-Directional text, Right-to-Left support and
complex scripts such as Arabic, Hebrew and 31 new languages including Vietnamese
and Indic support.
 The .NET Common Runtime (CLR) now enables the same compiled code to be run
on the desktop and Silverlight without change.
 Enhanced databinding support increases flexibility and productivity through data
grouping/editing and string formatting within bindings.
 Managed Extensibility Framework supports building large composite applications.
 Exclusive tooling support for Silverlight, new in Visual Studio 2010. Including a full
editable design surface, drag & drop data-binding, automatically bound controls,
datasource selection, integration with Expression Blend styling resources, Silverlight
project support and full IntelliSense.

Developer tools

 Fully editable design surface for drawing out controls and layouts.
 Rich property grid and new editors for values
 Drag and drop support for databinding and automatically creating bound controls such
as listbox, datagrid. New datasources window and picker.
 Easy to pick styles and resources to make a good looking application based on
designer resources built in Expression Blend.
 Built in project support for Silverlight applications

15 | P a g e
 Editor with full intellisense for XAML and C# and VB languages.

Empowering richer, more interactive experiences

Silverlight is already in use as a comprehensive platform for building rich experiences both
for application and pure media scenarios including HD quality, interactive video through
Smooth Streaming. Silverlight 4 introduces additional capabilities to enable creation of ever
more rich, appealing high-performance interactive experiences and innovative media
experiences:

 Fluid interface enhancements advance application usability through animation effects.


 Webcam and microphone to allow capture of audio and video on the client.
 Bring data in to your application with features such as copy and paste or drag and
drop.
 Long lists can now be scrolled effortlessly with the mouse wheel.
 Support conventional desktop interaction models through new features such as right-
click context menu.
 Support for Google’s Chrome browser.
 Performance optimizations mean Silverlight 4 applications start quicker and run 200%
faster than the equivalent Silverlight 3 application.
 Multi-touch support enables a range of gestures and touch interactions to be integrated
into user experiences.
 Multicast networking, enabling Enterprises to lower the cost of streaming broadcast
events such as company meetings and training, interoperating seamlessly with
existing Windows Media Server streaming infrastructure.
 Content protection for H.264 media through Silverlight DRM powered by PlayReady.
 Output protection for audio/video streams allowing content owners or distributors to
ensure protected content is only viewed through a secure video connection.

16 | P a g e
Move beyond the browser

Silverlight 3 pioneered the delivery of a new class of Rich Internet Applications to work on
the desktop without additional code or runtimes. Silverlight 4 extends this capability:

For Sandboxed applications

 Place HTML within your application enabling much tighter integration with content
from web servers such as email, help and reports.
 Provide support for ‘toast’ notification windows, allowing applications to
communicate status or change information while the user is working on another
application through a popup window on the taskbar.
 Offline DRM, extending the existing Silverlight DRM powered by PlayReady
technology to work offline. Protected content can be delivered with a persistent
license so that users can go offline immediately and start enjoying their content.
 Control over aspects of UI include window settings such as start position, size and
chrome.

For Trusted applications

 Read and write files to the user’s MyDocuments, MyMusic, MyPictures and
MyVideos folder (or equivalent for non-windows platforms) for example storage of
media files and taking local copies of reports.
 Run other desktop programs such as Office, for example requesting Outlook to send
an email, send a report to Word or data to Excel.
 COM automation enables access to devices and other system capabilities by calling
into application components; for instance to access a USB security card reader.
 A new user interface for requesting application privileges access outside the standard
Silverlight sandbox.
 Group policy objects allow organizations to tailor which applications may have
elevated trust.
 Full keyboard support in fullscreen mode richer kiosk and media applications.
 Enhancements to networking allow cross-domain access without a security policy file.
 Custom Window ‘chrome’ to provide a highly branded experience

17 | P a g e
Performance Comparison

18 | P a g e
Bing Maps: An Application of Silverlight

Silverlight 3 User Control built with managed code to support Bing Maps powered websites
with Silverlight. Easily create mapping application with Bing Maps Silverlight Control.
Leverage the power of Silverlight for rich interactive experience and performance.

It is the next generation mapping control. Provides rich interactive “Deep Zoom”
experience.Has a performance improvements over other web technologies. Visual Studio /
Expression Blend development environment for development.

Bing Maps Control overview:

 Version 1.0
 Key Features
o Data Binding ,e.g. Linq, XML, etc..
o Pushpin
o Frames
o Easy App Integration, e.g. Worldwide Telescope, Birds eye, 3D maps, twitter,
etc..
o Silverlight 3 Out of Browser
o Interoperability with Bing Maps Web Services types
o Embedded Maps with 1 line URL embedding
o JavaScript interface in addition to managed code interface

19 | P a g e
Getting started

 Download Bing Maps Silverlight Control from


http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=beb29d27-
6f0c-494f-b028-1e0e3187e830

 Sign up for Free account at Bing Maps Account Center and get a Bing Maps Key at
https://www.bingmapsportal.com

 Now we can use these keys to render maps into Silverlight content

20 | P a g e
 Set of web services to add capabilities like:
 location finding
 map imagery
 routing capabilities

21 | P a g e
Bing Maps SOAP Services

Bing Services

The Bing Maps SOAP Services is a set of Web services that allow you to add mapping and
search functionality to your application, including location finding, map imagery, and routing
capabilities. The web services are built using Windows Communication Foundation (WCF).
There are four Bing Maps SOAP Services: Geocode Service, Imagery Service, Route
Service, and Search Service. This topic provides an overview of each of these services and
their methods.

Geocode Service

You can use the Geocode Service to match addresses, places, and geographic entities to
latitude and longitude coordinates on the map, as well as return location information for a
specified latitude and longitude coordinate.

The Geocode Service methods are:

 Geocode Finds a geographic location based on a request that may include the
address, place, or entity type names to find.

 ReverseGeocode Finds geographic entities and addresses for a specified map


location.

22 | P a g e
Imagery Service

You can use the Imagery Service to retrieve information about imagery data as well as
getting URIs for maps. For example, you can get a link to a map with a pushpin at a specific
location or provide a road map or bird's eye imagery to your users.

Note Bing Maps draws maps by using an orthographic projection centered on the center point
of any given map and based on WGS84 datum.

The Imagery Service methods are:

 GetImageryMetadata Returns information about the requested imagery, including


imagery date stamps, vendor attribution, and imagery tile URIs.

 GetMapUri Returns a URI to a static map that may contain traffic data, routes to a
destination from major roads, and pushpins.

23 | P a g e
Route Service

You can use the Route Service to generate routes and driving directions based on locations or
waypoints. For example, you can get directions that include traffic warnings and route hints
between multiple locations. You can also get directions from all major roads to a destination
(1-click directions, also referred to as a "party map") and then use the Imagery Service to map
those routes.

The Route Service methods are:

 CalculateRoute Calculates a route between specified stops and returns route


directions as well as other route data.

 CalculateRoutesFromMajorRoadsCalculates starting points or route directions to a


specified location from nearby major roads.

24 | P a g e
Search Service

You can use the Search Service to parse a search query that contains a location or keyword
(or both) and return search result.

The Search Service methods are:

 Search Returns a parsed query or search results for a given search input string

25 | P a g e
Applications that can be associated with Bing Maps:

Map Apps are a set of application that can communicate with the Bing maps Silverlight
control through XML web services. Some of them are listed below

26 | P a g e
Conclusion

Selecting the right technology for RIA is often critical. There is nothing like a winner
here, every technology winner in its domain of application.For simple web applications
it is preferable to use HTML + Javascript. For rich and trendy application Flash, Javafx
and Silverlight do compete over others.
Silverlight takes lead over others in
o SEO
o Multimedia Features
o Performance and ease of development

27 | P a g e
References

 Scientific Performance Comparison


o http:// timo-ernst.net, Specialist for Rich Internet Applications and UI-
Design
 HTML5, Silverlight, Flash, Javafx, RIA
o http:// en.wikipedia.org
 Developing a Silverlight Application Using Bing Maps SOAP Services
o http://msdn.microsoft.com/en-us/library/cc879136.aspx
 Videos
o http://www.silverlight.net/showcase/

28 | P a g e

You might also like