Quantcast
Channel: Visual Studio Blog
Viewing all 1076 articles
Browse latest View live

Connecting and Extending Office with Microsoft Office Developer Tools for Visual Studio

$
0
0

Today, we are excited to announce the Office Developers Tools for Visual Studio 2013 – August 2015 Update. Along with the Visual Studio 2015 RTM; you can now get the latest Office development features in either version of Visual Studio.

To answer some of the questions we’ve heard around what experiences are available in each version of the tools, we’ll go over the key Office development features, how to get the latest updates for the version of Visual Studio that you use, and some pointers on how to get started.

What’s new?

With the current Office Developer Tools for Visual Studio 2013 and 2015, you can…

  • Target your apps and add-ins to Office 2016 and SharePoint Online.
  • Enable v1.1 manifests for Office Add-ins (formerly Apps for Office) to support the new capabilities in Office web apps, desktop clients and mobile/tablets.

Office Addin

O365O verview

Go to our Office Development Tools page to learn more.

How do I get the latest and greatest?

Whether you are new to the Office and SharePoint world or an experienced Office developer, our new tools are packed with features that will help you focus on solutions, while saving you time and reducing issues. Get the latest Office Developer Tools and checkout the new features for yourself!

To get the most recent version of our tools for the following products, please use the links below to directly download the tools applicable to the version of Visual studio installed on your machine:

aka.ms/OfficeDevToolsForVS2012

aka.ms/OfficeDevToolsForVS2013

aka.ms/OfficeDevToolsForVS2015

Visual Studio Ultimate 2012

Visual Studio Ultimate 2013

Visual Studio Enterprise 2015

Visual Studio Premium 2012

Visual Studio Premium 2013

Visual Studio Professional 2015

Visual Studio Professional 2012

Visual Studio Professional 2013

 
 

Visual Studio Community 2013

Visual Studio Community 2015

For those that have not installed Visual Studio, the easiest and quickest way to get started using our tools is to follow these steps:

  1. Install Visual Studio Community 2015
  2. Install Office Developer Tools
  3. Start coding!

VSOffice Addin

Learn More

To start developing with the Office platform, use the new dev.office.com/getting-started pages and learn about the Office 365 APIs and Office Add-in Model.

You can also:

If you have any questions or concerns, please let me know by leaving a comment below, through Visual Studio’s Send a Smile feature, or via Twitter @nicoleabruck.

Nicole BruckNicole Bruck, Program Manager, Office and SharePoint Tools
@nicoleabruck

Nicole is new to Microsoft and has just started as a program manager working with our Office Development Tools. Starting at the company as a developer intern in IT, she transitioned into a PM role full-time working on the Napa Development Tool and has since taking over more of the Visual Studio tooling for Office and SharePoint.


A Day in the Life of Visual Studio Send a Smile Feedback

$
0
0

Last time we talked about the Feedback Tools in Visual Studio 2015 RTM and I shared how you can send us feedback. In this post, I am going to share what happens to the feedback after you send it to us.

There are two key goals that we have for the feedback that you share:

  • Look at it as quickly as possible
  • Act on it as quickly as possible

The action taken could be any of these listed below (and I will elaborate on these in the post below):

  • Determine the problem and fix
  • Contact you to get more information, if required
  • Communicate a solution or work around to you
  • Flag it to fix in an upcoming release
  • Determine that it’s not something we will fix, and communicate the reason back to you
  • Or acknowledge that you like the product or a feature (or don’t), but haven’t filed a bug

We get a LOT of feedback on Visual Studio. To give you some idea of the volume, we have already received over 10,000 Send a Smile feedback items for VS2015 alone since we released on July 20! To ensure your feedback doesn’t get lost in this volume, we do a lot to get it to the right folks quickly!

We also get feedback from other sources including, UserVoice, Github, Stackoverflow, MSDN forums, and many other sources. We manage this feedback in a similar fashion to what comes in via Send a Smile but there are some differences. In this post I’ll share how your “Send a Smile” Feedback gets to the right people.

How do you get my feedback to the right people and what happens next?

Our job is to get your feedback to the right feature team, so they can look at it and take action as quickly as possible. To do this we:

  1. Automatically translate the feedback if it’s not in English.

  2. Use Machine Learning (ML) to identify real feedback vs spam. If for example, we see random letters or a job posting, we don’t want our engineering teams to waste time on such feedback so we filter them out.

  3. We also use ML to look at the text in the feedback and add “tags” to it. This helps us route your feedback to the right team and helps teams search through feedback items. You can help us by providing descriptive text to explain your feedback. Additionally in Send a Smile you can yourself tag the feedback.

  4. When this is done the feedback is visible to the team on our internal Feedback site and assigned a “Not Reviewed” state for the team to track.

Once your feedback is submitted, the team that owns that product area goes through all the un-reviewed feedback in the tool and looks at it for the following information:

  1. Does the text give me enough information to know where to start the investigation?

  2. Did the customer provide a Screenshot that provides more information and context about the problem?

  3. Is there a dump file, a trace file, or other information attached that might help?

  4. Did the customer provide their email address so I can contact them to get more information or details to understand the problem?

Feedback Review Tool

What happens after my feedback is reviewed?

Typically, one of the following workflows kicks in once your feedback item is reviewed.

We have all the information we need and can work on the problem and not bother you! If the information that is needed to understand a problem is all there in the feedback, the team looks at this and takes action immediately. Such feedback gets looked at and acted on faster than any other, so make sure your feedback has all the relevant information in it.

We don’t have what we need to work on the problem but we can reach you to get what we need! If all the information needed is not there but there is an email address, the team reaches out to you to get the information needed. Teams can and will act on this feedback if you respond to them with the required information but it takes longer to resolve such feedback items.

We can’t do anything. If the feedback doesn’t contain the information needed to investigate further and there isn’t an email address to followup on, then the team is pretty much stuck and can’t do anything about the feedback. These feedback items are difficult to deal with because we know someone has a problem but we can’t do anything to fix it. We often reach out to customers that have provided an email address and get no response. This leaves us in the same place as if there were no email address.

This is where you can really help us help you! The more details you can provide in the text and the more data you can provide (screenshot, dump files, repro steps, recording of the repro), the more likely we’ll be able to do something to help!

Example of Actionable / Non-Actionable Feedback

Here’s an example of good feedback that we could take action on (great description, has a screenshot and telemetry information)

Example of Good Actionable Feedback

The example below is of a non-actionable feedback item. We want to help this customer but there is nothing we can act on. There is no email address so we can’t followup. Such feedback items frustrate us as much as they frustrate you!

Example of Non Actionable Feedback

Good Feedback Checklist

Checkbox Descriptive text that tells us what the problem is, and when and where the problem occurs (include steps to reproduce the problem if you can)

Checkbox Include a Screenshot (whenever appropriate)

Checkbox Include a Dump file in case of a crash, a Profiler trace if it’s a performance issue and any other data you might have (instructions here)

Checkbox Provide your Email address so we can contact you if we need more information

Checkbox Make sure you have Windows Error Reporting enabled so we can get data on your issue.

My Feedback Has Enough Information, Now What?

Once the team knows that they have enough information then the feedback follows a few different paths.

Things don’t work! Teams look for similar feedback from many customers and group it together. Often, by having a number of different descriptions and supporting data, we can better understand and solve a problem that we might not have been able to before. This also informs us of how many customers this problem is impacting and helps us prioritize it.

If the team understands the problem and the impact, they create a Work Item\Bug to start the engineering work. Just like all development work, teams look at multiple factors and determine the priority of the problem and decide how to fix it. If the problem is low impacting and not effecting a number of customers, then the fix may come later rather than immediately.

You’ve got a great idea for Visual Studio! Our customers have some of the best ideas for how to make Visual Studio better and how to approach development in ways we’ve never thought about. We LOVE getting your suggestions! Teams group similar suggestions together to see what has the biggest volume and potential benefit to our customers (we use UserVoice feedback as well) and create Work Items for upcoming releases based on the feedback.

You just want to tell us that we got it right (Send us a Smile)! We’re just like you: we like to hear when we do something right. But you might be asking ‘What difference does it make if I send a smile?’ Actually, it makes a word of difference! When you tell us what you like, it helps us identify usage patterns and other feature aspects that are really working well for you, which in turn helps us design (or redesign) more features that behave in that way. In other words, it helps us create features that work really well from the start rather than taking a few iterations to get right.

So you look at all Feedback, Yeah Right!

This is a question we get a lot; does anyone REALLY look at my feedback? We do look at ALL the feedback (unless its spam). We have goals for each team for reviewing all of their feedback. This includes reviewing feedback within a certain number of days (usually a week) of it being logged and to resolve issues within 15 business days. Resolve, refers to a decision to fix, decision to not fix, or a decision to close the feedback item because we just don’t have enough information to investigate further. Teams are accountable for this and we track progress via dashboards that our leadership reviews on a regular basis.

We use feedback as an indicator of whether we are ready to ship the product, if we need to create a Servicing Patch, and what we need to include in the next release. Nobody wants to be surprised by problems and we want to catch these early and fix them before more customers are impacted.

