Thursday, May 30, 2013

Introduction of Microsoft Visual Studio

Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop console and graphical user interface applications along with Windows Forms or WPF applications, web sitesweb applications, and web services in both native code together with managed code for all platforms supported by Microsoft WindowsWindows MobileWindows CE.NET Framework.NET Compact Framework and Microsoft Silverlight.
Visual Studio is a complete set of development tools for building ASP.NET Web applications, desktop applications , XML Web Services, and mobile applications. Visual Basic, Visual C++, Visual C#, and Visual J# all use the same integrated development environment (IDE), which allows them to share tools and facilitates in the creation of mixed-language solutions. In addition, these languages leverage the functionality of the .NET Framework, which provides access to key technologies that simplify the development of ASP Web applications and XML Web Services.
Visual Studio includes a code editor supporting IntelliSense as well as code refactoring. The integrated debugger works both as a source-level debugger and a machine-level debugger. Other built-in tools include a forms designer for building GUI applications, web designerclass designer, and database schema designer.
 Microsoft provides "Express" editions of its Visual Studio 2010 components Visual Basic, Visual C#, Visual C++, and Visual Web Developer at no cost. Visual Studio 2012, 2010, 2008 and 2005 Professional Editions, along with language-specific versions (Visual Basic, C++, C#, J#) of Visual Studio Express 2010 are available for free to students.
 Visual Studio includes a host of visual designers to aid in the development of applications. These tools include:

Windows Forms Designer
Window Form Designer Image
Window Form Designer
The Windows Forms designer is used to build GUI (Graphical User Interface) applications using Windows Forms. Layout can be controlled by housing the controls inside other containers or locking them to the side of the form. Controls that display data (like textbox, list box, grid view, etc.) can be bound to data sources like databases or queries. Data-bound controls can be created by dragging items from the Data Sources window onto a design surface. The UI (User Interface) is linked with code using an event-driven programming model. The designer generates either C# or VB.NET code for the application.

WPF Designer
WPF Designer
The WPF designer, codenamed Cider, was introduced with Visual Studio 2008. Like the Windows Forms designer it supports the drag and drop metaphor. It is used to authoruser interfaces targeting Windows Presentation Foundation. It supports all WPF functionality including data binding and automatic layout management. It generates XAML code for the UI. The generated XAML (Extensible Application Markup Language) file is compatible with Microsoft Expression Design, the designer-oriented product. The XAML code is linked with code using a code-behind model.


Web Form Designer
Web designer/development
Visual Studio also includes a web-site editor and designer that allows web pages to be authored by dragging and dropping widgets. It is used for developing ASP.NET applications and supports HTML, CSS and JavaScript. It uses a code-behind model to link with ASP.NET code. From Visual Studio 2008 onwards, the layout engine used by the web designer is shared with Microsoft Expression Web. There is also ASP.NET MVC support for MVC technology as a separate download and ASP.NET Dynamic Data project available from Microsoft


Class designer
The Class Designer is used to author and edit the classes (including its members and their access) using UML modeling. The Class Designer can generate C# and VB.NET code outlines for the classes and methods. It can also generate class diagrams from hand-written classes.

Data Designer
Data designer
The data designer can be used to graphically edit database schemas, including typed tables, primary and foreign keys and constraints. It can also be used to design queries from the graphical view.









Mapping designer
Mapping
From Visual Studio 2008 onwards, the mapping designer is used by LINQ to SQL to design the mapping between database schemas and the classes that encapsulate the data. The new solution from ORM approach, ADO.NET Entity Framework, replaces and improves the old technology.
Open Tabs Browser
The open tabs browser is used to list all open tabs and to switch between them. It is invoked using CTRL+TAB.



