VISUAL STUDIO
-
Upload
independent -
Category
Documents
-
view
3 -
download
0
Transcript of VISUAL STUDIO
LAU CHING CHING
RMM 1
Contents
1.1 Introduction..................................................31.2 History........................................................4
1.2.1 Visual Studio 97.........................................41.2.2 Visual Studio 6.0 (1998).................................41.2.3 Visual Studio.NET (2002).................................51.2.4 Visual Studio.NET 2003...................................51.2.5 Visual Studio 2005.......................................61.2.6 Visual Studio 2008.......................................71.2.7 Visual Studio 2010.......................................81.2.8 Visual Studio 2012.......................................81.2.9 Visual Studio 2013.......................................91.2.10 Visual Studio "14"......................................9
2.1 Main Research.................................................102.1.1 Architecture..............................................102.1.2 Feature Provided..........................................122.1.3 Support Products..........................................17
3.1 Marketing.....................................................193.1.1 Edition Supported.........................................193.1.2 Main Competitors..........................................21
4.1 Reference.....................................................23
2
1.1 Introduction
Visual Studio is a software development environment which is
also known as Integrated Development Environment (IDE), Visual
studio is a complete set of development tools for building
ASP.NET Web applications, XML Web Services, desktop
applications, and mobile applications. Various applications
can be built using visual studio. Examples are console
applications, window forms applications, windows services,
ASP.NET applications, ASP.NET web services, windows mobile
applications, MFC/ATL/WIN32 applications, visual studio add-
ins and more. Console applications can run from the command
line and do not include a graphical interface. Windows forms
applications are windows desktop applications written using
the .NET framework. Windows services are applications that run
in the background while computer is running. ASP.NET
applications is a powerful technology that is used to create
dynamic web applications which often driven by databases.
ASP.NET web services provides a complete web services model3
thatl allows an easier and faster creating web services.
Windows mobile applications can run on devices that include
the Compact framework. MFC/ATL/Win32 applications do not need
the .NET runtime to run but also don’t include many of the
benefits of working with the .NET framework. Visual Studio
add-ins can be used to write new functionality to be added
into Visual Studio. Nevertheless, Visual Studio also includes
projects to deploy applications, work with databases, create
reports and so on.
1.2 History
1.2.1 Visual Studio 97
Microsoft first released Visual Studio (codenamed Boston,for
the city of the same name) in 1997, bundling many of its
4
programming tools together for the first time. Visual Studio
97 came in two editions: Visual Studio Professional and Visual
Studio Enterprise, the professional edition has 3 CDs, and the
enterprise on 4 CDs. It included Visual J++ 1.1 for Java
programming and introduced Visual InterDev for creating
dynamically generated web sites using Active Server Pages.
There was a single companion CD that contained the Microsoft
Developer Network library. Visual Studio 97 was Microsoft's
first attempt at using the same development environment for
multiple languages. Visual J++, InterDev, and the MSDN Library
had all been using the same 'environment', called Developer
Studio. Visual Studio was also sold as a bundle with the
separate IDEs used for Visual C++, Visual Basic and Visual
FoxPro.
1.2.2 Visual Studio 6.0 (1998)
Version 6.0 (codenamed Aspen, after the ski resort in
Colorado) was released in June1998 and is the last version to
run on the Windows 9xplatform. Each version of each language
in part also settled to v6.0, including Visual J++ which was
prior v1.1, and Visual InterDev at the 1st release. The v6
edition of Microsoft was the core environment for the next
four releases to provide programmers with an integrated look-
alike platform. This led Microsoft to transition the
development on the platform independent .NET Framework. Visual
5
Studio 6.0 was the last version to include Visual J++, which
Microsoft removed as part of a settlement with Sun
Microsystems that required Microsoft Internet Explorer not to
provide support for the Java virtual machine. Visual Studio
6.0 came in two editions: Professional and Enterprise. The
Enterprise edition contained extra features not found in
Professional edition, including Application Performance
Explorer, Automation Manager, Microsoft Visual Modeler,
RemAuto Connection Manager and Visual Studio Analyzer.
1.2.3 Visual Studio.NET (2002)
Microsoft released Visual Studio .NET (VS.NET), codenamed
Rainier (for Washington's Mount Rainier), in February 2002
(the beta version was released via Microsoft Developer Network
in 2001). The biggest change was the introduction of a managed
code development environment using the .NET Framework.
Programs developed using .NET are not compiled to machine
language (like C++ is, for example) but instead to a format
called Microsoft Intermediate Language (MSIL) or Common
Intermediate Language (CIL). When a CIL application executes,
it is compiled while being executed into the appropriate
machine language for the platform it is being executed on,
thereby making code portable across several platforms.
Programs compiled into CIL can be executed only on platforms
which have an implementation of Common Language
6
Infrastructure. It is possible to run CIL programs in Linux or
Mac OS X using non-Microsoft .NET implementations like Mono
and DotGNU. This was the first version of Visual Studio to
require an NT-based Windows platform. The installer enforces
this requirement. Visual Studio .NET 2002 shipped in four
editions: Academic, Professional, Enterprise Developer, and
Enterprise Architect. Microsoft introduced C# (C-sharp), a new
programming language, that targets .NET. It also introduced
the successor to Visual J++ called Visual J#. Visual J#
programs use Java's language-syntax. However, unlike Visual J+
+ programs, Visual J# programs can only target the .NET
Framework, not the Java Virtual Machine that all other Java
tools target.
1.2.4 Visual Studio.NET 2003
In April 2003, Microsoft introduced a minor upgrade to Visual
Studio .NET called Visual Studio .NET 2003, codenamed Everett
(for the city of the same name). It includes an upgrade to the
.NET Framework, version 1.1, and is the first release to
support developing programs for mobile devices, using ASP.NET
or the .NET Compact Framework. The Visual C++ compiler's
standards-compliance improved, especially in the area of
partial template specialization. Visual C++ Toolkit 2003 is a
version of the same C++ compiler shipped with Visual
Studio .NET 2003 without the IDE that Microsoft made freely
7
available. As of 2010 it is no longer available and the
Express Editions have superseded it. The internal version
number of Visual Studio .NET 2003 is version 7.1 while the
file format version is 8.0. Visual Studio .NET 2003 shipped in
four editions: Academic, Professional, Enterprise Developer,
and Enterprise Architect. The Visual Studio .NET 2003
Enterprise Architect edition includes an implementation of
Microsoft Visio 2002's modeling technologies, including tools
for creating Unified Modeling Language-based visual
representations of an application's architecture, and an
object-role modeling (ORM) and logical database-modeling
solution. "Enterprise Templates" were also introduced, to help
larger development teams standardize coding styles and enforce
policies around component usage and property settings. Service
Pack 1 was released September 13, 2006.
1.2.5 Visual Studio 2005
Visual Studio 2005, codenamed Whidbey (a reference to Whidbey
Island in Puget Sound), was released online in October 2005
and to retail stores a few weeks later. Microsoft removed the
".NET" moniker from Visual Studio 2005 (as well as every other
product with .NET in its name), but it still primarily targets
the .NET Framework, which was upgraded to version 2.0. It is
the last version available for Windows 2000 and also the last
version to be able to target Windows 98, Windows Me and
8
Windows NT 4.0 for C++ applications. Visual Studio 2005's
internal version number is 8.0 while the file format version
is 9.0. Microsoft released Service Pack 1 for Visual Studio
2005 on 14 December 2006. An additional update for Service
Pack 1 that offers Windows Vista compatibility was made
available on 3 June 2007. Visual Studio 2005 was upgraded to
support all the new features introduced in .NET Framework 2.0,
including generics and ASP.NET 2.0. The IntelliSense feature
in Visual Studio was upgraded for generics and new project
types were added to support ASP.NET web services. Visual
Studio 2005 also includes a local web server, separate from
IIS, that can host ASP.NET applications during development and
testing. It also supports all SQL Server 2005 databases.
Database designers were upgraded to support the ADO.NET 2.0,
which is included with .NET Framework 2.0. C++ also got a
similar upgrade with the addition of C++/CLI which is slated
to replace the use of Managed C++.
1.2.6 Visual Studio 2008
Visual Studio 2008, and Visual Studio Team System 2008
codenamed Orcas (a reference to Orcas Island, also an island
in Puget Sound, like Whidbey for the previous 2005 release),
were released to MSDN subscribers on 19 November 2007
alongside .NET Framework 3.5. The source code for the Visual
Studio 2008 IDE is available under a shared source license to
9
some of Microsoft's partners and ISVs. Microsoft released
Service Pack 1 for Visual Studio 2008 on 11 August 2008. The
internal version number of Visual Studio 2008 is version 9.0
while the file format version is 10.0. Visual Studio 2008 is
the last version to support targeting Windows 2000 for C++
applications. Visual Studio 2008 is focused on development of
Windows Vista, 2007 Office system, and Web applications. For
visual design, a new Windows Presentation Foundation visual
designer and a new HTML/CSS editor influenced by Microsoft
Expression Web are included. J# is not included. Visual Studio
2008 requires .NET 3.5 Framework and by default configures
compiled assemblies to run on .NET Framework 3.5, but it also
supports multi-targeting which lets the developers choose
which version of the .NET Framework (out of 2.0, 3.0, 3.5,
Silverlight CoreCLR or .NET Compact Framework) the assembly
runs on. Visual Studio 2008 also includes new code analysis
tools, including the new Code Metricstool (only in Team
Edition and Team Suite Edition). For Visual C++, Visual Studio
adds a new version of Microsoft Foundation Classes (MFC 9.0)
that adds support for the visual styles and UI controls
introduced with Windows Vista. For native and managed code
interoperability, Visual C++ introduces the STL/CLR, which is
a port of the C++Standard Template Library (STL) containers
and algorithms to managed code. STL/CLR defines STL-like
containers, iterators and algorithms that work on C++/CLI
managedobjects.
10
1.2.7 Visual Studio 2010
On April 12, 2010, Microsoft released Visual Studio 2010,
codenamed Dev10, and .NET Framework 4. The Visual Studio 2010
IDE was redesigned which, according to Microsoft, clears the
UI organization and "reduces clutter and complexity." The new
IDE better supports multiple document windows and floating
tool windows, while offering better multi-monitor support. The
IDE shell has been rewritten using the Windows Presentation
Foundation(WPF), whereas the internals have been redesigned
using Managed Extensibility Framework (MEF) that offers more
extensibility points than previous versions of the IDE that
enabled add-ins to modify the behavior of the IDE. The new
multi-paradigm ML-variant F# forms part of Visual Studio 2010.
Visual Studio 2010 comes with .NET Framework 4 and supports
developing applications targeting Windows 7. It supports IBM
DB2 and Oracle databases, in addition toMicrosoft SQL Server.
It has integrated support for developing Microsoft Silverlight
applications, including an interactive designer. Visual Studio
2010 offers several tools to make parallel programming
simpler: in addition to the Parallel Extensions for the .NET
Framework and the Parallel Patterns Library for native code,
Visual Studio 2010 includes tools for debugging parallel
applications. The new tools allow the visualization of
parallel Tasks and their runtime stacks. Tools for profiling
parallel applications can be used for visualization of thread
wait-times and thread migrations across processor cores. Intel
and Microsoft have jointly pledged support for a new
11
Concurrency Runtime in Visual Studio 2010 and Intel has
launched parallelism support in Parallel Studio as an add-on
for Visual Studio.
1.2.8 Visual Studio 2012
Final build of Visual Studio 2012 was announced on August 1,
2012 and the official launch event was held on September 12,
2012. Unlike prior versions, Visual Studio 2012 cannot record
and play macros and the macro editor has been removed. A major
new feature is support for WinRT and C++/CX (Component
Extensions). Support for C++ AMP (GPGPU programming) is also
included. On 16 September 2011 a complete 'Developer Preview'
of Visual Studio 11 was published on Microsoft's website.
Visual Studio 11 Developer Preview requires Windows 7, Windows
Server 2008 R2, Windows 8, or later operating systems.
Versions of Microsoft Foundation Class Library (MFC) and C
runtime (CRT) included with this release cannot produce
software that is compatible with Windows XP or Windows Server
2003 except by using native multi-targeting and foregoing the
newest libraries, compilers, and headers. However, on June 15,
2012, a blog post on the VC++ Team blog announced that based
on customer feedback, Microsoft would re-introduce native
support for Windows XP targets (though not for XP as a
development platform) in a version of Visual C++ to be
released later in the fall of 2012. "Visual Studio 2012 Update
12
1" (Visual Studio 2012.1) was released in November 2012. This
update added support for Windows XP targets and also added
other new tools and features (e.g. improved diagnostics and
testing support for Windows Store apps).
1.2.9 Visual Studio 2013
The preview for Visual Studio 2013 was announced at the Build
2013 conference and made available on June 26, 2013. The
Visual Studio 2013 RC (Release Candidate) was made available
to developers on MSDN on September 9, 2013. The final release
of Visual Studio 2013 became available for download on October
17, 2013 along with .NET 4.5.1. Visual Studio 2013 officially
launched on November 13, 2013 at a virtual launch event
keynoted by S. Somasegar and hosted on
events.visualstudio.com. "Visual Studio 2013 Update 1" (Visual
Studio 2013.1) was released on January 20, 2014. Visual Studio
2013.1 is a targeted update that addresses some key areas of
customer feedback. "Visual Studio 2013 Update 2" (Visual
Studio 2013.2) was released on May 12, 2014.
1.2.10 Visual Studio "14"
13
The first CTP for Visual Studio "14" was announced and made
available on June 3, 2014. The second CTP for Visual Studio
"14" was announced and made available on July 8, 2014.
2.1 Main Research
2.1.1 Architecture
Visual Studio does not support any programming language,
solution or tool intrinsically, instead it allows the plugging
of functionality coded as a VSPackage1. When installed, the
functionality is available as a Service. The IDE2 provides
three services: SVsSolution, which provides the ability to
enumerate projects and solutions; SVsUIShell, which provides
windowing and UI functionality (including tabs, toolbars and
tool windows); and SVsShell, which deals with registration of
VSPackages. In addition, the IDE is also responsible for
1 VSPackages : Software modules that extend the Visual Studio integrated development environment (IDE) by providing UI elements, services, projects,editors, and designers.2 IDE : A software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of a source code editor, build automation tools and a debugger.
14
coordinating and enabling communication between services. All
editors, designers, project types and other tools are
implemented as VSPackages. Visual Studio uses COM to access
the VSPackages. The Visual Studio SDK also includes the
Managed Package Framework (MPF), which is a set of managed
wrappers around the COM-interfaces that allow the Packages to
be written in any CLI compliant language. However, MPF does
not provide all the functionality exposed by the Visual Studio
COM interfaces. The services can then be consumed for creation
of other packages, which add functionality to the Visual
Studio IDE.
Generalized view of the Visual Studio architecture
Support for programming languages is added by using a specific
VSPackage called a Language Service. A language service
defines various interfaces which the VSPackage implementation
can implement to add support for various functionalities.
Functionalities that can be added this way include syntax
coloring, statement completion, brace matching, parameter
15
information tooltips, member lists and error markers for
background compilation. If the interface is implemented, the
functionality will be available for the language. Language
services are to be implemented on a per-language basis. The
implementations can reuse code from the parser or the compiler
for the language. Language services can be implemented either
in native code or managed code. For native code, either the
native COM interfaces or the Babel Framework (part of Visual
Studio SDK) can be used. For managed code, the MPF includes
wrappers for writing managed language services.
Visual Studio does not include any source control support
built in but it defines two alternative ways for source
control systems to integrate with the IDE. A Source Control
VSPackage can provide its own customised user interface. In
contrast, a source control plugin using the MSSCCI (Microsoft
Source Code Control Interface) provides a set of functions
that are used to implement various source control
functionality, with a standard Visual Studio user interface.
MSSCCI was first used to integrate Visual SourceSafe with
Visual Studio 6.0 but was later opened up via the Visual
Studio SDK. Visual Studio .NET 2002 used MSSCCI 1.1, and
Visual Studio .NET 2003 used MSSCCI 1.2. Visual Studio 2005,
2008 and 2010 use MSSCCI Version 1.3, which adds support for
rename and delete propagation as well as asynchronous opening.
2.1.2 Feature Provided
16
a)Code editor
Like any other IDE, it includes a code editor that supports
syntax highlighting and code completion using IntelliSense for
not only variables, functions and methods but also language
constructs like loops and queries. IntelliSense is supported
for the included languages, as well as for XML and for
Cascading Style Sheets and JavaScript when developing web
sites and web applications. Autocomplete suggestions are
popped up in a modeless list box, overlaid on top of the code
editor. In Visual Studio 2008 onwards, it can be made
temporarily semi-transparent to see the code obstructed by it.
The code editor is used for all supported languages.
The Visual Studio code editor also supports setting bookmarks
in code for quick navigation. Other navigational aids include
collapsing code blocks and incremental search, in addition to
normal text search and regex search. The code editor also
includes a multi-item clipboard and a task list. The code
editor supports code snippets, which are saved templates for
repetitive code and can be inserted into code and customized
for the project being worked on. A management tool for code
snippets is built in as well. These tools are surfaced as
floating windows which can be set to automatically hide when
unused or docked to the side of the screen. The Visual Studio
code editor also supports code refactoring including parameter
reordering, variable and method renaming, interface extraction
17
and encapsulation of class members inside properties, among
others.
Visual Studio features background compilation (also called
incremental compilation). As code is being written, Visual
Studio compiles it in the background in order to provide
feedback about syntax and compilation errors, which are
flagged with a red wavy underline. Warnings are marked with a
green underline. Background compilation does not generate
executable code, since it requires a different compiler than
the one used to generate executable code. Background
compilation was initially introduced with Microsoft Visual
Basic but has now been expanded for all included languages.
b) Debugging & Diagnostics
With Visual Studio 2013 developers are empowered with a
variety of tools that help them develop, optimize, debug and
diagnose applications no matter the chosen platform or
language. The Visual Studio Integrated Debugger provides a
first class experience enabling features such as breaking code
execution to inspect flow & memory values, the ability to
debug against remote servers or devices and a great experience
for understating and resolving Exceptions. For optimizing the
software, Visual Studio provides the Performance and
Diagnostics Hub, which makes it easy to find performance
bottlenecks in your app. When software is deployed, developers
18
and operations can work together of collect IntelliTrace
performance and Exception logs that greatly reduce the
complexity of debugging issues in production environments ,
and can be setup to facilitate proactive monitoring in
combination with system Centre and Team Foundation Server.
c) Designer
Visual Studio includes a host of visual designers to aid in
the development of applications. These tools include:
Windows Forms Designer
The Windows Forms designer is used to build GUI 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 is linked with code using an event-driven
programming model. The designer generates either C# or VB.NET
code for the application.
WPF Designer
The WPF designer, codenamed Cider, was introduced with Visual
Studio 2008. Like the Windows Forms designer it supports the
19
drag and drop metaphor. It is used to author user 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 file is compatible with Microsoft Expression Design, the
designer-oriented product. The XAML code is linked with code
using a code-behind model.
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.
20
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
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.
d) Extensibility
Visual Studio allows developers to write extensions for Visual
Studio to extend its capabilities. These extensions "plug
into" Visual Studio and extend its functionality. Extensions
come in the form of macros, add-ins, and packages. Macros
represent repeatable tasks and actions that developers can
record programmatically for saving, replaying, and
distributing. Macros, however, cannot implement new commands
or create tool windows. They are written using Visual Basic
and are not compiled. Add-Ins provide access to the Visual
Studio object model and can interact with the IDE tools. Add-
Ins can be used to implement new functionality and can add new
tool windows. Add-Ins are plugged into the IDE via COM and can
21
be created in any COM-compliant languages. Packages are
created using the Visual Studio SDK and provide the highest
level of extensibility. They can create designers and other
tools, as well as integrate other programming languages. The
Visual Studio SDK provides unmanaged APIs as well as a managed
API to accomplish these tasks. However, the managed API isn't
as comprehensive as the unmanaged one. Extensions are
supported in the Standard (and higher) versions of Visual
Studio 2005. Express Editions do not support hosting
extensions.
Visual Studio 2008 introduced the Visual Studio Shell that
allows for development of a customized version of the IDE. The
Visual Studio Shell defines a set of VS Packages that provide
the functionality required in any IDE. On top of that, other
packages can be added to customize the installation. The
Isolated mode of the shell creates a new Appld where the
packages are installed. These are to be started with a
different executable. It is aimed for development of custom
development environments, either for a specific language or a
specific scenario. The Integrated mode installs the packages
into the AppId of the Professional/Standard/Team System
editions, so that the tools integrate into these editions. The
Visual Studio Shell is available as a free download.
After the release of Visual Studio 2008, Microsoft created the
Visual Studio Gallery. It serves as the central location for
22
posting information about extensions to Visual Studio.
Community developers as well as commercial developers can
upload information about their extensions to Visual
Studio .NET 2002 through Visual Studio 2010. Users of the site
can rate and review the extensions to help assess the quality
of extensions being posted. RSS feeds to notify users on
updates to the site and tagging features are also planned.
23
2.1.3Support Products
(i)Microsoft Visual C++
Microsoft Visual C++ is Microsoft's implementation of the C
and C++ compiler and associated languages-services and
specific tools for integration with the Visual Studio IDE.
It is built for development in native code or that contains
both native and managed components. Visual C++ supports COM as
well as the MFC library.
It able to use the Visual Studio forms designer to design GUI
or to be used together with the Windows API and included with
the OpenMP specification.
It also supports the use of intrinsic functions, which are
functions recognized by the compiler itself and not
implemented as a library.
(ii) Microsoft Visual C#
24
Microsoft Visual C# is Microsoft's implementation of the C#
language, targets the .NET Framework, along with the language
services that lets the Visual Studio IDE support C# projects.
The Visual C# 2008, 2010 and 2012 compilers support versions
3.0, 4.0 and 5.0 of the C# language specifications,
respectively.
It also supports the Visual Studio Class designer, Forms
designer, and Data designer.
(iii) Microsoft Visual Basic (VB)
Microsoft Visual Basic is Microsoft's implementation of the
VB.NET language and associated tools and language services.
It was introduced with Visual Studio .NET and used for Rapid
Application Development. Visual Basic can be used to author
both console applications as well as GUI applications. Visual
Basic (VB) also supports the Visual Studio Class designer,
Forms designer, and Data designer.
The VB.NET compiler is also part of .NET Framework, but the
language services that let VB.NET projects to be developed
with Visual Studio, are available as a part of the latter.
(iv) Microsoft Visual Web Developer
Microsoft Visual Web Developer is used to create web sites,
web applications and web services using ASP.NET, C# or VB.NET
languages.
25
Visual Web Developer can use the Visual Studio Web Designer to
graphically design web page layouts.
(v) Team Foundation Server (TFS)
Team Foundation Server Included only with Visual Studio Team
System.
It is intended for collaborative software development projects
and acts as the server-side backend providing source control,
data collection, reporting, and project-tracking.
It also includes the Team Explorer, the client tool for TFS
services, which is integrated inside Visual Studio Team
System.
26
3.1 Marketing
3.1.1 Edition Supported
(i) Visual Studio Express
Visual Studio Express Editions are a set of free lightweight
individual Integrated Development Environments (IDE) which is
stripped-down versions of the Visual Studio IDE. It installs
the development tools for supported platforms or supported
development languages onto individual Visual Studio Shell
AppIds. It includes only a small set of tools as compared to
the other systems. The main target for Visual Studios Express
is students and hobbyists. The languages available as parts of
the Express IDEs are Visual Basic Express, Visual C++ Express,
Visual C# Express, Visual Web Developer Express and Express
for Windows Phone.
(ii) Visual Studio Professional
Visual Studio Professional Edition provides an IDE for all
supported development languages. The Standard edition was
removed as of Visual Studios 2010. There are features like
Server Explorer and also integration with Microsoft SQL
27
Server. Windows Mobile development support was included in
Visual Studio 2005 Standard; however, with Visual Studio 2008,
it is only available in Professional and higher editions.
Windows Phone 7 development support was added to all editions
in Visual Studio 2010. Development for Windows Mobile is no
longer supported in Visual Studio 2010; it is superseded by
Windows Phone 7.
(iii) Visual Studio Premium
Visual Studio Premium Edition includes all of the functions in
Visual Studio Professional and has extra tools such as code
metrics, profiling, static code analysis and database unit
testing.
(iv) Visual Studio Ultimate
Besides having the features in Visual Studio Premium, Visual
Studio Ultimate also has a set of software and database
development, collaboration, metrics, architecture, testing and
reporting tools. Visual Studio Ultimate offers a superset of
toolsets based on the Application Lifecycle Management role it
is being used for.
(v) Visual Studio Test Professional
Visual Studio Test Professional was introduced with Visual
Studio 2010. It aims being dedicated tester role and includes
support for management of test environments, the ability to
start and report on tests and to connect to Team Foundation
28
Server. It does not include support for development or
authoring of tests.
3.1.2 Main Competitors
The main competitors for Microsoft Visual Studios are:-
29
(i) Eclipse
Eclipse is an IDE which contains a base workspace and an
extensible plug-in system for customizing the environment. The
initial codebase originated from IBM VisualAge. Written mostly
in Java, Eclipse can be used to develop applications. It can
also be used to develop packages for the software Mathematica.
Development environments include the Eclipse Java development
tools (JDT) for Java and Scala, Eclipse CDT for C/C++ and
Eclipse PDT for PHP.
(ii) IBM VisualAge
IBM releases an IDE with the name of VisuaAge, which included
support for multiple programming languages. VisualAge was
first released in the 1980s and was last available in 2012.
VisualAge was also marketed as “VisualAge Smalltalk” and IBM
has stated that XL C/C++ is the 'follow-on' product to
VisualAge.
(iii) NetBeans
NetBeans is an IDE for developing primarily with Java, but
also with other languages, in particular PHP, C/C++, and
HTML5. It is also an application platform framework for Java
desktop applications and others. The NetBeans IDE is written
in Java and can run on Windows, OS X, Linux, Solaris and other
platforms supporting a compatible Java Virtual Machine (JVM).
30
(iv) Oracle Solaris Studio
The Oracle Solaris Studio is a compiler suite which is Oracle
Corporation's flagship software development product for the
operating systems Solaris and Linux. The Oracle Studio
compiler and development tools software suite is downloadable
at no charge from an Oracle website however there are many
security and functionality patch updates which are only
available with a support contract from Oracle.
(v) C++Builder
C++Builder is a rapid application development (RAD)
environment for writing programs in the C++ programming
language targeting Windows and OS X. C++Builder combines the
Visual Component Library and IDE written in Delphi with a C++
compiler. Most components developed in Delphi can be used in
C++Builder with no or little modification, although the
reverse is not true.
(vi) CodeWarrior
CodeWarrior is an IDE for the creation of software that runs
on a number of embedded systems. Prior to the acquisition of
the product by Freescale Semiconductor, versions existed for
Macintosh, Microsoft Windows, Linux, Solaris, PlayStation 2,
Nintendo GameCube, Nintendo DS, Wii , Palm OS, Symbian OS, and
even for BeOS. Currently, C, C++, and assembly language are
the focus of the tools. Versions of CodeWarrior included
31
Pascal, Object Pascal, Objective-C, and Java compilers as
well.
4.1 Reference
Microsoft developer network 2005, ‘Visual studio development
environment model’, viewed 27 July 2014,
<http://msdn.microsoft.com/en-us/library/bb165114(VS.80).aspx>
32
Microsoft developer network 2005, ‘VSPackages and managed
package framework (MPF)’, viewed 27 July 2014,
<http://msdn.microsoft.com/en-us/library/bb166554(VS.80).aspx>
Microsoft developer network 2005, ‘Language services
essentials’, viewed 27 July 2014, <
http://msdn.microsoft.com/en-us/library/bb166391(VS.80).aspx>
Microsoft developer network 2005, ‘Babel package overview’,
viewed 27 July 2014, <
http://msdn.microsoft.com/en-us/library/bb165670(VS.80).aspx>
Microsoft developer network 2005, ‘Managed language service
overview’, viewed 27 July 2014, <
http://msdn.microsoft.com/en-us/library/bb166360(VS.80).aspx>
Microsoft developer network 2005, ‘Source control plug-ins’,
viewed 27 July 2014, <
http://msdn.microsoft.com/en-us/library/bb166170.aspx>
Microsoft developer network 2005, ‘Source control integration
essentials, viewed 27 July 2014, <
http://msdn.microsoft.com/en-us/library/bb165370.aspx>
33