What does the future hold?

So far we’ve talked about how to give us feedback and what happens with it once we receive it. In my next post I will talk about some of the ways we are thinking about evolving the tools to make it easier for you to provide your feedback, make it easy to collect and provide the data we need, see what others have reported, and find out if there are solutions or fixes to your problem. I will also share some results and ideas from the Visual Studio Feedback Survey shared in the last post.

As always, if you have any questions or problems with giving us feedback or suggestions, you can reach us by emailing Visual Studio Feedback Team.

Processed with VSCOcam with 5 presetKevin Lane, Sr. Program Manager, Visual Studio Customer Team

Kevin has been with Microsoft since 2001 working in SQL, Windows Server, Office and now Visual Studio. He drives the customer feedback tools, is addicted to talking to customers and understanding what drives them crazy.

Top Azure News for Visual Studio Developers – August 2015

$
0
0

A lot has happened on the Azure side of the house in the last couple of months. We wanted to give you some of the highlights in case you aren’t already following the Azure blog, focusing especially on items that are most relevant to developers using Visual Studio.

Using App Service Web Apps Continuous Deployment with GitHub Organizations. You might have already enjoyed the continuous deployment feature of Azure App Service when a web app is tied to a GitHub account. I know it came in very handy for the Visual Studio 2015 Product Guide, because it meant never having to think about deployment again. We’re delighted that this feature is now also available with organization repositories on GitHub!

Dependency call stack and Application Insights SDK labs. .NET developers already enjoy the capabilities provided in the Azure SDK 2.7 for .NET, which allows you to track calls from your app to external dependencies such as databases or REST APIs. The Application Insights SDK Labs is an experimental package that also lets you see where those calls originate in your apps, something that’s difficult with the current SDK.

App Insights Experimental Package dependency call stack

 

Update on .NET Framework 4.6 and Azure. Speaking of .NET, .NET 4.6 rolled out to the Azure App Service as of August 11th, 2015. This brings Azure up to date with Visual Studio 2015 RTM and the Azure SDK for .NET 2.7, so you can enjoy all the new .NET features in your web applications. For a video walkthrough check out the Channel 9 Visual Studio Toolbox video on Azure 2.7 SDK.

Transitioning App Insights from Visual Studio Online to the Azure Portal. For those of you working with Application Insights through Visual Studio Online, it’s time to move to the new Application Insight experience in the Azure portal. A post on the Azure blog provides details on the timeline and how to make the move.

Securing your pre-production environment in the cloud. Deployment slots in Azure App Service allow you to set up staging environments for an application and then easily swap them with production code. But of course it’s important to secure the staging environments so they’re visible on the web prior to release. This walkthrough on how to secure your pre-production environment shows the simple steps of the process.

Build a Mobile Data Sync Experience for Dynamics CRM with Azure App Service. Chances are, offline sync has come onto your radar recently, especially if you’re working with line-of-business apps that are connected to something like your organization’s CRM system. This article outlines the offline sync feature of Azure Mobile Services, and points you to a detailed tutorial that walks through the steps to provision an Azure backend for offline sync. It also describes how to configure Azure Active Directory and Dynamics CRM Online, allowing end users to read and modify CRM data, even when their device has no connectivity.

Application Insights Tools in Visual Studio 2015. As we’ve noted before on the Visual Studio blog, Application Insights is integrated directly into Visual Studio 2015, and this post on Application Insights Tools in Visual Studio gets you going on monitoring the performance and usage of your production applications across all types of apps on all platforms.

App Insights

 

Microsoft Azure helps transform Indian Gaming Industry. Gaming is one of the most mature areas of the app industry, where startups face the very high technical quality and complex nature of popular international games. Indeed, games seem like simply entertainment on the surface, but a great deal of infrastructure is needed to make them work seamlessly. This post on Azure transforming the Indian gaming industry describes how Azure can provide much of that infrastructure in a scalable manner, which is especially important if your game becomes a viral success.

Microsoft Invests in Subsea Cables to Connect Datacenters Globally. Finally, most of us understand the benefits that come from having a company like Microsoft manage all the details of setting up data centers and making their tremendous power available to us through a few clicks on the Azure portal. News tidbits like this report on investments in subsea cables help us understand how we benefit from even more behind-the-scenes work, or in this case, under-the-water! In short, we very much take it for granted that we can efficiently move data around the world, without giving much thought as to the processes and international partnerships that make it happen.

 

I hope you’re enjoyed this compilation of news that we believe is important to developers working in Visual Studio. Let us know if you like this format, and if there are additional areas that we might cover in a similar way.

 

clip_image004

Kraig Brockschmidt, Senior Content Developer, Visual Studio

@kraigbro

Kraig has been around Microsoft since 1988, working in roles that always have to do with helping developers write great software. Currently he’s focused on developing content for cross-platform mobile app development with both Xamarin and Cordova. He writes for MSDN Magazine, is the author of Programming Windows Store Apps with HTML, CSS and JavaScript (two editions) and Inside OLE (two editions, if you remember those) from Microsoft Press, occasionally blogs on kraigbrockschmidt.com, and can be found lurking around a variety of developer conferences.

Visual Studio 2012 Update 5 RTM Released

$
0
0

On August 24th we released Visual Studio 2012 Update 5 RTM. This update is also available for MSDN subscribers.

In Team Foundation Server 2015 we introduced a new feature Team Project Rename. This update for Visual Studio 2012 is primarily focused on the ability to update local workspaces after a team project is renamed. The Visual Studio 2012 Update 5 KB has more information on this as well as some issues we fixed.

As always, please give us your feedback, either by sharing suggestions, thoughts, and ideas on our UserVoice site, or by filing a bug through the in-product Send-a-Smile UI or the Visual Studio Connect site.

Thanks!

John

John Montgomery 2013John Montgomery, Director of Program Management, Visual Studio Platform
@JohnMont

John has been at Microsoft for 17 years, working in developer technologies the whole time.

Unity 5.2 and Visual Studio Tools for Unity 2.1

$
0
0

A few months back we announced a partnership with Unity. This makes it easier for game developers to use the rich capabilities of the Visual Studio IDE for building Unity games and to discover the tools for Unity from within Visual Studio. If you don’t already know about the Visual Studio Tools for Unity, check out the Visual Studio Tools for Unity page on visualstudio.com.