Properties Explorer
Properties Explorer
The Properties Editor tool is used to edit properties in a GUI pane inside Visual Studio. It lists all available properties (both read-only and those which can be set) for all objects including classes, forms, web pages and other items.
Object Browser
The Object Browser is a namespace and class library browser for Microsoft .NET. It can be used to browse the namespaces (which are arranged hierarchically) in managed assemblies. The hierarchy may or may not reflect the organization in the file system.
Solution Explorer
Solution Explorer
In Visual Studio parlance, a solution is a set of code files and other resources that are used to build an application. The files in a solution are arranged hierarchically, which might or might not reflect the organization in the file system. The Solution Explorer is used to manage and browse the files in a solution.

Data Explorer
Data Explorer is used to manage databases on Microsoft SQL Server instances. It allows creation and alteration of database tables (either by issuing T-SQL commands or by using the Data designer). It can also be used to create queries and stored procedures, with the latter in either T-SQL or in managed code via SQL CLR. Debugging and IntelliSense support is available as well.
Server Explorer
The Server Explorer tool is used to manage database connections on an accessible computer. It is also used to browse runningWindows Services, performance counters, Windows Event Log and message queues and use them as a datasource. 



Team Explorer
Team Explorer
Team Explorer is used to integrate the capabilities of Team Foundation Server, the Revision Control System into the IDE (and the basis for Microsoft's CodePlex hosting environment for open source projects). In addition to source control it provides the ability to view and manage individual work items (including bugs, tasks and other documents) and to browse TFS statistics. It is included as part of a TFS install and is also available as a download for Visual Studio separately Team Explorer is also available as a stand-alone environment solely to access TFS services.

Introduction of .Net Framework


The .net framework has two components:-

·         .Net Framework Class Library (FCL)
·         Common Language Runtime (CLR)

Before we start learn FCL and CLR lets learn about Common Language Specification (CLS). The Common specification (CLS) enforces that software development languages should be interoperable between them. the code written in a CLS should be compliant with the code written in another CLS Complaint language. Microsoft  .Net Framework support languages like Microsoft Visual Basic.Net, Microsoft Visual C#, Microsoft Visual C++ .Net and Microsoft Visual J# .Net.

The common language runtime is the foundation of the .Net Framework. CLR act as an agent that manages code at execution time providing core services such as memory management, thread management etc. while also enforcing strict type safety and facility with code accuracy that ensure security and robustness.

The class library, is an integral component of the .Net Framework, consists of object oriented collection of reusable classes (types) that we can use to develop application ranging from traditional command-line or any graphical user interface (GUI) application such as Window Forms. ASP.NET Web Forms and Windows Services the newly invented XML Web Services.


The Diagram below depicts in detail the .Net Framework structure.

History of .Net Framework

Microsoft started development of the .NET Framework in the late 1990s, originally under the name of Next Generation Windows Services (NGWS). By late 2000 the first beta versions of .NET 1.0 were released.
Version 3.0 of the .NET Framework is included with Windows Server 2008 and Windows Vista. Version 3.5 is included with Windows 7 and Windows Server 2008 R2, and can also be installed on Windows XP and Windows Server 2003. On 12 April 2010, .NET Framework 4 was released alongside Visual Studio 2010.
The .NET Framework family also includes two versions for mobile or embedded device use. A reduced version of the framework, the .NET Compact Framework, is available on Windows CE platforms, including Windows Mobile devices such as smart phones. Additionally, the .NET Micro Framework is targeted at severely resource-constrained devices.



Overview of .NET Framework release history
Generation
Version number
Release date
Development tool
Distributed with
1.0
1.0.3705.0
2002-02-13
Visual Studio .NET
N/A
1.1
1.1.4322.573
2003-04-24
Visual Studio .NET 2003
Windows Server 2003
2.0
2.0.50727.42
2005-11-07
Visual Studio 2005
Windows Server 2003 R2
3.0
3.0.4506.30
2006-11-06
Expression Blend
Windows Vista, Windows Server 2008
3.5
3.5.21022.8
2007-11-19
Visual Studio 2008
Windows 7, Windows Server 2008 R2
4.0
4.0.30319.1
2010-04-12
Visual Studio 2010
N/A
4.5
4.5.50709.17929
2012-08-15
Visual Studio 2012
Windows 8, Windows Server 2012