Silverlight vs asp.net - asp.net

Can any one tell me if i want to learn silverlight is it neceesary to have some knowledge of asp.net?
Thanks in advance

First of all its not silverlight vs asp.net. Those two are entirely different.
Silverlight is a cross-browser,
cross-platform implementation of the
.NET Framework for building Rich
Interactive Applications(RIA) for the
web.They execute from the web browser itself.
You can use any server side technology along with silverlight.
See
Server-side scripting

Silverlight is a client-side technology that talks to services - web services, WS-*, WCF, RSS, Restful interfaces, etc. It has no dependencies on any specific server technology. Silverlight also has a JavaScript bridge, so it can use JavaScript to communicate with other components of a web page.
On the other hand, Silverlight is a client-side implementation of .NET's run-time and a subset of the .NET framework, so as you learn Silverlight, there is some positive knowledge transfer between .NET server-side and Silverlight development.

Related

Adding Windows Form Functionality on ASP.NET (VB) Web Application

I have been building a Web Application (ASP.NET, .NET Framework 4, VB, visual studio 2010). To be very brief the application interacts with a database and performs several actions (Insert Delete Select etc..).
I am using several Gridviews, ListBoxes etc and I am not happy with the presentation outcome and the functionality provided by asp.net. In simple words my application looks bad, outdated and unprofessional.
I figured that using Windows Forms that will be incorporated to the ASP app would be a great improvement and solve all of my problems.
I have created a Windows Form Control Library to use the dll created in my app as a user control. I found out that this is not supported in .NET Framework 4 (is this true? or am i doing something wrong?).
Is there any way to make my application have the 'look and feel' of a windows application?
Please note that it is has to be a web app and the clients should not have to download any other application to interact with the server.
Have you checked out the third party controls from other vendors?
I currently use them for rapid development.
http://www.telerik.com/
http://www.infragistics.com/
http://www.devexpress.com/
Anyhow all controls in .net you can change there look and feel using plain CSS.
Try using Silverlight 4, it has all that you need. What u are trying to do is traditional ASP.NET and that's as good as it can get coz its all server side code, but with Silverlight things are totally different, its all client side with specific server interactions. Have a look at the tutorials about how to use Silverlight and WCF RIA services to do what you are trying to do.
Try this link: WCF RIA services and Silverlight
Edit: Silverlight is designed to create stunning web GUIs. Just in case you were wondering what the heck it is.. :)

ASP.NET and Silverlight applications

I am new to Silverlight, so this question might seem pretty stupid. My question is, can an ASP.NET web application that's hosting a Silverlight application receive events generated by the Silverlight application? If not, how does an ASP.NET application communicate with a silverlight application?
You have essentially two wide-open paths for communication. First, Silverlight is dependent on services for data, and makes effective use of ASP.NET web services. Second, Silverlight is fully enabled for browser integration, including javascript between Silverlight and the HTML markup. So anything that Silverlight tells Javascript, or vice versa, is available to the web app in ASP.NET.
Edited to add:Also coming, and in beta now, is WCF RIA Services, which is full integration between ASP.NET and Silverlight. Service calls from Silverlight are seemlessly integrated with server code in ASP.NET.
Silverlight and ASP.NET are in different processes, and are most often on different computers. As such there is no direct linkage between the events which occur in both types of applications. Most people use Web Services either SOAP or REST to communicate.
You might use an event in the Silverlight to trigger a call to an ASP.NET web service or WCF service.

WPF For Beginners Clarification