With the release of Unity 5.2 (Unity's blog post announcing Unity 5.2) and Visual Studio Tools for Unity 2.1 today, we’re really excited to share with you some of the results of this partnership.

Visual Studio is the new default Unity scripting editor on Windows

Starting with Unity 5.2, Unity’s installer on Windows will offer to install by default the free Visual Studio Community 2015 and the Visual Studio 2015 Tools for Unity.

Unity Download Assistant showing Visual Studio Community 2015 as a componant

In just a few clicks, you’ll have everything set up for you to use the rich capabilities of Visual Studio to write and debug your Unity game.

Native support in Unity for Visual Studio Tools for Unity (VSTU)

Unity 5.2 natively supports the Visual Studio Tools for Unity. Gone are the days where you needed to import the VSTU Unity Package into each and every new Unity project! Unity will automatically pick up VSTU where it is installed. Scripts will open directly into Visual Studio where you’ll be able to write and debug your Unity game.

Unity abount box showing support for Visual Studio Tools for Unity

The VSTU team worked closely with the Unity team to develop a smooth integration between the two tools. Everything just falls right into place: no package to import, no extra menu to learn, no extra configuration to figure out, and a single set of solution and project files. Everything just works out of the box when Visual Studio is set to be Unity’s script editor and VSTU is installed.

Unity installation by Visual Studio

If you have Visual Studio 2015 and you are interested in writing cross platform games with Unity using C#, we added a new project template that will install Unity and the Visual Studio Tools for Unity for you.

New project dialog in Visual Studio listing Unity under Game type projects

Launching the template will start the Visual Studio installer and install everything that is needed for you to get started working with Unity along with your favorite IDE. While everything is being set-up, I encourage you to check out this session from this year’s BUILD: Building Universal Windows Games with Unity.

Visual Studio Tools for Unity 2.1

Today we release the Visual Studio Tools for Unity 2.1, an update from VSTU 2.0 that we shipped in July, and that supports everything required for the native VSTU support to work in Unity 5.2.

Unity 5.2 requires existing VSTU users to update to 2.1. Please make sure to update VSTU and to read our documentation on the changes introduced by Unity 5.2 and VSTU 2.1.

You can download VSTU directly from Visual Studio or from the Visual Studio Gallery:

We used this opportunity to release a few important bug fixes as well, you can find the complete list in the changelog for VSTU 2.1.

As always, if you have any suggestion for VSTU, please post them on UserVoice, and if you encounter any issue please report it through the Visual Studio Connect site.

Inserting Picture...Jb Evain, Senior Software Engineer, Visual Studio Platform Team
@jbevain

Jb runs the Visual Studio Tools for Unity experience for the Visual Studio Platform team. He joined Microsoft last year as part of the acquisition of SyntaxTree, a company he founded and where he led the development of UnityVS. He has a passion for developer tools and programming languages, and has been working in developer technologies for over the last decade.

Top News for August 2015

$
0
0

Hello everyone! Every month we share some top stories from the previous month, and here’s our round-up for August.

DevOps tops the list this month! Brian Harry leads the way with his announcement on Visual Studio Online’s September pricing and licensing changes (short read: a new less expensive, tiered pricing model went into effect September 1st) , along with a refresh of the Visual Studio Online Features Timeline and his Visual Studio Online/TFS Feature timeline—the UserVoice version post. Jeremy Epling also shared Git Experiences Futures, which includes pull requests in Visual Studio, easier ways to find and review pull requests, the ability to scale to extremely large Git repositories, SSH and GitFlow support, and being able to use Git repositiories in a TFVC Team Project. And of course, Docker is becoming increasingly important for DevOps, which Adarsha Datta discusses in Docker: Containerize your startup part 1 and part 2.

Containers vs. Virtual Machines

Visual Studio Online Extensibility and Marketplace. The ability to extend Visual Studio Online is one of the most exciting features added to the service this year. In this post, Will Smythe offers an overview of how extensions work and what they can do, and shares Microsoft’s plans to launch a preview of a new extensions Marketplace this fall.

Lab Management Evolution. Since Lab Management was introduced in TFS 2010 to help development teams easily deploy and test their applications on virtual machines in their routine ALM workflows, there hasn’t been much in the way of new features. But the TFS team has been thinking about it, and here Vijay M describes how they’re thinking about Lab Management moving forward over the coming months. A big area of focus, as discussed in the post, is supporting automated and manual ALM workflows in a way integrates well across both lab management and release management.

Microsoft Azure DevOps Story. DevOps, of course, extends strongly in the Azure realm, and Goutham Upadhyaya has posted a great overview of that story with his list of favorite Azure DevOps practices. This flows beautifully into a detailed tutorial on Using continuous integration with Azure and GitHub, written by the Student Developer Evangelism Team. The tutorial shows how you can easily link a GitHub repository to an Azure web app, such that Azure will automatically deploy your commits for smooth and seamless continuous deployment. For those of us who got along for years by manually copying files over FTP or going through laborious publishing processes, this level of integration is such a gift!

The DevOps Cycle

Visual Studio Toolbox: Azure SDK 2.7. Speaking of Azure, the Azure SDK 2.7 is out, so Brady Gaster and Mike Morton spent some time with the Channel 9’s Visual Studio Toolbox to talk about the new features.

Entity Frameworks 7 Goes Cross-Platform. In early August, Rowan Miller and Seth Juarez sat down with Channel 9 to discuss The Future of Entity Framework (EF7). One of the guiding principles for that future is the ability to use EF on any kind of device. In this short video (8m 6s), Seth visits with Nate McMaster to demonstrate EF tooling on a Mac, including auto-complete features and using SQLite. And while you’re hanging out in the EF team room with Seth, check on his conversation on Migrations in Entity Framework 7 with Brice Lampson.

Seth Juarez and Nate McMaster

This Week On Channel 9: Windows 10 on 75, Windows 95 is 20, 10 by 10 for Windows 10 and more.... Wow, that’s a lot of numbers to parse, but they’re all covered (and more) on this appropriately-timed 10-minute video. And check out Josh Rennert’s post on Creating your own browser with HTML and JavaScript using the WebView control in Windows 10.

Using the Visual Studio Emulator for Android from Android Studio or Eclipse with ADT. Finally, did you know that you can now download the Visual Studio Emulator for Android independent of Visual Studio? Well, you certainly can, as John Kemnetz explains in this post. This means that once you run the installer and download the necessary images, namely the Android KitKat platform, you’ll enjoy a fast, free, and Hyper-V compatible Android emulator. John also describes how to configure Android Studio and Eclipse with ADT to use the emulator.

The Visual Studio Emulator for Android

 

To see what else we’ve shared recently, check out top news from July 2015 and top news from May 2015, along with recent posts on the Visual Studio Blog.

Enjoy!

 

clip_image009

Kraig Brockschmidt, Senior Content Developer, Visual Studio

@kraigbro

Kraig has been around Microsoft since 1988, working in roles that always have to do with helping developers write great software. Currently he’s focused on developing content for cross-platform mobile app development with both Xamarin and Cordova. He writes for MSDN Magazine, is the author of Programming Windows Store Apps with HTML, CSS and JavaScript (two editions) and Inside OLE (two editions, if you remember those) from Microsoft Press, occasionally blogs on kraigbrockschmidt.com, and can be found lurking around a variety of developer conferences.

WinTools 1.1, TypeScript 1.6 RTM, and Tools for Apache Cordova Updates

$
0
0

We’ve just released updates to several tools, along with something new for developers working with the Apache Cordova CLI.

Tools for Universal Windows apps (v1.1). This update addresses a number of key issues reported by you in Visual Studio 2015 RTM including several .NET Native fixes, an updated NuGet release (v3.2), and fixes related to the XAML designer, unit testing and the debugger. You can build and submit apps to the Universal Windows Store using these tools right away. For a more detailed list of changes in this release, see the Release Notes . To update to Visual Studio Tools for Universal Windows Apps (v1.1), you can install by using the entry in the notification hub or Extensions and Updates, or you can run the installer. If you are using Visual Studio 2015 Express for Windows, see the release notes for instructions.

TypeScript 1.6 for Visual Studio is available for Visual Studio 2015 and Visual Studio 2013, and can also be acquired via npm and as source on GitHub. TypeScript 1.6 has several significant new features and more flexible ways to use TypeScript. TypeScript 1.6 adds support for JSX/React syntax, allowing React developers to mix TypeScript code and JSX HTML-like syntax using the new .tsx file extension. In addition to compiler support, you can use the new mixed syntax in Sublime Text, Visual Studio Code, or Visual Studio. Developers have long requested abstract classes to enable authoring of uninstantiable classes with default function implementations, and TypeScript 1.6 now has them. Class expressions enable you to declare a class as you would any other expression, inline and exactly where you need it. User defined type guards allow you to create type guard functions using any type or interface. Intersection types and generic type aliases make working with types just a little easier. We’ve also added better error checking on object literals and improved the module resolution for CommonJS users. There are a lot of features in this TypeScript 1.6, and we’d love to hear your feedback.

Tools for Apache Cordova. Based on your feedback, this update of the Tools for Apache Cordova has dozens of bug fixes along with performance and reliability improvements. Enterprise customers will also benefit from a new ADAL plugin that provides straight-forward authentication for your Apache Cordova apps using Windows Server Active Directory and Windows Azure Active Directory.

Finally, the new Tools for Apache Cordova CLI (a.k.a. “TACO”) provides a way for Mac and Windows users to develop with a set of platforms and plugins validated by the Visual Studio product team. Developers can also install the native Android and iOS (Mac-only) SDKs and build tools straight from the command line. Learn more at http://taco.tools.  [9/17 note: the download has not yet been updated...we will remove this note when the release is available.]

 

clip_image009

Kraig Brockschmidt, Senior Content Developer, Visual Studio

@kraigbro

Kraig has been around Microsoft since 1988, working in roles that always have to do with helping developers write great software. Currently he’s focused on developing content for cross-platform mobile app development with both Xamarin and Cordova. He writes for MSDN Magazine, is the author of Programming Windows Store Apps with HTML, CSS and JavaScript (two editions) and Inside OLE (two editions, if you remember those) from Microsoft Press, occasionally blogs on kraigbrockschmidt.com, and can be found lurking around a variety of developer conferences.

Survey: Are you using the Tools for Apache Cordova?

$
0
0

In July, we released the first version of our Tools for Apache Cordova. Since then we’ve been busy improving the tools, focusing on issues reported by our users. We’ve also talked with many, many developers about these tools and Cordova development in general, to see how we can make the mobile development world a little bit better for you. Thanks to everyone who’s talked with us in email, over the phone, or online in the past couple months. If we haven’t talked to you yet, we’d like to – and here’s your opportunity to tell us who you are and how you’re using the tools.

In this survey (which takes only a few minutes to complete), we’re giving you the opportunity to opt-in for future user studies or 1-on-1 conversations with us around improving the developer experience for Cordova and hybrid mobile app development.

In addition to the survey, you can also reach us directly on Twitter (@VSCordovaTools), email us (vscordovatools –at- microsoft.com), or report issues on StackOverflow (using the visual-studio-cordova tag).

We look forward to talking with you soon!

Jordan 

clip_image002

Jordan Matthiesen (@JMatthiesen)
Program Manager, Visual Studio Tools for Apache Cordova

Jordan works at Microsoft on JavaScript tooling for web and mobile application developers. He’s been a developer for over 17 years, and currently focuses on talking to as many awesome mobile developers as possible. When not working on dev tools, you’ll find him enjoying quality time with his wife, 4 kids, 2 dogs, 1 cat, and a cup of coffee.


A Summer of ASP.NET: Catching up with .NET Web Developments

$
0
0

Summer 2015 has come and gone (in the northern hemisphere at least!), and four releases of ASP.NET have hit the internet in that time. With the Visual Studio 2015 release in July the team released ASP.NET 4.6, a major update for our ASP.NET frameworks and tooling. Additionally, ASP.NET 5 beta 5 was released with Visual Studio 2015 so that developers could start to explore the new development framework. With several updates to ASP.NET 5 since that date, and the introduction of the new ASP.NET web hooks tools, there are many new features and capabilities to explore. In this post, we’ll focus on the newest features for web developers.

ASP.NET 4.6 – More of a good thing

With ASP.NET 4.6, developers working with Web Forms, MVC, WebAPI, Windows servers, and Internet Information Server have the latest C# tools and compilers for their favorite platform. In addition to providing support for C# 6 and VB 14, this release also brought support for HTTP2 on compatible servers.

Async Model Binding

Web Forms developers in ASP.NET 4.6 can now write model binding methods that run asynchronously and return Task objects on pages that are marked with an async=”true” page directive. No longer will the web server block threads while it is waiting for a database call when you have model-binding code like this:

publicasyncTask<Models.Trip> GetTripFor([QueryString]string id)
{
    var tripId = Guid.Parse(id);
    returnawait dataContext.Trips.FirstOrDefaultAsync(t => t.Id == tripId);
}

Our id will be read from the querystring “id” parameter, parsed as a Guid and then passed to an Entity Framework query against the Trips collection in our dataContext. The best part is the use of the await keyword on the query will allow the operation in the database to run while the executing thread is returned to the ASP.NET threadpool.

.NET Compiler Platform

The new language features are available throughout ASP.NET, and are enabled by default when you create a new web application. If you want to add these features to a project that you are upgrading from an older version of ASP.NET, simply install the compiler platform NuGet package with the following command in the Visual Studio Package Manager Console:

Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform

Tooling Improvements

We also brought support for new web development technologies and tools to Visual Studio. Starting with 2015, the JSON editor supports JSON Schema validation and provides IntelliSense based on known schemas.

JSON Schema Validation

The editor also supports SchemaStore.org– an open source collection of useful JSON schema files. Any JSON file that has a schema associated on schemastore.org will automatically get IntelliSense and validation support.

Support is now provided for bower and npm configuration files. This gives you the IntelliSense type-ahead that you would expect and gives you package information as you key in package names:

IntelliSense for bower and npm files

 

The HTML editor has been improved as well. The editor now has a better understanding of the common double-curly brace syntax {{…}}. This ensures that inner content is not treated as HTML and marked invalid by the editor. Developers using Angular, Mustache, Handlebars, and other double-curly brace templating languages benefit from this. The editor also now understands Angular directives and attributes. You’ll see icons and helpful hints when you start typing out that ng- attribute name:

IntelliSense for Angular.js

 

The Bootstrap CSS framework receives similar treatment, with a special icon to indicate the various classes and capabilities of the Bootstrap framework, keeping them logically separated from any classes you have created:

IntelliSense for Bootstrap CSS

 

The JavaScript editor has seen similar improvements, with support for AngularJS, ReactJS, and new JavaScript language features. Try out the new code navigation bar in the editor to assist in traversing large JavaScript files. If you are working with complex JavaScript scripts, you may want to decorate them with JSDoc comments to help document their features like you do with C# and VB code. The JavaScript editor now provides IntelliSense hints for writing your JSDoc markup and supports displaying this content as IntelliSense pop-ups in the editor.

IntelliSense hints for JSDoc markup

More information about the tools and features of ASP.NET 4.6 can be found in our announcement blog post on the Web Development blog.

ASP.NET 5 betas

ASP.NET 5 is the name of the next generation web development platform that the team is working on. In addition to continuing to provide ASP.NET MVC and WebAPI development capabilities, this open-source platform promises to provide a cross-platform development and deployment experience. ASP.NET 5 projects can be developed, built, and deployed on Windows, Mac, or Linux operating systems.

The ASP.NET 5 team has released beta versions of the framework and tools every month, and has a published roadmap that they are tracking for a final release. With three beta releases over the summer, there have been a significant number of advancements in Web Development with ASP.NET.

ASP.NET 5 beta 5 shipped with Visual Studio 2015 and came with an initial set of capabilities to support development with a new version of ASP.NET MVC that was merged with ASP.NET Web API to become ASP.NET MVC 6. It supports developing web applications with Mac and Linux through the use of the open source Mono runtime. Other features include:

  • C# 6 support in Razor markup
  • A new JSON helper to assist in serializing JSON for views
  • New tag helpers like ImageTagHelper and support for binding dictionary properties

ASP.NET 5 beta 6 shipped at the end of July and brought a bunch of non-breaking framework changes to improve developer’s interactions with ASP.NET. Additionally, the SQL Server distributed cache was introduced as well as strong name support for assemblies referenced by a web project. The MVC and WebAPI packages were refactored to allow them to stand on their own, enabling developers to grab just the parts of the framework they needed without inheriting the entire MVC framework.

ASP.NET 5 beta 7 was made available in early September as a pair of downloads from www.asp.net/vnext. These downloads update both the ASP.NET frameworks (dnvm, dnx) and the web development tools in Visual Studio 2015. This was a significant release for ASP.NET because it features the first public preview of the native .NET Core frameworks for Mac and Linux. No longer is the Mono framework required to run ASP.NET with these versions of .NET Core.

Some of the additional enhancements in ASP.NET 5 beta 7 include:

  • dnx commands no longer require a directory to be specified at the command-line. You can simply execute dnx web to execute the web command in the current project folder.
  • dnu restore output has been improved to report the nuget.config files and feeds used to retrieve packages.
  • Incompatible package dependencies are reported better and appear cleaner in the Visual Studio 2015 error list.
  • The dnx command-line supports a new –framework switch to specify which .NET Framework to use.
  • When running with the full .NET Framework on Windows, the app.config file is supported.
  • You can now specify the operating system for which a dnx should be installed when executing dnvm. This allows you to install a dnx for Linux on Windows and then public that app to Linux from Windows.
  • Unit testing templates were made available through SideWaffle and the Yeoman ASP.NET Generators.

The Kestrel web server has been improving in leaps and bounds. In the beta 7 release we made a pair of performance improvements to allow chunked responses when no content length is specified and to allow write-behind buffering when writing responses to the network. We decided to make Kestrel our primary host that we will support, and discussed this in a recent ASP.NET Community Standup:

 

Tooling in ASP.NET 5 beta 7 has been improved to give a number of productivity improvements for web developers. We refactored the package search analyzer to now add only framework packages that you may be referencing when you execute a Ctrl+. hotkey.

Refactored package analyzer

 

Now when you start a project from Visual Studio, we enable the Debug Logger by default so that all Debug and higher severity messages are reported to the console. Finally, we added IntelliSense support to TagHelpers so that you can learn how to better use these extensions to the Razor markup.

IntelliSense for TagHelpers in Razor markup

A complete description of the important new features of the ASP.NET 5 beta 7 release are available on our announcement blog post.

ASP.NET Web Hooks

An exciting new extension to ASP.NET 4.6 was introduced in September called ASP.NET Web Hooks. With this new framework, you can integrate with internet services to send or receive webhooks. These webhooks are small messages that are sent between services when subscribed events are triggered on a service.

We have an extensive series of blog posts on how to configure receiving and sending webhook integration messages between web services. Check them out on the Web Development blog.

ASP.NET Community Standup

Each week the ASP.NET leadership team broadcasts a meeting where they discuss the latest features and changes to the web development framework. They take community contributions and questions, so this is your chance to have your voice heard by the team that is building the next generation of .NET web tools. Follow along with their broadcasts and review the already completed meetings at http://live.asp.net.

ASP.NET Community Standup

Summary

It’s an exciting time to be a web developer on the Microsoft application platform. With a new ASP.NET framework in open development, new compilers and features for the production-ready ASP.NET 4.6, and new innovative frameworks like WebHooks there is a lot to learn and start using. Visit www.asp.net and blogs.msdn.com/webdev to learn more about all of the latest web platform frameworks and tools.

 

clip_image018

Jeffrey T. Fritz (@csharpfritz)
Program Manager, Azure Dev Experience

Jeff is a long time web developer who survived the dot-com era. He’s been writing web applications since the 1990s and currently is the program manager for the NuGet package manager. His two pre-teen daughters think he’s the coolest because he works at the same place as the Minecraft team.

Introducing U-SQL – A Language that makes Big Data Processing Easy

$
0
0

Microsoft announced the new Azure Data Lake services for analytics in the cloud that includes a hyper-scale repository, a new analytics service built on YARN that allows data developers and data scientists to analyze all data, and HDInsight, a fully managed Hadoop, Spark, Storm and HBase service. Azure Data Lake Analytics includes U-SQL, a language that unifies the benefits of SQL with the expressive power of your own code. U-SQL’s scalable distributed query capability enables you to efficiently analyze data in the store and across relational stores such as Azure SQL Database. In this blog post I will outline the motivation for U-SQL, some of our inspiration, and design philosophy behind the language, and show you a few examples of the major aspects of the language.

Why U-SQL?

If you analyze the characteristics of Big Data analytics, several requirements arise naturally for an easy to use, yet powerful language:

  • Process any type of data. From analyzing BotNet attack patterns from security logs to extracting features from images and videos for machine learning, the language needs to enable you to work on any data.
  • Use custom code easily to express your complex, often proprietary business algorithms. The example scenarios above may all require custom processing that is often not easily expressed in standard query languages, ranging from user defined functions, to custom input and output formats.
  • Scale efficiently to any size of data without you focusing on scale-out topologies, plumbing code, or limitations of a specific distributed infrastructure.

How do existing Big Data languages stack up to these requirements?

SQL-based languages (such as Hive and others) provide you with a declarative approach that natively does the scaling, parallel execution, and optimizations for you. This makes them easy to use, familiar to a wide range of developers, and powerful for many standard types of analytics and warehousing. However, their extensibility model and support for non-structured data and files are often bolted on and harder to use. For example, even if you just want to quickly explore your data in a file or remote data source, you need to create catalog objects to schematize file data or remote sources before you can query them, which reduces your agility. And although SQL-based languages often have several extensibility points for custom formatters, user-defined functions, and aggregators, they are rather complex to build, integrate, and maintain, with varying degrees of consistency in the programming models.

Programming language-based approaches to process Big Data, for their part, provide an easy way to add your custom code. However, a programmer often has to explicitly code for scale and performance, often down to managing the execution topology and workflow such as the synchronization between the different execution stages or the scale-out architecture. This code can be difficult to write correctly, and optimized for performance. Some frameworks support declarative components such as language integrated queries or embedded SQL support. However, SQL may be integrated as strings and thus lacking tool support, the extensibility integration may be limited or – due to the procedural code that does not guard against side-effects – hard to optimize, and does not provide for reuse.

Taking the issues of both SQL-based and procedural languages into account, we designed U-SQL from the ground-up as an evolution of the declarative SQL language with native extensibility through user code written in C#. This unifies both paradigms, unifies structured, unstructured, and remote data processing, unifies the declarative and custom imperative coding experience, and unifies the experience around extending your language capabilities.

U-SQL is built on the learnings from Microsoft’s internal experience with SCOPE and existing languages such as T-SQL, ANSI SQL, and Hive. For example, we base our SQL and programming language integration and the execution and optimization framework for U-SQL on SCOPE, which currently runs hundred thousands of jobs each day internally. We also align the metadata system (databases, tables, etc.), the SQL syntax, and language semantics with T-SQL and ANSI SQL, the query languages most of our SQL Server customers are familiar with. And we use C# data types and the C# expression language so you can seamlessly write C# predicates and expressions inside SELECT statements and use C# to add your custom logic. Finally, we looked to Hive and other Big Data languages to identify patterns and data processing requirements and integrate them into our framework.

In short, basing U-SQL language on these existing languages and experiences should make it easy for you to get started and powerful enough for the hardest problems.

Show me U-SQL!

Let’s assume that I have downloaded my Twitter history of all my tweets, retweets, and mentions as a CSV file and placed it into my Azure Data Lake Store.

Preview of data in Azure Data Lake Store

In this case I know the schema of the data I want to process, and for starters I want to just count the number of tweets for each of the authors in the tweet “network”:

@t = EXTRACT date string

           , time string

           , author string

           , tweet string

     FROM "/input/MyTwitterHistory.csv"

     USING Extractors.Csv();

 

@res = SELECT author

            , COUNT(*) AS tweetcount

       FROM @t

       GROUP BY author;

 

OUTPUT @res TO "/output/MyTwitterAnalysis.csv"

ORDER BY tweetcount DESC

USING Outputters.Csv();

The above U-SQL script shows the three major steps of processing data with U-SQL:

  1. Extract data from your source. Note that you just schematize it in your query with the EXTRACT statement. The datatypes are based on C# datatypes and I use the built-in Extractors library to read and schematize the CSV file.
  2. Transform using SQL and/or custom user defined operators (which we will cover another time). In the example above, it is a familiar SQL expression that does a GROUP BY aggregation.
  3. Output the result either into a file or into a U-SQL table to store it for further processing.

Note that U-SQL’s SQL keywords have to be upper-case to provide syntactic differentiation from syntactic C# expressions with the same keywords but different meaning.

Also notice that each of the expressions are assigned to a variable (@t and @res). This allows U-SQL to incrementally transform and combine data step by step expressed as an incremental expression flow using functional lambda composition (similar to what you find in the Pig language). The execution framework, then, composes the expressions together into a single expression. That single expression can then be globally optimized and scaled out in a way that isn’t possible if expressions are being executed line by line. The following picture shows you the graph generated for the next query in this blog post:

U-SQL Query Graph

Going back to our example, I now want to add additional information about the people mentioned in the tweets and extend my aggregation to return how often people in my tweet network are authoring tweets and how often they are being mentioned. Because I can use C# to operate on the data, I can use an inline C# LINQ expression to extract the mentions into an ARRAY. Then I turn the array into a rowset with EXPLODE and apply the EXPLODE to each row’s array with a CROSS APPLY. I union the authors with the mentions, but need to drop the leading @-sign to align it with the author values. This is done with another C# expression where I take the Substring starting at position 1.

@t = EXTRACT date string

           , time string

           , author string

           , tweet string

     FROM "/input/MyTwitterHistory.csv"

     USING Extractors.Csv();

    

@m = SELECT new SQL.ARRAY<string>(

                tweet.Split(' ').Where(x => x.StartsWith("@"))) AS refs

     FROM @t;

 

@t = SELECT author, "authored" AS category

     FROM @t

     UNION ALL

     SELECT r.Substring(1) AS r, "mentioned" AS category

     FROM @m CROSS APPLY EXPLODE(refs) AS Refs(r);

 

@res = SELECT author

            , category

            , COUNT(*) AS tweetcount

       FROM @t

       GROUP BY author, category;

 

OUTPUT @res TO "/output/MyTwitterAnalysis.csv"

ORDER BY tweetcount DESC

USING Outputters.Csv();

As a next step I can use the Azure Data Lake Tools for Visual Studio to refactor the C# code into C# functions using the tool’s code-behind functionality. When I then submit the script, it automatically deploys the code to the service.

Azure Data Lake Tools for Visual Studio

I can also deploy and register the code as an assembly in my U-SQL metadata catalog. This allows me and other people to use the code in future scripts. The following script shows how to refer to the functions, assuming the assembly was registered as TweetAnalysis:

REFERENCE ASSEMBLY TweetAnalysis;

 

@t = EXTRACT date string

           , time string

           , author string

           , tweet string

     FROM "/input/MyTwitterHistory.csv"

     USING Extractors.Csv();

 

@m = SELECT Tweets.Udfs.get_mentions(tweet) AS refs

     FROM @t;

 

@t = SELECT author, "authored" AS category

     FROM @t

     UNION ALL

    SELECT Tweets.Udfs.cleanup_mentions(r) AS r, "mentioned" AS category

    FROM @m CROSS APPLY EXPLODE(refs) AS Refs(r);

 

@res = SELECT author

            , category

            , COUNT(*) AS tweetcount

       FROM @t

       GROUP BY author, category;

 

OUTPUT @res

TO "/output/MyTwitterAnalysis.csv"

ORDER BY tweetcount DESC

USING Outputters.Csv();

Because I noticed that I need to do a bit more cleanup around the mentions besides just dropping the @ sign, the assembly also contains a cleanup_mentions functions that does additional processing beyond dropping the @.

This is why U-SQL!

I hope you got a glimpse at why we think U-SQL makes it easy to query and process Big Data and that you understand our thinking behind the language. Over the next couple of weeks we will be expanding more on the language design philosophy and provide more sample code and scenarios over at our Big Data topic in the Azure blog. We’ll also dive in deeper into many of the additional capabilities such as:

  • Operating over set of files with patterns
  • Using (Partitioned) Tables
  • Federated Queries against Azure SQL DB
  • Encapsulating your U-SQL code with Views, Table-Valued Functions, and Procedures
  • SQL Windowing Functions
  • Programming with C# User-defined Operators (custom extractors, processors)
  • Complex Types (MAP, ARRAY)
  • Using U-SQL in data processing pipelines
  • U-SQL in a lambda architecture for IOT analytics

U-SQL makes Big Data processing easy because it:

  • Unifies declarative queries with the expressiveness of your user code
  • Unifies querying structured and unstructured data
  • Unifies local and remote queries
  • Increases productivity and agility from Day 1 for YOU!

Not Just U-SQL – Azure Data Lake provides Productivity on All Your Data

U-SQL is just one of the ways that we are working to make Azure Data Lake the most productive environment for authoring, debugging and optimizing analytics at any scale. With rich support for authoring and monitoring Hive jobs, a C# based authoring model for building Storm jobs for real time streaming, and supporting every stage of the job lifecycle from development to operationalization, the Azure Data Lake services let you focus more on the questions you want to answer than spending time debugging distributed infrastructure. Our goal is to make big data technology simpler and more accessible to the greatest number of people possible: big data professionals, engineers, data scientists, analysts and application developers.

Get started with Big Data processing in Azure using HDInsight, sign up for joining the Azure Data Lake Analytics Preview, and give us your feedback!

 

clip_image008

Michael Rys (@MikeDoesBigData)
Principal Program Manager, Microsoft Big Data

Michael has been doing data processing and query languages since the 1980s. Among other things he has been representing Microsoft on the XQuery and SQL design committees and has taken SQL Server beyond relational with XML, Geospatial and Semantic Search. Currently he is working on Big Data query languages such as SCOPE and U-SQL when he is not enjoying time with his family under water or at autocross.

IntelliTest for .NET - Test More with Less (effort)

$
0
0

Writing a suit of unit tests that exhaustively exercise and validate the logic of the code under test is not easy. It can even be considered too expensive to do at all. Fortunately, the IntelliTest feature shipping in the Visual Studio 2015 Enterprise Edition addresses both concerns: it helps you achieve high code coverage at a fraction of the cost.

When you run IntelliTest on your .NET code, it generates test cases by dynamically analyzing the code under test as it is running on the CLR. For every statement in the code, it crafts an input that will reach that statement, doing a case analysis for every conditional branch—if statements, assertions, and all operations that can throw exceptions—much like white box testing. The goal is to generate a test suite covering all branches of your code, and so every time it crafts an input that increases coverage, it emits that concrete value as a test case using C# and one of MSTest, xUnit.net, or NUnit as the test framework. The result is a compact suite of tests with high coverage that you didn’t have to write from scratch.

IntelliTest flow

 

Note: IntelliTest draws from the Pex project and has had several incarnations, starting off as extensions to Visual Studio. It was also called “Smart Unit Tests” prior to Visual Studio 2015 RC. Through all these changes, however, the underlying APIs and namespaces have been retained, so that expertise, and extensions, you may have built around these earlier incarnations can be leveraged; indeed, any Pex extensions you might have written in the past will likely work with IntelliTest.

Making it easier to write and maintain unit tests

Here are the problems that IntelliTest is trying to solve.

  • Problem 1: Writing an exhaustive test suite for complex code can take as much effort as writing the code under test itself. Consequently, there is temptation to avoid writing the tests, leading to test holes and a reliance on integration testing that is done after the development activity. Bugs get caught later in the development cycle (if at all), and are removed in time and space from the line of code causing the bug, which means the cost of fixing those bugs is dramatically higher than when they’re caught earlier in the cycle.
  • Problem 2: It’s challenging to maintain tests when the code under test is constantly evolving. This leads to a reluctance to create tests in the first place, leading to test holes and integration issues (Problem 1).

IntelliTest addresses these problems. It addresses code-complexity by taking a white-box approach to testing—that is, it analyzes your code as it executes and synthesizes precise test inputs to achieve high coverage. It reduces the effort in writing tests by automatically generating tests cases using these inputs and capturing any observed output from the code under test. It eliminates the challenge of maintaining a body of tests by automatically evolving the suite as the code under test evolves (when you re-run IntelliTest). It enables early detection of bugs by integrating into Visual Studio and being just a right click away, so that you can invoke it in your regular development workflow.

These problems show up as much in existing and legacy code as they do in new code. A combination of integration tests, and perhaps a few hand written unit tests (likely following the happy path), are inadequate in these contexts, and that is where IntelliTest can augment your existing testing practice:

  • Evolving existing/legacy code: Use IntelliTest to generate a safety net of tests before commencing refactoring.
  • Exploring existing/new code: Use IntelliTest to understand the input/output behaviour of the code against various data values. This can serve as a low friction introduction to unit testing.

Learning More

There is much more to IntelliTest than can be covered in this single blog post, so here are additional resources where you can learn more:

As ever, we welcome your feedback. You can leave comments on this or any of the other posts linked above, send us feedback through the Visual Studio Send a Smile feature, UserVoice, and Twitter, and pose your queries on the MSDN forum or over on Stack Overflow with the tag “IntelliTest”.

 

plakshman

Pratap Lakshman, Senior Program Manager, Visual Studio Testing Tools
@pvlakshm

Pratap works on Testing tools in the areas of IntelliTest, Fakes, Unit Testing, and CodeCoverage.

Announcing Tools for Apache Cordova (aka TACO) v1.0.0

$
0
0

We are excited to announce the first official (aka 1.0.0) release of the TACO CLI today!

Tools for Apache Cordova (TACO, for short) provides number of utilities for Mac and Windows users to develop with a set of platforms and plugins validated by our Visual Studio product team. Developers can also install the native Android and iOS (Mac-only) SDKs and build tools& also connect to the Mac remote build server straight from the command line on their Windows and Linux machines. And to top it off, our TACO CLI is 100% Cordova CLI compatible. So if you know how to use Cordova CLI, you already know how to use us!

A few weeks ago, a small number of you got a sneak peek at what we were cooking up at DroidCon (release 0.8.0). So far we have 65 unique users, 119 downloads and 18 customers signed up for our insiders program! We want to thank all those who are using our pre-release bits and providing us with your valuable feedback. Today (thanks largely to the feedback) we finished out the last of some of the features we had under development and addressed many usability and UI issues. Here are some of the top issues that we have fixed –

  • Better messaging around errors and telemetry
  • Fixed Templates for Ionic and Visual Studio interoperability
  • Fixed Dependency Installer issues for Mac

We are also actively listening to our customers and have fixed an issue reported on stack overflow with this new release.

Also, with this release, we have open-sourced our TACO CLI. If you run into any issues or have suggestions for new ones, please open an issue or better yet, send us a pull request. Learn more on how to create a pull request on GitHub.

We want invite you all to join in our journey to grow an active community of Cordova developers to build amazing apps using TACO! We want to hear from you on what you’d like to see, and maybe you are interested in testing pre-release versions of TACO before we release it into the wild. If you are interested in helping out or have ideas on what awesome features we should deliver next, please join our insiders program or post on StackOverflow. You can also ping me directly via e-mail at soak@microsoft.com. Do visit us at our TACO home page to get more details.

So, let’s get started. To install it, simply type the following into a terminal window:

npm install -g taco-cli

Note: If you are on OS X or Linux, you may need to use the sudo command to install with administrator privileges.

 

Subhag Oak

Subhag Oak, Senior Program Manager
Visual Studio Client Platform Tools Team

Subhag Oak is a Program Manager on the Visual Studio team, focusing on mobile app development technologies and Apache Cordova. Before being a PM, Subhag has worked as a developer for 12 years on a number of tooling features, all designed to make it easier for developers to build and debug applications using Visual Studio.

How Visual Studio gives Halfbrick ninja powers

$
0
0

For this post we welcome Nicholas Cornelius and Miguel Pastor from Halfbrick as guest authors on the Visual Studio Blog.

Halfbrick games, including Fruit Ninja and Jetpack Joyride, are released on multi platforms. To minimize per-platform overhead, our games are written primarily in C++ with only small portions of platform-specific code written in Java or Objective-C for Android and iOS, respectively. [Note: one can use 100% C++ on the Windows platform because it’s one of the supported languages for native app development, alongside C#, Visual Basic, and JavaScript—Ed.]

For us, it’s hugely important to minimize the time it takes for every develop-build-debug iteration. With most of the daily work happening in Visual Studio 2010 targeting Windows, however, we’ve have to contend with some big challenges. Fortunately, Visual Studio 2015 has made our process much more efficient as we’ll describe in this post.

Halfbrick development

Meeting challenges with Visual Studio 2010, ninja-style

Five years ago, Visual Studio 2010 didn’t have support for cross-platform development. To target Android, we first needed to create makefiles for the Android build system. That was tedious work, using an external process outside Visual Studio to compile for Android.

Tracking compiler errors was hard and we had to manually sync Visual Studio project files with Android makefiles. With more people joining the company and more projects kicking off, this process was impossible to scale.

With project deadlines looming, we decided to write a new Android target for Visual Studio 2010 using MSBuild. This was not an easy task because MSBuild information was scarce. It took three effort-months to complete.

Getting the building pipeline inside Visual Studio was only the beginning. Debugging was just as challenging. To debug a crash in Android, we had to rely on the old college-student standby: printf debugging. It worked, but it was slow and painful.

Because Android development was our highest priority, we decided to write a Visual Studio debugger extension for Android. Again, information was scarce and it was a big engineering task, taking three effort-months.

However, the benefits were invaluable. Engineers could test games on Android devices faster and more often and spend less time fixing crashes.

We continued improving our Android pipeline leading to faster iteration times, reduced the APK size by moving game assets to the SD card, only updating the .so files when C++ files were changed, and caching the java compilation.

It’s certainly been a long journey with Visual Studio 2010! But now we’re delighted that Visual Studio 2015 brings built-in supports for these requirements.

A New Era with Visual Studio 2015

First of all, Visual Studio 2015 had greatly improved compiling and linking times for C++ code. This makes a huge difference with a large codebase: faster iterations means higher productivity for our developers. [Details for C++ tooling improvements can be found in the Visual Studio 2015 Product Guide—Ed.]

The new memory profiling tool has also been very helpful for finding memory leaks. Previously, we had to write our own tool and write an external program to process the memory traces. Now it all works natively within Visual Studio—and it’s fast. If you haven't tried it out already, consider this our invitation!

Memory profiling tool


Visual Studio 2015 cross-compiler support is excellent. We’re able to use the Clang and GCC toolchains to build native Android binaries:

Cross-compiler support for clang and gcc


Android debugger works seamlessly, and being in open source ensures constant improvements such as Java debugging.

Java debugging

MSBuild is also open source now, making the development of new platforms for Visual Studio a whole lot easier.

The Big Win: iOS cross-compiling support

A big win for Halfbrick with Visual Studio 2015 is iOS cross-compiling support. This means that with a Mac dev machine on the network, we can compile, deploy, and debug on iOS devices directly from within Visual Studio. In short, with Visual Studio 2015 we have a single environment in which we can develop, build, and debug our apps on Windows, Android, and iOS.

iOS cross-compiling support


[For more details, see
Visual C++ Cross-Platform Mobile on visualstudio.com and the Visual Studio 2015 Product Guide—Ed.]

In Closing

At Halfbrick we believe Visual Studio 2015 is the best IDE, and we’re beginning to use its features and capabilities on a daily basis. With issues around tools, debugging, and the overall development pipeline now a distant memory, our engineers are empowered to provide best-in-class support for Windows, Android, iOS. Microsoft is also embracing open source for the cross-compiling support, which allows us to be agile in finding solutions to make our games better.

In short, because we no longer need to struggle with the tooling, we can focus our development time all the more on improving the quality of our games and the enjoyment they deliver to Halfbrick customers.

 

clip_image008

Nicholas Cornelius is the Chief Marketing Officer for HalfBrick Studios and is a digital marketing specialist with more than 10 years experience across the finance, publishing, technology and gaming industries.

image

Miguel Angel Pastor is a senior engineer in Halfbrick Studios, game developer since 1998 with heavy experience across several areas,3d graphics, low level programming and optimization technologies.

Update News: Tools for Universal Windows Apps 1.1.1, Visual Studio Emulator for Android, Tools for Apache Cordova Update 3

$
0
0

Tools for Universal Windows Apps 1.1.1: This  update, which is what you’ll get with a new installation, fixes a bug in Tools for Universal Windows Apps 1.1 where Visual Studio failed to create a package for a UWP app that uses a WinRT component. You can find additional information and installation instructions in Generating Store associated package fails for a UWP application with a WinRT component (.winmd).

Visual Studio Emulator for Android: By now, hopefully you’ve heard about the new Visual Studio Emulator for Android, which is available as a standalone download for Eclipse and Android Studio users. We recently issued an update that addresses some of your top requests, including network simulation and improved screenshot functionality. You can find all the details in Network simulation and more in the VS Emulator for Android on the Visual Studio ALM blog.

Visual Studio Tools for Apache Cordova Update 3: In this release, we improved launching the iOS debugger and made some changes to address out of memory issues with the Java Development Kit. There are also a number of bug fixes, including one that prevented Cordova projects from opening when ASP.net 5 beta 7 is installed. Lastly, we made some fixes to Windows 10 store packaging.

 

clip_image009

Kraig Brockschmidt (@kraigbro), Senior Content Developer, Visual Studio

Kraig has been around Microsoft since 1988, working in roles that always have to do with helping developers write great software. Currently he’s focused on developing content for cross-platform mobile app development with both Xamarin and Cordova. He writes for MSDN Magazine, is the author of Programming Windows Store Apps with HTML, CSS and JavaScript (two editions) and Inside OLE (two editions, if you remember those) from Microsoft Press, occasionally blogs on kraigbrockschmidt.com, and can be found lurking around a variety of developer conferences.

Now available: Visual Studio Tools for Apache Cordova Update 3

$
0
0

Three weeks ago, we released Visual Studio Tools for Apache Cordova Update 2. Last week, we introduced you to a new TACO CLI. Now we’re back with Update 3, which is automatically included when you install Visual Studio 2015. If you’re an existing user of Visual Studio 2015, you’ll receive a notification to download and install today.

This release significantly improves the tools’ stability by fixing 13 of the top issues reported on Stack Overflow. Here are three of the most notable changes reported by developers:

  • Addresses blocking issue when trying to use the Tools for Apache Cordova along with the ASP.NET 5 Beta 7 release. (First reported by “Pablo Martinez”)
    Previously, after installing ASP.NET 5 Beta 7, Cordova projects would fail when opening with an error message that says “An equivalent project (a project with the same global properties and tools version) is already present in the project collection…”
  • Deploying to Windows Phone 8 devices now works when emulators are not installed. (First reported by “ando”)
    Before this fix, Visual Studio showed an error saying that “no emulators are installed” and stopped deploying to the device.
  • When working on an app for Android devices, an issue was fixed that caused a “could not reserve enough space for object heap” error. (First reported by “SpaMobile”)
    Without this fix, an “Error occurred during initialization of VM; Could not reserve enough space for object heap” message appeared when using the Visual Studio Tools for Apache Cordova, targeting Android devices.

What’s next?

We’re hard at work already on the next update to the tools and we’ll see you back here on the blog soon. Thanks to everyone who’s been asking and answering questions on Stack Overflow (using the visual-studio-cordova tag) and we look forward to continuing to work with you there!

To stay up to date on these updates, news in the Cordova world, and more, follow us on Twitter (@VSCordovaTools). And as always, feel free to email us with your feedback (vscordovatools –at- microsoft.com), we enjoy hearing from you.

 

clip_image002

Jordan Matthiesen (@JMatthiesen)
Program Manager, Visual Studio Tools for Apache Cordova

Jordan works at Microsoft on JavaScript tooling for web and mobile application developers. He’s been a developer for over 17 years, and currently focuses on talking to as many awesome mobile developers as possible. When not working on dev tools, you’ll find him enjoying quality time with his wife, 4 kids, 2 dogs, 1 cat, and a cup of coffee.


Visual Studio 2015 Update 1 CTP

$
0
0

Today we released Visual Studio 2015 Update 1 CTP. Included, you’ll find:

  • Edit and Continue support for /BigObj in C++, which means you can now Edit and Continue while debugging Windows Store C++ projects.
  • The C# interactive window in Visual Studio and the command-line C# REPL tool:

Visual Studio C# Interactive Window

C# command-line REPL

  • Scripting APIs for C# and Visual Basic available on GitHub These APIs enable you to load and run C# and Visual Basic code as scripts in both the interactive window and REPL tool above.
  • Pull requests in the Team Explorer window. Team Explorer now features a new Pull Requests hub where you can see the list of pull requests that you’ve created, as well as the pull requests that others have assigned to them. We've also improved the Create Pull Request experience so you can publish branches and create pull requests in a single action.

Pull requests in Team Explorer

  • "Pull request required" work item policy. We now have a branch policy that requires associated work items for any pull request. Like the code reviewer and build policies, any code submitted to the branch must be submitted via pull request. When a pull request is created, the associated commits will be inspected for work item links, and if there is at least one link, the policy will be fulfilled.
  • The ability to link work items to pull requests directly, and if the pull request is directly linked to at least one work item, the policy will be fulfilled. (If no work items are linked to the pull request or the associated commits, the policy will fail.)

For a complete description of the improvements, bug fixes, and known issues in this release, see Description of Visual Studio 2015 Update 1 CTP.

As always, we welcome your feedback. Share your feedback, suggestions, thoughts, and ideas on UserVoice , through the in-product Send-a-Smile UI, or file a bug through the Visual Studio Connect site.

 

John Montgomery

John Montgomery is the Director of Program Management for Visual Studio, responsible for product design and customer success for all of Visual Studio, C++, C#, VB, JavaScript, and .NET. John has been at Microsoft for 17 years, working in developer technologies the whole time. Reach him on Twitter @JohnMont

Team Foundation Server 2015 Update 1 RC 1

$
0
0

Today we’ve released Visual Studio Team Foundation Server 2015 Update 1 RC 1 (Release Candidate 1). This is the newest version of Team Foundation Server (TFS), the collaboration platform at the core of Microsoft's application lifecycle management (ALM) solution. 

There are many feature updates in this update. Here’s a short summary:

  • Version control: use Git and Team Foundation Version Control in the same project, history and getting started improvements on the web portal, social #ID in pull requests, commit details summary is easier to read, and an improved experience for cloning Git repositories.
  • Backlogs: multi-select on all backlogs, drag any item to an iteration from anywhere, Add panel on the iteration backlog, line on the burndown indicates actual capacity, configure settings directly, add/remove users in the sprint plan, and multiple activities per team member in planning capacity for a sprint.
  • Kanban boards: query on columns, card coloring, tag coloring, inline renaming of columns and swimlanes, reorder cards when changing columns, configure settings directly, and hide empty fields on cards.
  • Work items and tasks: tasks as checklist, link to branches and pull requests in work items, task board card coloring, and limit values shown for Work Item type in queries.
  • Build: improved access control for resources, improved source control integration, usability fixes in Build Explorer, and parity with XAML builds for label sources and client-side workspace mappings.
  • Testing: export test outcome for manual tests and test result retention policy improvements.
  • Dashboards: 100% customizable with new widgets and multiple dashboards.
  • SonarQube: works for Java programs built with a Maven task, SonarQube Analysis build tasks work with on-premises and hosted agents.

This product is "go-live" meaning that you can use it in production environments. However, because this is still a pre-release, there may be some bugs that will be fixed by RTM. We will support upgrading this update from RC 1 to RTM, and further updates will require RTM.

For a complete description of the improvements, bug fixes, and known issues in this release, see the Release Notes.

As always, we welcome your feedback. Share your feedback, suggestions, thoughts, and ideas on UserVoice, through the in-product Send-a-Smile UI, or file a bug through the Visual Studio Connect site.

 

Kraig Brockschmidt (@kraigbro), Senior Content Developer, Visual Studio
Kraig has been around Microsoft since 1988, working in roles that always have to do with helping developers write great software. Currently he’s focused on developing content for cross-platform mobile app development with both Xamarin and Cordova. He writes for MSDN Magazine, is the author of Programming Windows Store Apps with HTML, CSS and JavaScript (two editions) and Inside OLE (two editions, if you remember those) from Microsoft Press, occasionally blogs on kraigbrockschmidt.com, and can be found lurking around a variety of developer conferences.

The Road Ahead for the Feedback Channels

$
0
0

In two earlier posts (Visual Studio Customer Feedback Channels and A Day in the Life of Visual Studio Send a Smile Feedback) we talked about the different ways you could send us feedback for Visual Studio 2015 and I shared what happens with your Send a Smile feedback once it gets to Microsoft. In this post, I’ll talk about how we’re thinking to make it easier to provide actionable feedback. We’ve also received all your input from the survey in the first post, and what you told us resonates with what we’ve heard from other customers. You also provided some great new thoughts about where to go next. Thank you!

Here’s what we’ve learned from your feedback:

  1. What happens to feedback is a black box. The system could use better status updates, more ongoing contact, etc.
  2. There are a lot of ways to give feedback. Although developers use all the feedback channels (Send a Smile, Connect and User Voice), it can be a confusing or bad experience.
  3. Developers usually give contact information. Most of you provide an email address for follow-up, and many of you also send a screenshot (both really help us to resolve your issues)
  4. Some folks dislike the smiley face. Among other comments I can’t share here, you’ve saidit’s distracting with the dark theme and doesn’t feel professional.

Here are also the top five important or must-have improvements we heard about giving feedback:

Stack Rank Feedback Capabilities

Other useful suggestions include:

  1. Send my Project option
  2. Easy to start profiling on my project or issue
  3. Notification via Notification center of feedback status changes
  4. Dashboard with trending feedback

In short, having the ability to browse feedback, vote on feedback items, add data to them, and discover workaround and other solutions would provide the most benefit to you.

What we’re thinking about for future Visual Studio Updates

We are still in the planning stage, of course, and we don’t have any release dates to share, but here’s a list of our top ideas for collecting feedback:

  1. Search and voting for all your feedback: Although you can currently search for any bugs you have submitted via Connect, you can’t do this for Send a Smile feedback. We’re looking at allowing you to search for existing feedback first so you can add your vote, add additional information (comments, files, etc.), and see available workarounds or fixes.
  2. Updated status and links to fixes or published workarounds for issues: We want you to see what is happening as we work on items, and easily find and download workaround or fixes once they’re available.
  3. Simplified feedback channels: We want have one place to provide feedback without having to login to Connect or decide where to provide input. We are testing feedback options to make this simple.
  4. Make it easy to record repro steps for a problem and collect the right files and logs automatically. You all know how important repo steps are, so we’ll make it easy to record the repro for a problem and to do that even if Visual Studio is hung or a dialogue is open. We’ll automatically attach the right files so you wouldn’t need to figure out those details.
  5. Notification of status changes on your feedback or when a problem is fixed: This would appear in the notification hub potentially and would let us contact you if we need more data to resolve your issue
  6. Automatically detect when there is a problem on the system, collect the right data and ask you if you want to report the problem. This would let you decide if you want to report an issue without requiring you to turn on tracing and capture the data. This would also let you know of problems that you might not be aware of.

What’s next?

The list above is pretty big and we want to get it right. We’re planning and prototyping some of this functionality and setting priorities. Your feedback has immensely helped this process, and we’ll continue to ask for your input as we move forward on the feedback tools.

As always, if you have any questions or problems with giving us feedback or suggestions, you can reach us by emailing the Visual Studio Feedback Team, vscet (at) microsoft.com. Thanks so much for taking the time to help!

 

clip_image004

Kevin Lane, Sr. Program Manager, Visual Studio Customer Team

Kevin has been with Microsoft since 2001 working in SQL, Windows Server, Office and now Visual Studio. He drives the customer feedback tools, is addicted to talking to customers and understanding what drives them crazy.

New Visual Studio Tools for Apache Cordova Documentation Site and Beginner’s Guide

$
0
0

Earlier this summer, the Visual Studio Tools for Apache Cordova moved to an open documentation model to engage developers like you to help create an amazing hybrid mobile app development experience. We believed at that time that Apache Cordova was the future of mobile development, and we believe it now as we continue investing our efforts into transitioning web developers into high-quality mobile app makers.

Part of Microsoft’s contribution to the Cordova community is the Visual Studio 2015 Tools for Apache Cordova. To give you the best possible experience with our product, we documented our tools on both the Cordova Docs Github repo, and on the MSDN site. However, having two sources of documentation has quickly become confusing and redundant. Moreover, retaining proprietary control over some documentation ill-matches our commitment to working with the open-source community.

With those concerns in mind, we have decided to move all documentation onto one central site, taco.visualstudio.com. Our process takes articles from our GitHub repo (which now contains all MSDN docs) and processes them into a sleek and navigable website.

Let’s take a tour

You can access the new site from the URL directly (http://taco.visualstudio.com/), or from the documentation link on the Cordova tools product page.

Documentation link on visualstudio.com

This link lands you on our new home page that contains all of the content that has existed on MSDN:

Home page for Visual Studio Tools for Apache Cordova documentation

A new onboarding guide for Cordova and VS beginners

In addition to existing content, the site itself features a new Beginner’s Guide in the Get Started section. This guide takes you from installation to completion of your first app, and hopefully inspires you to start exploring hybrid app development. We hope that you check it out and give us your feedback!

Getting started guide for Visual Studio Tools for Apache Cordova

Sourcing community knowledge

Speaking of feedback, each article contains a comments section where you can leave behind thoughts, feedback, questions, etc.

If you have a specific change or addition you’d like to see, we invite you to contribute to our Github repo. If you find any issues with the docs or have suggestions for new ones, please open an issue or better yet: send us a pull request. (Learn more on how to create a pull request on GitHub request on GitHub.)

If these don’t do it for you, share your feedback directly with the product team viaUserVoice, Send-a-smile, Twitter, StackOverflow, or email (vscordovatools-at-microsoft dot com).

Big plans, big future

Check back often for new content and information on our site. Periodically we will be updating the site with new walkthroughs, tutorials, and samples. We hope to make this your one-stop shop for Cordova app development.

With new developments being released regularly, soon there will be a huge array of amazing features that can help you build a beautiful mobile app using web technologies. We’re working hard over here, so stay in touch.

 

Linda Zhong

Linda Zhong, Program Manager, Visual Studio Client Tools Team

Linda is new to the Visual Studio Client Tools team, but not new to the trials and tribulations of sad documentation. She spends her time thinking about how to make the VS Cordova user experience really rock!

Microsoft Connect (); // 2015 Developer Event Set for November 18-19

$
0
0

Microsoft is a developer company, so there’s nothing we love more than connecting with developers to share our latest tools, technologies and plans for the future. I therefore invite you to set your calendar November 18-19 for Connect (); // 2015 – when Microsoft hosts its premier fall developer event, streamed live from New York City to developers around the world.

Keynotes and technical sessions will feature news, demos and insights that illustrate how developers are working with Microsoft to capitalize on their evolving roles with powerful and flexible tools that embrace today’s open environments to target Android, iOS, Linux, Windows and more.

This year’s event will demonstrate the tremendous progress we’ve made on the journey toward a new Microsoft for developers that began last year with the announcements of a cross-platform .NET for Linux and OSX available as open source and the new Visual Studio Community edition for targeting nearly every major device and OS, available for free.

Connect(); will feature a marquee lineup of speakers joining Scott Guthrie to talk code, including; Brian Harry, Scott Hanselman, Amanda Silver, Anders Hejlsberg and Beth Massi alongside many of the customers, partners and industry luminaries who are leading the shift toward mobile first, cloud first computing scenarios.

We encourage you to save the date and tune in November 18th and 19th. Additional details on the event and broadcast event can be found at http://www.visualstudio.com/connect2015.

Thank you,

Mitra

 

clip_image002

Mitra Azizirad, General Manager, Developer Platform Marketing 

With an expansive technical, business and marketing background, Mitra has led multiple and varied businesses across Microsoft for over two decades. For the last three years, she’s led the Developer Platform Marketing and Sales team, including Visual Studio Product Marketing.

Viewing all 1076 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>