Visual Studio Capabilities Comparison

Visual Studio editions are tailored to specific team needs and sizes, as well as the roles of individual team members. Find the one that’s right for you.

Video Ultimate with MSDN Premium with MSDN Test Professional with MSDN Professional with MSDN Professional
Work in the same IDE to create solutions for the web, desktop, cloud, server, and phone Yes Yes Yes Yes
Examine and refine your code with extensive tools for app debugging and profiling Yes Yes Yes Yes
Verify code quality with unit testing and an extensible testing framework Yes Yes Yes Yes
Get access to Microsoft platforms and tools past and present, with new releases added all the time Yes Yes Yes Yes
Get Team Foundation Server and a Team Foundation Server CAL for production use Yes Yes Yes Yes
Take your apps to the cloud, Windows Store, and Windows Phone Marketplace with included services as subscription benefits Yes Yes Yes Yes
Provision and manage virtual lab environments for testing with consistent configurations Yes Yes Yes
Coordinate your team with agile project management tools   Yes Yes Yes
Organize and define your test plans with test case management and exploratory testing Yes Yes Yes
Improve code quality with a peer code review workflow within Visual Studio   Yes Yes
Improve developer productivity when multitasking with task suspend and resume Yes Yes
Automate user interface tests to validate application UI   Yes Yes
Find and manage duplicate code in your code base to improve your architecture Yes Yes
Determine how much code is being tested with code coverage analysis Yes Yes
Reliably capture and reproduce bugs found during manual and exploratory testing to eliminate “no repro” bugs Yes
Understand the dependencies and relationships in your code through visualization Yes
Visualize the impact of a change, or a potential change in your code Yes
Collect and analyze runtime diagnostic data from production systems Yes
Perform unlimited web performance and load testing Yes
Design architectural layer diagrams to then validate code implements the architecture Yes

Feature comparisons

Looking for specific features, like build automation or test case management? Check to see which Visual Studio editions have them.