I am a Web developer in ASP.Net. Just I heard about WPF.Is WPF is for Desktop stuff or can
i use all WPF controls in my web application?. When i visit the microsoft website it talsk much about designer tools (expression,blend),where can i get web developer perspective vidoes of WPF (Just drag the control on my form and set the properties for coding)?
Bottom line is this - WPF is a desktop technology. It's very closely related sibling - Silverlight requires a runtime much like Flash to run in the browser.
Silverlight components/controls/applications can be hosted inside of an asp.net application but the idea that your skills will just 'carry over' is grossly misguided. Silverlight uses the same core languages (C#, VB.NET etc and a subset of the .NET Framework) so to that extent that knowledge is valuable but both WPF and Silverlight use a declarative presentation language called XAML or (XML Application Markup Language). XAML is what HTML can only dream to be - it is extremely powerful and elegant and has rich support for things like binding.
From a tooling perspective - Expression Blend is really a XAML designer that can target Silverlight or WPF applications.
Videos can be found at
http://windowsclient.net/learn/videos_wpf.aspx
http://silverlight.net/learn/
http://microsoftpdc.com/Videos
UPDATE: Ray makes some good points in the comments section about WPF controls and the XBAP type (Xaml Browser Applications)
If you are developing intranet applications, you might also consider WPF XBAPs(XAML Broswer applications). Clickonce enables very interesting deployment scenarios of WPF XBAPs in intranet environment.
WPF XBAPs can provide more features than silverlight because XBAPs can make use of full .NET framework. Having said that silverlight is really amazing for developing Line Of Business applications.
Hope this helps.
You CAN use WPF for your web application. I have done so on several occasions.
To deploy WPF to a web browser you wrap your content in Page controls and create what is called an XAML Browser Application ("XBAP"). XBAPs can do almost everything that a full WPF application can do except access the local computer and call unmanaged code.
At present XBAPs are significantly more powerful than Silverlight, though that gap is closing quickly. I expect in another year or two Silverlight will be as good as XBAP for web deployment.
WPF is solely for desktop applications. Silverlight is very similar to WPF however and can be used as a Flash replacement, so your skills carry over.
If you are looking for WPF beginner videos to start with, then try these:
http://windowsclient.net/learn/videos_wpf.aspx
Hope, it will be helpful.

Good replacement of GWT for asp.net

I know Google Web Toolkit (GWT) is a development toolkit for building and optimizing complex browser-based applications. GWT is used by many products at Google, including Google Wave and Google AdWords. It's open source, completely free, and used by thousands of developers around the world.
It can be integrated in java based web applications....
Is there any suitable replacement of GWT for asp.net web application?
If so,what is it?
GWT is platform agnostic. It can be easily integrated with any web application, not just Java. You just tell it to inject widgets into elements on the host page - the host page could be static HTML.
The built in RPC mechanism makes it easy to do RPC with a Java on the server side, but you can certainly use JSON or XML to exchange data with your server. It's a little more work, but not impossible. Look up 'overlay types' - these make working with JSON data extremely easy.
Consider SmartGWT. It has a built-in REST connector that is easy to connect to REST services on the .NET platform, which Visual Studio can help you generate.
On the .NET platform, the free open source (LGPL) edition is all you need. If you need commercial license terms, those are available too.
Take a look at Script#, but I'm not sure if it's still in development. "Essentially the Script# compiler is a C# compiler that generates Javascript instead of IL."
http://www.nikhilk.net/Entry.aspx?id=121
If you're just looking to hook up an ASP.net web application with GWT, try
GWT and .NET

What are the pros and cons of these client options in C#? winforms, WPF, Jquery, ASP.NET AJAX, and Silverlight

just wanted to clarify the options for client presentation :
1) winforms - for windows client - older technology
2) wpf - for windows client - newer technology, uses xaml
3) jquery - for web client - uses javascript
4) asp.net ajax - for web client - older technology
5) silverlight - for web client - newer technology, uses xaml
for the web client, what are the pros and cons of option 3, 4, 5. is it better to learn jquery or asp.net ajax ? is silverlight mature enough to be used ?
In terms of desktop applications, you cannot go past WPF, the problem is there doesn't seem to be a huge knowledge or push for commercial projects using WPF.
I have been using it to write my companies in house applications and it is miles ahead of winforms, it brings all the UI templating and reuse that asp.net can have to desktop apps, plus a whole lot more.
Spend some time to play with it, especially look at the binding side the using Linq and a project like CLinq or BindableLinq to propagate changes to the base lists to the UI without handling any events.
jQuery and ASP.NET Ajax complement each other so I guess it's not an either or for them, at least not according to Microsoft.
The problem with Silverlight is not maturity but rather the low rate of installations. In an intranet scenario this might not be a problem. Also Silverlight suffers from the same problems as Flash. It's harder to get linkability, searchability and such.
I'd like to add MVC, it's part of asp.net depending on who you ask but it's so different that it's worth being on it's own.
I recently rebuild an old asp.net webapplication in asp.net mvc for a customer and he was very impressed with how much more intuitive and fast the application had become. I did not do any functional changes. Just the presentation part was changed. I'd say it's worth mentioning here.
These 2 blog entries from ASP.Net answers my question
http://weblogs.asp.net/paullitwin/archive/2009/03/30/the-four-pillars-of-asp-net.aspx
http://weblogs.asp.net/shijuvarghese/archive/2008/07/09/asp-net-mvc-vs-asp-net-web-form.aspx

Resources