Rank: Member Groups: Member
Joined: 4/21/2008 Posts: 5
|
38. What is the long-term goal or vision for Silverlight? Microsoft Silverlight is a cross-browser, cross-platform, and cross-device plug-in for delivering the next generation of .NET based media experiences and rich interactive applications for the Web. Silverlight offers a flexible programming model that supports AJAX, VB, C#, IronPython, and IronRuby, and integrates with existing Web applications. By using Expression Studio and Visual Studio, designers and developers can collaborate more effectively using the skills they have today to light up the Web of tomorrow. By leveraging Silverlight's support for .NET, High Definition video, cost-effective advanced streaming, unparalleled high-resolution interactivity with Deep Zoom technology, and controls, businesses can reach out to new markets across the Web, desktop, and devices. 39. Do I need to have the .NET Framework installed in order to use Silverlight? The answer to this is no - a cross platform version of the .NET Framework is included in the 6 MB Silverlight 4 download, which means you do not need to have anything extra installed on the client in order to access Silverlight applications in the browser.
The Silverlight version of the .NET framework includes the same CLR engine (same GC, type-system, JIT engine) that ships with the full .NET Framework, and a subset of the .NET Framework namespace libraries. You can see the full list of all classes/namespaces that are included by opening up the Object Browser when you create a new Silverlight application using Visual Studio.
40. What are the other RIA technologies besides Silverlight? Adobe Flex, Java FX, Adobe Flash are some of the other RIA technologies besides Silverlight.
41. What is meant by RIA? RIA stands for Rich Internet Applications, which are Web applications with rich user interfaces including media elements such as audio, video etc. You can think of them as being similar to powerful and rich desktop applications, except that RIA applications are Web based.
42. What is .NET RIA Services? Microsoft .NET RIA Services helps to simplify the n-tier application pattern by combining the ASP.NET and Silverlight platforms. RIA Services provides a pattern using which you can write application logic that can run on the mid-tier and controls access to data for queries, changes, and custom operations. It also provides support for data validation, authentication, and roles by integrating with Silverlight components on the client and ASP.NET on the middle tier.
43. What are the design files and the code-behind files in Silverlight? The user interface elements of Silverlight applications are defined in XAML files. The logic and functionality of Silverlight applications is implemented using managed NET code-behind files that share the same class with the XAML file.
44. Who is using Silverlight? Yahoo! Japan, NBC, Continental Airlines, NASA, Indian Premier League, and National Instruments are some of the organizations currently using Silverlight to enhance their businesses.
45. What features are missing from Silverlight presentation markup that will be supported in WPF? Some high-end Windows specific features of WPF, such as real 3D, hardware-based video acceleration, and full document support, will not be supported in Silverlight. This is by design in order to serve Silverlight’s cross-browser, cross-platform reach scenario that demands a light weight plug-in. That being said, Silverlight will offer a uniform runtime that can render identical experiences across browsers on both Mac OS and Windows.
46. Will I need more memory, a faster processor, or a better Graphics Processing Unit (GPU)? Microsoft designed Silverlight with the ability to deliver high-fidelity experiences on the broadest set of system configurations. Some features, such as HD video, may benefit from the power contained in newer personal computers.
47. How does Silverlight make the Microsoft development system better? Silverlight is a cross-browser, cross-platform plug-in for delivering the next generation of media experiences and rich interactive applications (RIAs) for the Web. Examples include:
For ASP.NET-based Web applications, Silverlight provides a rich UI front-end that, with a consistent programming model, adds support for richer interactivity, media, and audio. For Microsoft SharePoint–based content, Silverlight offers the ability to create rich Web Parts. For Windows Live services, Silverlight offers the ability to consume services and APIs more effectively. 48. What is the relationship and difference between Silverlight and ASP.NET? Technically, Silverlight and ASP.NET are completely different. The major differences are listed below:
Silverlight runs completely on the client, while ASP.NET mainly runs on the server, but also has a few parts running on the client. When an event fires, Silverlight handles the event on the client, but in ASP.NET, the browser will make an HTTP POST to the server, and after the server handles the request, it sends a new HTML page to the client. A Silverlight application sends rendering commands to the Silverlight rendering engine by either writing XAML or code, and the Silverlight rendering engine will handle the rendering task. On the other hand, ASP.NET doesn’t have a rendering engine. It generates an HTML file on the server, sends it to the client, and allows the browser to parse the HTML file and render the content. Silverlight can’t work with a database directly; instead, it consumes data from Web Services, while ASP.NET has strong support for working with databases directly. The most important thing to note is what runs on the client and what runs on the server, since this will affect almost every part of your system. Silverlight runs on the client, and ASP.NET runs on the server. They can work together and are compatible with each other, but this requires some time and effort.
49. When to use Silverlight, ASP.NET, or both? This depends on different scenarios. Below are some common approaches:
Pure Silverlight One approach is to completely remove ASP.NET. This solution works best if you’re working on a new development. You only need to work on Silverlight, without any worry about integration problems. If you need to communicate with the server, you write Web Services, such as WCF. It will also help you when you need to port part or whole of your system to another hosting or even another platform, since the client and the server are completely separate.
Major ASP.NET, plus a Silverlight island This approach is generally used when the Silverlight content and the ASP.NET content have little relationship. For example, an ASP.NET blog engine with a Silverlight media player in a blog post. This approach is very easy to implement, and allows you to reach the broadest audience. For example, if a user hasn’t installed Silverlight, he can still read the blog posts, but he can’t watch the videos.
Use ASP.NET AJAX instead of Silverlight ASP.NET AJAX is designed to work with ASP.NET. It is mainly an extension to ASP.NET. While AJAX can’t provide you the advanced user experience that Silverlight can, for many scenarios, it should be sufficient. This approach also helps if you have strong ASP.NET experience, but are still quite new to Silverlight.
Within this approach, there are two branches. One is to mix the client and server code by using the UpdatePanel, AJAX Control Toolkit, and etc. The other method is to take the pure AJAX approach, where you write HTML and JavaScript instead of using server controls, and call Web Services to communicate with the server. The former branch is easier to implement, especially if you have strong ASP.NET experience but lack JavaScript knowledge. The latter branch proves to be better in an architecture when you want to port an AJAX application to other technologies such as Silverlight, especially since you only need to rewrite the client side code, and can keep the Web Services as they are. The programming model for the latter branch is similar to Silverlight. Therefore, this approach is rarely taken if you’re experienced in Silverlight.
Mix Silverlight with ASP.NET More often, you may want to port an existing ASP.NET application to Silverlight, but you don’t want to completely rewrite the entire application. This is the most difficult approach since you’re mixing client side and server side technologies.
Before going with this approach, please consider if the above approaches can solve your problem. Ask yourself the following questions:
Do you really need a rich interactive user experience? This is normally a requirement for consumer oriented applications, but for most business applications, you only need a “good” user experience, which AJAX is sufficient to provide.
Can you add Silverlight islands to your existing ASP.NET application instead of mixing the contents? This should work for most scenarios. For example, Windows Live Mail is built in ASP.NET, with a few Silverlight islands, such as a slideshow program that allows you to view photo attachments with enhanced experience (actually, most Microsoft created web applications take this approach).
Will this be a good chance to revise your architecture? Most traditional ASP.NET applications use the B/S or three tire architecture in which the application works with a database either directly or through a business logic layer. When porting applications to other platforms, these architectures will introduce many problems. When investigating Silverlight, it is also a good chance to adopt SOA. Add a service facade layer on top of the business logic layer, and you can work with the services from almost any client, such as an ASP.NET application and a Silverlight application. If you are already on SOA, it should be trivial to port to Silverlight, since you only need to rewrite a client application. With SOA, the ASP.NET AJAX approach and the Silverlight island approach will also be much easier to implement.
If none of the above approaches is suitable, you may have to mix Silverlight content with ASP.NET. When using this approach, keep in mind that Silverlight can’t call ASP.NET server-side event handlers, and each post back (either partial or complete) will cause the Silverlight application to reload.
50. What are the new features of Silverlight 4? Support for Google's Chrome browser. Web cam and microphone support. Printing support. Full keyboard access while running in full-screen mode. Programmatic access to a user's local document folder. Improved mouse support, including right button support and mouse wheel support. Elevated trust and support for local Component Object Model (COM) objects. New notification support to display messages to end users. New and enhanced controls such as a RichTextBox and an enhanced DataGrid control. New support for implicit theming of controls. New hosted browser support for rendering HTML inside Silverlight. WCF data layer enhancements. Localization enhancements with bi-directional text. Support for Managed Extensibility Framework. Enhanced data binding support. Enhanced animation effects. Clipboard and drag and drop support. Deep Zoom performance enhancements. WCF Rich Internet Application (RIA) Services. Content protection for H.264, and support for playing offline DRM protected media. Conclusion
|