Categories and features
Expand AllCollapse All
Feature Video Ultimate with MSDN Premium with MSDN Test Professional with MSDN Professional with MSDN Professional
Debugging and Diagnostics 4/4 3/4 0/4 2/4 2/4
IntelliTrace (Historical Debugging) Yes
IntelliTrace in Production Yes
Code Metrics Yes Yes
Graphics Debugging Yes Yes Yes Yes
Advanced Web Debugging (Page Inspector) Yes Yes Yes Yes
Static Code Analysis Yes Yes Yes Yes
Debugger Yes Yes Yes Yes
Windows 8 Simulator Yes Yes Yes Yes
Profiling Yes1 Yes1 Yes Yes
Windows Phone Emulator Yes Yes Yes Yes
Testing Tools 4/4 3/4 2/4 1/4 1/4
Web Performance Testing Yes
Load Testing Yes
Microsoft Fakes (Unit Test Isolation) Yes
Code Coverage Yes Yes
Coded UI Testing Yes Yes
Manual Testing Yes Yes Yes
Exploratory Testing Yes Yes Yes
Test Case Management Yes Yes Yes
Fast Forward for Manual Testing Yes Yes Yes
Lab Management Yes Yes Yes
Extensible Testing Framework Yes Yes Yes Yes
Unit Testing Yes Yes Yes Yes
Integrated Development Environment 4/4 4/4 0/4 3/4 3/4
Code Clone Yes Yes
Refactoring Yes Yes Yes Yes
LightSwitch Yes Yes Yes Yes
One-Click Web Deployment Yes Yes Yes Yes
Extensible WPF-Based Environment Yes Yes Yes Yes
Model Resource Viewer Yes Yes Yes Yes
Multi-Targeting Yes Yes Yes Yes
Blend for Visual Studio Yes Yes Yes Yes
JavaScript and jQuery Support Yes Yes Yes Yes
Project & Solution Compatibility with Visual Studio 2010 SP1 Yes Yes Yes Yes
Multiple Monitor Support Yes Yes Yes Yes
Development Platform Support 4/4 4/4 0/4 4/4 4/4
Windows Desktop Development Yes Yes Yes Yes
Windows Store Application (including ARM) Development Yes Yes Yes Yes
Web Development Yes Yes Yes Yes
Windows Phone Development Yes Yes Yes Yes
Office and SharePoint Development Yes Yes Yes Yes
Cloud Development Yes Yes Yes Yes
Customizable Development Experience Yes Yes Yes Yes
Architecture and Modeling 4/4 2/4 0/4 1/4 1/4
Architecture Explorer Yes
Architecture and Layer Diagrams Yes
Architecture Validation Yes Yes
UML® 2.0 Compliant Diagrams (Activity, Use Case, Sequence, Class, and Component) Yes Yes2
Visualize Code with Dependency Graphs (By Assembly, By Namespace, and By Class) Yes Yes2 Yes2 Yes2
Code Maps Yes Yes2 Yes2
Lab Management 4/4 4/4 4/4 0/4 0/4
Virtual Environment Setup & Tear Down Yes Yes Yes
Provision Environment from Template Yes Yes Yes
Checkpoint Environment Yes Yes Yes
Team Foundation Server 4/4 4/4 4/4 3/4 3/4
Backlog Management Yes Yes Yes
Sprint Planning Yes Yes Yes
Agile Task boards Yes Yes Yes Yes Yes3
Exception Analytics (PreEmptive Analytics for TFS CE) Yes Yes Yes Yes Yes3
SharePoint Integration (Team Project Portal) 4 Yes Yes Yes Yes Yes3
Reporting & BI Yes Yes Yes Yes Yes3
Project & Project Server integration 5 Yes Yes Yes Yes Yes3
System Center Integration6 Yes Yes Yes Yes Yes3
Version Control Yes Yes Yes Yes Yes3
Work Item Tracking Yes Yes Yes Yes Yes3
Build Automation Yes Yes Yes Yes Yes3
Kanban Board Yes Yes Yes
Collaboration 4/4 4/4 3/4 2/4 2/4
PowerPoint Storyboarding Yes Yes Yes
Request and Manage Feedback 7 Yes Yes Yes
Code Review Yes Yes
Task Suspend/Resume Yes Yes
Team Explorer Yes Yes Yes Yes Yes3
Team Explorer Everywhere for TFS (3rd-Party Development Tools Support) Yes Yes Yes Yes Yes3
Software and Services for Production Use 4/4 3/4 2/4 2/4 1/4
Visual Studio Updates 8 Yes Yes Yes Yes Yes
Team Foundation Server Yes Yes Yes Yes
Team Foundation Server CAL Yes Yes Yes Yes
Team Foundation Service10 Yes Yes Yes
Office Professional Plus Yes Yes
Windows Azure9 Yes Yes Yes
Software for Development and Testing 4/4 4/4 1/4 1/4 0/4
Windows, Windows Server Yes Yes Yes Yes
Microsoft SQL Server Yes Yes Yes Yes
Microsoft Office Yes Yes
Microsoft Dynamics Yes Yes
All other Microsoft servers (SharePoint, Exchange, etc.) Yes Yes
Other Benefits 4/4 4/4 2/4 2/4 0/4
Technical Support Incidents 4 4 2 2
Microsoft E-Learning Collections (per year) 2 2 1 1
  1. Includes Tier Interaction Profiling
  2. Read-Only Diagrams
  3. Requires full Team Foundation Server and TFS CAL (purchased separately)
  4. Microsoft SharePoint Server licensed separately
  5. Microsoft Project and Project Server licensed separately
  6. Microsoft System Center licensed separately
  7. End users can use the free Feedback Client to submit feedback to TFS, and access MSDN software to review the app and provide feedback.
  8. MSDN Subscription not required. Updates vary by edition.
  9. Windows Azure benefits vary by offering
  10. Paid MSDN subscriptions will have access at no additional charge when paid plans become available

 

 

Volume Activation-KMS & MAK

What is Volume Activation?

Volume Activation is a product activation technology that was first introduced with Windows Vista and Windows Server 2008. It is designed to allow Volume License customers to automate the activation process in a way that is transparent to end users.

Volume Activation applies only to systems that are covered under a Volume Licensing program and is used strictly as a tool for activation. It is not tied to license invoicing or billing.

Volume Activation provides two different models for completing volume activations. Either or both key types may be used by customers to activate systems in their organization:

  • Key Management Service (KMS)
    KMS allows organizations to activate systems within their own network.
  • Multiple Activation Key (MAK)
    MAK activates systems on a one-time basis, using Microsoft’s hosted activation services.

 

