Forum Moderators: open

Message Too Old, No Replies

What is .NET?

The classic question

         

Xoc

5:26 pm on May 29, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



What is .NET?

There is no simple answer to that question. It is basically a Microsoft strategy more than anything. Here are some of the pieces:

.NET Framework: A very large class hierarchy that programs are built on top of. It provides a layer of abstraction over the operating system, making .NET programs platform independent. Eventually there will be the .NET framework for other processors, starting with the .NET Compact Framework for PDAs.

Common Language Runtime (CLR): Programs are compiled to an intermediate language, not directly to native code. All .NET languages (and there are more than 20, including COBOL) compile to the same intermediate language. Then, the first time the program is run, the Just-in-Time (JIT) compiler compiles it to native code. That means that (in theory) a .NET program will run on any platform that the .NET framework resides on.

.NET languages--Visual Basic .NET (VB.NET) and C#: Visual Basic .NET is a new language based off some of the ideas in Visual Basic 6.0, allowing relatively easy porting of Visual Basic code to .NET. C# (pronounced C-Sharp), is another new language based off some of the ideas in C, C++, and Java, that strips out all of ugly and dangerous stuff and leaves a clean elegant modern language. However, since both compile to the same CLR, there is almost nothing that you can do in one language that you can't do in the other.

Web Services: I think of them as Dynamic Link Libraries that you can call over the Internet. There are technologies for finding them, discovering their calling mechanism, calling them, and using the results. The underlying technology is called SOAP (Simple Object Access Protocol). This marshalls (binds up) the info to be passed as XML (eXtensible Markup Language) and sends it over the Internet using the HTTP (HyperText Transfer Protocol). The code runs on the server, then info is passed back the same way.

Visual Studio .NET: The easiest way to build .NET applications. A very good (and stable) development platform for writing, debugging, and maintaining .NET applications.

ADO.NET: A new communication mechanism for talking to databases, primarily designed for stateless, disconnected information. Once the info has been downloaded, the client disconnects from the server while processing it. Then reconnects to deliver any changes to the data back to the server.

ASP.NET: A new web page hosting platform that runs on top of IIS (Internet Information Server). Pages are designed in a HTML-like front end, with code behind it provided by one of the .NET languages such as C#. Provides facilities for handling many of the tedious things about complicated page design such as postbacks and caching.

Torben Lundsgaard

6:30 pm on May 29, 2002 (gmt 0)

10+ Year Member



Does this mean that developers still will be using Visual Studio 6 when developing "offline" applications?

Xoc

7:02 pm on May 29, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



No. Visual Studio .NET allows you to build Window Applications as well as network applications. The difference is that you code to the .NET Framework instead of the Windows API. The one gotcha right now is that your clients/customers must have the .NET framework installed for the program to run, which is a 20 MB download. Expect the framework to ship with all future releases of Microsoft products, though.

.NET also has extensive support for backwards compatibility. So you can use older ActiveX controls and DLLs, standard DLLs, and call into the Windows API. But the eventual goal is to code only to the .NET framework. I have an application that I am planning to write that I want to work on the Web, on Windows, and on Pocket PCs. With .NET, I should be able to write that app once and have it work on all three platforms if I am careful.

Ranger

7:09 pm on May 29, 2002 (gmt 0)

10+ Year Member



"With .NET, I should be able to write that app once and have it work on all three platforms if I am careful. "

---- so to simplify the concept, that's really the kicker for this whole .NET thing? Getting rid of the boundries between what's receiving the service in question?

So how does this all apply to us lowly web site designers? Can you give us a few more practical examples of how or why we might use this?

How would this apply to the Mom and Pop type client interested in a web site? It goes beyond web sites significantly, or so it sounds...

korkus2000

7:13 pm on May 29, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



you have prewritten classes that do a lot. You should check out the classes that come with the framework. The web controls have also become server controls. You can do a lot of neat stuff and not worry about state information.

Xoc

7:35 pm on May 29, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



One thing that .NET provides are controls that you drop on the web page on the server. You set a few properties and the control writes the HTML that gets sent down to the client side.

If necessary, the control even looks at the user agent and cloaks the correct HTML down to the client. So the same control could produce different HTML for IE, Netscape, and a PDA.

yanton

1:05 pm on Jun 5, 2002 (gmt 0)



I'm starting to see some real advantages of .net over asp.

1) XML now displays OK in Netscape. At last removing this obstacle. Now all web developers can use xml without worrying about loosing some visitors from older Netscape browsers.

2) Nice graphics libraries, so we can resize graphics, crop, turn, label, colourize etc, without needing to use additional (and £££'s) asp components - with all of the bother of getting your webspace provider to approve the components. They are in the standard libraries. We can now also generate new graphics on the fly!

On the negative side, there seems little similarity with syntax and structure, a whole new language to learn!

txbakers

1:25 pm on Jun 5, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



There really isn't whole new language to learn, just some syntax changes.

The framework is wonderful, with many many built in server controls which do a lot of work for you.

As example, form validation is built-in now, with 6 different validations, inlcuding regular expressions. What a great time saver this is.

Also, the .NET can code the validation based on the users browser, so you won't have to worry if the client has javascript disabled or not.

For mom and pop web sites you won't need this new framework. good ole HTML still works. This is really for the upper end of things - data manipulation, dynamic sites, etc.

Xoc

2:42 pm on Jun 5, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



But coding a shopping cart and checkout is about a million times easier.

andrey_sea

12:40 am on Jun 7, 2002 (gmt 0)

10+ Year Member



XOC forgot to mention that .NET is not only VB.NET and C#. There are a lot of different languages in which you can build .NET applications such as C++, J#, Cobol, APL, Perl, Python and Smalltalk, and even research languages such as Haskell, ML, Oberon, Scheme and Mercury. (some of these languages are in beta or being ported right now)

Xoc

4:20 am on Jun 7, 2002 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



All .NET languages (and there are more than 20, including COBOL) compile to the same intermediate language

Ummmm, forgot did I? ;)

andrey_sea

2:58 pm on Jun 7, 2002 (gmt 0)

10+ Year Member



Ups, sorry my bad :)

Did not see it in the Language Section and overlooked it in the CLR section.