What is the Key Management Service (KMS)?

The Key Management Service (KMS) is an activation service that allows organizations to activate systems within their own network, eliminating the need for individual computers to connect to Microsoft for product activation. It does not require a dedicated system and can be easily co-hosted on a system that provides other services.

KMS requires a minimum number of either physical or virtual computers in a network environment. These minimums, called activation thresholds, are set so that they are easily met by Enterprise customers.

  • Activation Thresholds for Windows – Your organization must have at least five (5) computers to activate servers running Windows Server 2008 or Windows Server 2008 R2 and at least twenty-five (25) computers to activate client systems running Windows Vista or Windows 7.
  • Activation Thresholds for Office – Your organization must have at least five (5) computers running Office 2010, Project 2010, or Visio 2010 to activate installed Office products using KMS. For more information about Volume Activation of Office products (that is, Office 2010, Project 2010, and Visio 2010), see the Volume Activation Quick Start Guide for Office 2010, and Volume Activation Overview for Office 2010.

 

What is a KMS Host Key?

A KMS Host Key is used to activate the KMS host computer with a Microsoft activation server and can activate up to six (6) KMS hosts with 10 activations per host. Each KMS host can activate an unlimited number of computers.

Note : Contact the Microsoft Activation Center if you require additional KMS activations for activating more than six (6) KMS hosts.

 

What is a Multiple Activation Key (MAK)?

A Multiple Activation Key (MAK) activates systems on a one-time basis, using Microsoft’s hosted activation services (that is, it requires connection with a Microsoft activation server). Once computers are activated, no further communication with Microsoft is required.

Important : Each MAK has a predetermined number of allowed activations, based on your Volume Licensing agreement. Contact the Microsoft Activation Center to increase your MAK activation limit.

You can activate licenses in one of two ways using MAK:

  • MAK Independent Activation – Each computer individually connects to Microsoft via the web or telephone to complete activation.
  • MAK Proxy Activation – One centralized activation request is made on behalf of multiple computers with a single connection to Microsoft online or by telephone. This method uses the Volume Activation Management Tool (VAMT), which is a part of the Windows 7 Automated Installation Kit (WAIK). VAMT enables IT Professionals to automate and centrally manage the Volume Activation process using MAK, and includes a check on the number of activations on the MAK.

New Google Apps Update Information

  • Google Apps Directory Sync version 3.2.1 now available
  • Email alerts for Admins
  • New URL and multiple account sign-in for the Admin console

Google Apps Directory Sync version 3.2.1 now available

A new version of Google Apps Directory Sync (GADS) is now available for download. For details about the changes in this version please go through the release notes.

Editions included

Google Apps for Business, Education, and Government

For more information
http://support.google.com/a/bin/answer.py&answer=106368

whatsnew.googleapps.com
Get these product update alerts by email
Subscribe to the RSS feed of these updates

Email alerts for Admins

Admins can now elect to receive customizable email alerts when certain events of interest occur. By subscribing to alerts, admins can stay informed and, when needed, take prompt corrective action. These alerts are also helpful when multiple admins work together and want to stay informed on these changes.

User Alerts: Generated when our systems detect suspicious or unusual login events as well as on user-level administrator actions such as additions, deletions or suspensions. Real-time alerts allow admins to review the changes and take corrective action.

Settings Alerts: These alerts are automatically generated when any change by administrators to applications, device management or service settings is detected.

These alerts are available in the Admin console under Reports > Alerts and will be OFF by default. For privacy and compliance reasons, Google Support will not be able to perform further investigation for a given alert. Admins can use the Email Audit and Admin Audit APIs to retrieve more information.

Editions included:
Google Apps for Business, Education, and Government

For more information:
http://googleenterprise.blogspot.com/2013/08/email-alerts-for-admins.html
http://support.google.com/a/bin/answer.py?answer=3230421

whatsnew.googleapps.com
Get these product update alerts by email
Subscribe to the RSS feed of these updates

New URL and multiple account sign-in for the Admin console

Get to the Admin console more easily with the new, simplified URL (admin.google.com). The admin console now supports multiple sign-in, so admins who manage multiple domains can quickly switch between accounts.

Note: The old Admin console URL (www.google.com/a/) will automatically redirect to the standard Google login page. When non-admin users from domains that use SSO try to login, they will be automatically redirected to their SSO login page.

Editions included:
Google Apps for Business, Education, and Government

For more information:
http://support.google.com/a/bin/answer.py?answer=182076

Web Atoms JS – More Markup – Less Code

Here comes just another JavaScript framework, well new complicated syntax, lots of new methods and lots of complex JavaScript files to manage? Certainly not, pain of JavaScript is real, and it is also the only option.

Mission of Web Atoms

  1. Not to Invent a New Language
  2. Use more Markup and Less Code (Less Script)
  3. Component Driven Development to increase reusability
  4. Help Existing Apache Flex developers to migrate to HTML5
  5. Integrate Features of Flex and Silverlight into JavaScript

Features

  • Declarative UI Bindings
  • Automatic UI Refresh (One way and Two way Binding)
  • Template Engine
  • Ready to use Business Controls
  • Command Chaining (Advanced MVC)
  • Private Scope Isolation for Components
  • Most Simple form of AJAX Ever (AtomPromise)

Simple Example

<div
    atom-type="AtomListBox"
    atom-items="{ AtomPromise.json('movie-list.json') }"
    atom-name="movieList"
    atom-auto-select-on-click="{ false }"
    atom-allow-multiple-selection="true"
    atom-value-path="MovieName"
    >
    <table>
        <thead>
            <tr>
                <th>
                    <input
                        type="checkbox"
                        atom-type="AtomCheckBox"
                        atom-is-checked="$[scope.movieList.selectAll]"/>
                </th>
                <th>
                    Movie
                </th>
                <th>
                    Category
                </th>
            </tr>
        </thead>
        <tbody
            atom-presenter="itemsPresenter">
            <tr atom-template="itemTemplate">
                <td><input type="checkbox" atom-type="AtomItemSelector"/></td>
                <td atom-text="{ $data.MovieName }"></td>
                <td atom-text="{ $data.MovieCategory }"></td>
            </tr>
        </tbody>
    </table>
</div>

The above code contains a List Box with set of attributes that customizes its behavior. The above sample fetches list of countries from given URL, and then it displays in the table format. Child element of List Box element is template which defines visual layout of List Box. Web Atoms evaluates expressions with $ sign and performs UI Data Binding against those items.

Binding Convention

  • A valid JavaScript Expression between curly braces {} is considered as One Time Binding and it is evaluated only once during initialization of component/element or control.
  • A valid JavaScript Expression between square brackets [] is considered as One Way Binding (UI refreshes when target data changes) and $ determines beginning of source of change.
  • A property path between square brackets [] prefixed with $ is considered as Two way binding in which Data Source is updated as well in response to user interaction.

Scope Isolation

Scope is an object store associated with UI Component or UI Control referred as AtomControl, which provides an isolated storage as per its position in UI Hierarchy. Every UI Control in Web Atoms has a property with name scope, appScope and localScope. Each property gives you access to scopes available at current Scope, Global Application Scope (Global Scope for every component to share data) and a private Local Scope. Scope and Global Scope are maintained by Web Atoms and developers can not control them, however developers can create Local Scope and every children is now part of new Local Scope and is isolated from other Scope.
By giving Name to UI Control, control and its properties become accessible through the scope.
Scope also lets you put functions in it, and different scopes never interfere with same named items. By convention, Scope initialization is written differently than conventional JavaScript.

<script type="text/javascript">
    ({
        view: 'red',
        list: [
            { label: 'Oranges', value: 'orange' },
            { label: 'Apples', value: 'red' },
            { label: 'Grapes', value: 'green' }
        ],
        display: function (item) {
            if (!item)
                return '';
            return item.label + ' are ' + item.value;
        }
    })
</script>

The above script is actually an harmless code, which does nothing when it is parsed and executed by browser. However, the library removes this script and stores it for execution on later stage. And when the controls are initialized, Web Atoms will setup scope corresponding to its position in UI Hierarchy. After setup, these values are available as $scope.view, $scope.list and $scope.display respectively. By accessing through scope property, it provides isolation needed for multi component hosting on one page.

 

Following sample illustrates use of local scope.

    <div
        atom-type="AtomControl"
        atom-local-scope="true"
        atom-abs-pos="100,100,500,200"
        >

        <script type="text/javascript">
            ({
                name: "Scope 1",
                run: function (scope, sender) {
                    alert("Called in Control with " + scope.name);
                }
            })
        </script>

        <button
            atom-event-click="{$localScope.run}"
            >Execute <span atom-text="{$localScope.name}"></span></button>

    </div>

    <div
        atom-type="AtomControl"
        atom-local-scope="true"
        atom-abs-pos="600,100,500,200"
        >

        <script type="text/javascript">
            ({
                name: "Scope 2",
                run: function (scope, sender) {
                    alert("Called in Control with " + scope.name);
                }
            })
        </script>

        <button
            atom-event-click="{$localScope.run}"
            >Execute <span atom-text="{$localScope.name}"></span></button>

    </div>

Simple AJAX (AtomPromise)

In order to provide simple interface to JavaScript promises to implement AJAX and similar asynchronous functionality, Web Atoms has incorporated AtomPromise in the property system, which lets us assign promise in simple expression, but it will do the complex event wiring automatically. In following example, you can see that we are assigning a JSON promise, and it looks like data from url is fetched and assigned to Combo Box. But in reality, we are only assigning a promise, and only if the result of promise will be successful, than actual items from the promise will be assigned in future.

The following example is pretty self explanatory that we are loading list of countries from the given url ‘country-list.json’

<select
    atom-name="countryCombo"
    atom-type="AtomComboBox"
    atom-items="{ AtomPromise.json('country-list.json')}"
    atom-value="$[scope.view]"
    >
</select>

<span
    atom-text="['Selected Country Code is ' + $scope.countryCombo.value]" >
</span>

Templates

In order to achieve true separation of Data and UI, Web Atoms comes with simple DOM Node Templates, which uses UI Data Binding to display contents. And various controls define various templates that can be easily customized by changing Style and other properties of HTML Element. By simply applying an element with atom-template attribute, element is removed from UI Hierarchy and used as template to display the data.

<div
    atom-type="AtomListBox"
    atom-items="{ AtomPromise.json('movie-list.json') }"
    atom-name="movieList"
    atom-auto-select-on-click="{ false }"
    >
    <div
        atom-template="itemTemplate">
        <button atom-type="AtomItemSelector">Select</button>
        <span atom-text="{ ($scope.item_index + 1) + ') ' }"></span>
        <span atom-text="{ $data.MovieName }"></span>
    </div>
</div>

Style Binding

Web Atoms provides extended mechanism of defining and binding individual style properties, which increases granularity of markup.

<script type="text/javascript">
    ({
        list: [
            { label: 'Orange', itemColor: 'orange', itemWidth: 100 },
            { label: 'Apple', itemColor: 'red', itemWidth: 200 }
        ]
    })
</script>

<div
    atom-type="AtomItemsControl"
    atom-items="{ $scope.list }"
    >
    <div
        atom-template="itemTemplate"
        atom-text="{$data.label}"
        style-color="#000000"
        style-background-color="{$data.itemColor}"
        style-width="{ $data.itemWidth + 'px' }"
        >
    </div>
</div>

Style binding is useful when your style is available in the form of Data. Assuming in above example, list is populated from Data.

Licensing

Web Atoms JS is licensed in the following types, please note, license is applicable to the page of the site which uses Web Atoms JS Library.

  1. Free – Attributed License – Commercial or Non Commercial – Requires a back link in bottom right corner of every page to http://webatomsjs.neurospeech.com and Requires Registration with Our Site Directory.
  2. Non Commercial – Open Source Projects – Any open source free apps built and distributed under GPL, BSD, Apache or MIT license can use Web Atoms – Requires Registration with Our Site Directory.
  3. Yearly Subscription – Site License – Single Domain that can be hosted on any number of servers with yearly subscription of $99/year.
  4. Yearly Subscription – Server License – Single Server that can hosted any number of Sites with yearly subscription of $299/year.
  5. Site Perpetual License
    • $999 per Site for hosting on One Server
    • $1999 per Site for hosting on 10 Load Balancer Server
    • $4999 per Site to host on unlimited number of servers or CDN
  6. Server Perpetual License
    • $1999 per Server to host 10 Sites
    • $4999 per Server to host unlimited sites
    • $9999 Data Center License to host unlimited sites on unlimited servers