FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management & SharePoint by Tim Ferro


Published on

Published in: Software, Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • In this session, we’ll take a look at what’s new for developers in Visual Studio 2013 including ALM and SharePoint.
  • Commitment to more frequent product updates shows that Build, Measure, Learn and agile development practices are being applied within Microsoft. Updates to Visual Studio Online are now occurring every few weeks.Given the higher-frequency of updates, organizations may need to make some changes to the way they evaluate new versions of development tools. There may be no “right time” to make the necessary upgrades and modify internal processes, so organizations will need to quickly match their needs with the current offering in order to make a decision. Some organizations may update as quickly as updates arrive, while others will be more selective. To help support these decisions, quite a bit of work goes into maintaining backwards compatibility with the previous major update, and different versions of Visual Studio can be installed side-by-side when needed.
  • Upon your first launch of Visual Studio, we’ll ask you to log in with your Microsoft account. If you use the account associated with your MSDN or Visual Studio Online account, we’ll be able to enable you to move seamlessly between development machines. We’ll automatically synchronize your settings, allowing you to get up and running faster. At any time you can configure synchronization settings in Tools | Options.
  • The Visual Studio Notification Center provides convenient access to all the notifications the IDE provides. It helps you to keep Visual Studio up-to-date while also keeping the notifications out of the way. The notifications icon in upper-right corner of IDE shows the number of current notifications. You can click to load the Notification Center to view all messages at any time, dismissing any if desired.
  • In this section, we’re going to take a look at investments Microsoft has made in themes and visual design.
  • One key aspect to Visual Studio is providing users with as much flexibility as possible. You’ll see places where we allow you to opt-in to features, such as the synchronization a Microsoft account enables. In others, we’ll offer the full flexibility of complete customization with some predefined options.
  • One of the most vocal feature requests we’ve had is to bring back the “Blue” theme, which is now available again. (Expect an applause break here. It will be long.)
  • Now let’s dig into some of the major performance improvements available in Visual Studio 2013.
  • Over the past year, all teams have had a major focus in improving the performance across the entire IDE. Some of the performance improvements were subtle, such as with typing and scrolling. Others were more obvious, such as addressing the underlying causes of the “Visual Studio is busy” dialogs. One major improvement you’ll see from the beginning is that solution loads have been moved to background threads, resulting in asynchronous operations that don’t hang the UI. The same is true for the build process, which allows you to continue to work before these operations are complete. It’s also important to note that many of these improvements are prioritized and driven by data from Customer Experience Improvement program.
  • Now we’ll take a look at some of the advancements in performance tools & debugging.
  • Historically, performance and diagnostics tools have been scattered throughout the Visual Studio experience. While there were lots of tools to help developers solve the problems they were facing, they were often not discoverable and often provided inconsistent experiences. With Visual Studio 2013, an effort has been made to consolidate the tools and experience in order to simplify the process of measuring and troubleshooting apps.
  • In the Performance and Diagnostics hub you have the ability to create a new session. This session can launch a new app, attach to a running app, Web site, and so on.
  • Once the app is running, you’ll get a wealth of performance and diagnostics data that can help you visualize potential issues with the application, as well as dig into all the profiling information you need.
  • Now we’ll take a look at some of the advancements in performance tools & debugging.
  • One of the great new features integrated with Visual Studio is the enhanced scrollbar. The enhanced scrollbar provides a preview of the source file that helps you find your way around your code, before you click. Many of you may already be familiar with this feature as a Power Tool, but now it’s built right in. Like some of the new features, you’ll need to turn it on via the Options dialog.Another huge focus Microsoft takes on developer productivity is around giving you access and insight into related files and dependencies, but without removing you from your context file. In the past, you could follow “Go to Definition” links ten levels deep and lose track of the files along the way, as well as the source file you began in. With the advanced Peek functionality, we’ve reengineered the experience to provide a much cleaner way of following a series of definition navigations that include breadcrumbs, and without taking you away from the context of your original file.One other item I’d like to point out is CodeLens. This is a new feature in the IDE that tracks metadata for each method and provides it in a heads-up display. It’s sort of like a “Find References” that’s always on. It also provides insight for things like test status, recent changesets involving this method, work items associated with the method, and more.
  • Different colored markers. Right click scrollbar. Wide scroll with preview.
  • 2 Images: 1 shows right click menu for Go To Definition. 2 shows definition file tab is upper left not in top right with the rest.
  • 2 Images. 1 Shows right click menu for Peek definition. 2 shows inline Peek definition with enhanced scrollbar and tab on right.
  • Multiple browsers and browser types connected to the IDE via SignalR on the back end. Update HTML/CSS in code and automatically see the updates in the browser when you save!
  • Code clones are separate fragments of code that are very similar. They are a common phenomenon in an application that has been under development for some time. Clones make it hard to change your application because you have to find and update more than one fragmentYou can either find the clones of a specific fragment, or find all clones in your solution. In addition to discovering direct copies, the clone analysis tool can find fragments which differ in the names of variables and parameters, and in which some statements have been rearranged.The code clone analyser searches for duplicate code in Visual C# and Visual Basic projects throughout your Visual Studio solution.
  • Find items related to your code without leaving the editor when you use the CodeLens heads-up display. For example, you can find references, linked Team Foundation Server (TFS) items, and unit tests – all in the same context as your code.
  • 3 Images. 1 shows references hover menu. 2 shows highlighted reference with Peek definition hover. 3 shows a code map generated via double click.
  • 4 Images. 1 shows the code history/change set by author via mouseover and last update. 2 shows Lync integration of users with VS. 3 shows complete and updated change set. 4 shows diff of the recent change.
  • 3 images. 1 shows bugs. 2 shows work items. 3 shows reviews. Also note changes.
  • Pass/Failunti tests on hover. Rerun them from the popup. See failed output onmouseover as well.
  • All of ASP.NET is a single platform, including Web-Forms. It’s more than just MVC and Web API. There is ONE ASP.NET and all of our Web Frameworks work together with similar features.There is one dialog for creating Web Forms, MVC, Web API, and SPA applications.Authorization is configurable at project creation time and will be extended with more options later.We made a simple UI for creating projects that offer support for multiple ASP.NET frameworks (Web Forms, MVC, and Web API). New features are available for Web Forms that used to be offered only for MVC, such as automatic test project creation and an intranet site template.
  • One ASP.NET means…:Unified DialogScaffolding for everyoneMVC, Web Forms, Web API togetherNew extensible Identity SystemOWIN (Open Web Interface for .NET)No ASP.NET technology “upfront decision”Mix and match any ASP.NET technology (MVC, WebForms, WebAPI, etc.) within any VS web-projectBootstrap used for layout and stylingPopular CSS layout framework for simple and consistent page layoutBuilt-in responsive design for mobile, and glyphs for iconographyHighly themeable with many themes; both free and premium availableASP.NET Scaffolding is a code generation framework for ASP.NET Web applications. Visual Studio 2013 includes pre-installed code generators for MVC, Web Forms, and Web API projects. You add a scaffold to your project when you want to quickly add boilerplate code that interacts with data models. Using scaffolding can reduce the amount of time to develop standard data operations in your project.Code generation based on your data models; targets data-driven boilerplate codeSupports Web Forms, MVC, Web API, and moreDistribution via NuGet
  • In this section, we’re going to take a look at investments Microsoft has made in themes and visual design.
  • In a more dynamic market, enterprises want their line-of-business applications to be accessible at any time from any device without sacrificing quality, agility, and time-to-market. This is why we are thrilled to announce our support for building cross-browser, mobile web clients with Visual Studio LightSwitch!The HTML5 and JavaScript-based client addresses the increasing need to build touch-oriented business applications that run well on modern mobile devices. LightSwitch HTML clients are built on standards-compliant HTML5 and JavaScript and provide modern, touch-first experiences on Windows RT, Windows Phone 8, iPhones and iPads with iOS 5/6, and Android 4.x devices.With the new SharePoint 2013 apps model, we’re also bringing the simplicity and ease of building custom business apps with LightSwitch into SharePoint / Office 365. Many enterprises today use SharePoint as a collaboration hub to better people, content, and processes. Although you can still choose to host your apps on your own or in Azure, enabling SharePoint in your LightSwitch apps allows you to take advantage of the app lifecycle management, identity, and access control capabilities within SharePoint—not to mention the business data and processes already running in SharePoint in your enterprise.
  • More new featureswith Visual Studio 2013:You no longer need to switch between Logical View and File View because all your project content is available under one view in Solution Explorer.LightSwitch projects work more seamlessly with the IDE, so using the scoping, search, and browse history features are all now available in your LightSwitch projects.You can view multiple designers at the same time. Each screen, table, and query is now opened in its own document tab. Improved team development! Each entity, screen, and query now persists in its own .lsml model file, dramatically reducing the likelihood of merge conflicts when multiple developers work on the same project. We’ve also improved compatibility with existing source code control providers. Intrinsic database management with linked database project, so you can generate reference data and make schema enhancements. Improved JavaScript IntelliSense, as well as improvements to the core JavaScript experience such as code editor and DOM Explorer enhancements. API support for refreshing data on lists and screens in the runtime app. Integration with other Visual Studio features, such as Team Build and Code Analysis.
  • Big improvements everywhere but I found that the enhancements in 4.5.1 are the biggest!
  • Edit & continue has been available for 32-bit managed code since 2005. And now, thanks to extremely popular demand, we’re excited to support 64-bit edit & continue. It works exactly the same as it does for 32-bit apps, and supports virtually all the same scenarios. When working with ASP.NET Web application projects, just be sure to enable it in the Project Properties dialog.[Click for Image]And now we’ll never have to see this warning ever again.
  • Now you’ll also be able to get memory dumps from managed code running in production and debug that memory in Visual Studio. For memory leak analysis, you can get a “before” memory dump as a baseline and then an “after” dump to compare it with.
  • Some people have been asking for the Return Value in the debugger.
  • Visual Studio 2013 also enables return value inspection so that you can see what your methods return without having to debug outside the method itself. This is very useful when dealing with callbacks or other places where it’s difficult to debug outside your own code.[Click for Images]The return values will be available via the Autos panel or the $ReturnValue macro.
  • Debugging async code with Visual Studio 2012 could be a real challenge. While it’s easy to work within the imperative aspects of the code itself, all the undercover magic that happens to enable simplified codebases had not yet been exposed in a way to make tooling easier. One of the most difficult challenges for developers involved understanding the virtual call stack that occurred to get them to the place they were debugging. Thanks to the .NET Framework 4.5.1, Visual Studio 2013 provides a much more robust async debugging experience that works across many types of applications. This includes key enhancements to the Call Stack and Tasks windows.
  • [Click for image]
  • [click for images]
  • Applications, and the associated set of user expectations, have evolved significantly over the past few years. Applications are expected to run on many different platforms, data is expected to be readily available, and social tools built in. In addition, as business needs and technology continues to change rapidly, developers need to be able to quickly deliver value to customers and integrate feedback.
  • Repurpose the same skills and resources for both LOB apps and Modern apps.Also need ability to target multiple other platforms beyond .NET (Xamarin/ITR Mobility)
  • Managing releases can be a significant challenge. The requirements come from a broad array of sources, and can have technology teams asking a lot of questions. The kinds of questions they come with are “How do we elegantly shift from long release cycles to monthly, or even daily?” Other times, they want to know “How can we help set customer expectations about when bug fixes and feature requests go live?” So many people need to plan their tasks around the release cycle, so teams want to know “How can we make sure everyone understands the release pipeline so they can do their jobs?” And sometimes, there are legal or governmental pressures around compliance and regulation, leading to questions like “How can we feel confident we’re properly tracking, managing, and approving our releases?”.
  • Build-Measure-Learn was coined in “The Lean Startup”, by Eric Ries. Although the discussion in the book is primarily focused on startup environments, aspects of it can be applied generally to help deliver value quickly. The main idea here is that agility can be achieved by iterating quickly through these high-level steps.The ALM capabilities of Team Foundation Server and Visual Studio help organizations through four different stages – Planning, Development, Release and Operations.
  • In this presentation, we will demonstrate each of these steps in more detail while highlighting the new features and capabilities of Team Foundation Server and Visual Studio 2013, as well as some of the highlights from the 2012 updates.
  • When you look at the application lifecycle as a whole, Microsoft has delivered considerable value over the past year. Since the release of Visual Studio 2012, the focus on providing a more efficient experience for development team members of all disciplines has already begun to deliver great dividends.
  • Another important aspect to each release environment is what we’ll refer to as the “stage stack”. This is a simple layout of the steps typically required to get a packaged app from a build location out to a prepared environment, through the necessary install and configuration, through the required tests, and finally approved for migration to the next stage. Microsoft has provided many of the tools to support this stack, although sometimes a little extra work is required to help it all work together.[Build]Lab Manager is available to help provision environments.[Build]PowerShell is ideal for configuring environments.[Build]There are some useful built-in tools for deploying and installing the application itself.[Build]And lots of companies invest in their own custom tools to configure applications.[Build]Running automated tests during the release process is becoming the standard for applications of every type.[Build]Microsoft Test Manager handles the testing aspects.[Build]And now with Release Management for Team Foundation Server 2013, this entire process is only going to get better.
  • InRelease is a continuous deployment solution for .NET teams. It helps automate the deployment process and helps teams manage multiple environments. It also introduces a level of collaboration cross the release process, as well as providing an array or analytics and reporting. It was originally launched in 2009 and was acquired in the summer of 2013.
  • InRelease technology will ultimately be transformed and integrated into Team Foundation Server. The release management authoring components will be included in Visual Studio Test Professional, Visual Studio Premium, and Visual Studio Ultimate. Everything needed to participate in a release process will be included in the Team Foundation Server CAL. Server components will be integrated into Team Foundation Server 2013. The deployers (which are required for each node you deploy on) will continue to be licensed separately.
  • One major benefit of the new Release Management Server for Team Foundation Server 2013 is that it provides all the automated deployment goodness we were discussing earlier.
  • It also ensures that the deployments are pushed out the same way to all stages.
  • Not only does it automate the overall workflow, but it provides the ability to automate approvals where necessary, such as early phase deployments. You can still keep manual approvals for deployments deeper in the release cycle.
  • Finally, the whole process is recorded so that you can enjoy full traceability throughout the process. This is extremely valuable in scenarios where there are strict compliance requirements for legal or other reasons.
  • Let’s take a look at how the new release management infrastructure fits into your development environment.[Build]First, you’ll deploy Release Management Server.[Build]Next, you’ll install deployment nodes on the target systems in your deployment environments.[Build]You can then configure Release Management Server to pull builds from TFS and push them out to the specified environment.[Build]There is also a client app and Web UI that allow users to interact with the release management, workflow, and reporting features.
  • To initiate a release, Release Management Server leverages your Team Foundation Server (TFS) source control and build automation. There are many ways to take advantage of this, such as by triggering a build from Release Management Server using a label or build actions. You can also use TFS build definitions to filter out builds to deploy for manually triggered releases. TFS build definitions can be leveraged to configure components and calculate the drop locations. The TFS API is also available to define TFS connections to deploy components from different TFS servers, and TFS groups can be used in the security configuration.
  • Release Management Server provides valuable insights into the entire release process. Armed with relevant and timely information, managers can achieve greater efficiencies by monitoring for continuous improvement. For example, you can keep track of the trend in releases, the amount of traffic in the release pipeline, any possible bottlenecks, and even get performance insights.
  • When something fails during the deployment process, it can often be difficult to track down exactly what went wrong. And even once the issue is discovered, there is often a lag in communication for letting other people who what happened. With Release Management Server, there is much greater traceability and transparency for the entire process.
  • Combining all new trends and themes, a new cloud app model has been added to Office and SharePoint 2013. Apps you create are web-based and on industry standards using familiar and common tools and technologies. Apps appear as an integrated part of Office and SharePoint if you choose, or can be built as stand-alone sites that interact with Office and SharePoint, consuming the services and functionality they provide.You maintain complete control over how you publish and manage your apps—either privately or publicly, it’s up to you.
  • Apps consist of two components: an app definition, or manifest, and a web application that usually forms the bulk of the app’s functionality and user interface.The app model offers much flexibility for how an app is hosted. You can host on-premises in SharePoint or Office client applications, or use Azure or Office 365 hosting. You can have Office 365 automatically provision your site or you can create an Azure website with full control to host your app. Apps support Office Web apps as well as traditional Windows client applications.Apps are essentially web applications. If you know how to build a web application, you know how to build an app for SharePoint. Prior to Visual Studio 2013, you were able to create apps for SharePoint with an ASP.NET Web Forms project application. Now, in Visual Studio 2013, you can choose between ASP.NET Web Forms and ASP.NET MVC for your project application.
  • SharePoint and Office are natural business platforms to build and create rich content, based on data and services from many sources.Apps can create experiences that easily use those services and data. And you can choose flexible hosting options to support your requirements whether on-premises or in the cloud—or even a hybrid mixture of both.Apps really add the composition element of the rich services that SharePoint and Office now make easy to consume—services + data + composition = appsImportant: Common App model for Office and SharePoint!
  • And finally, in this new common app architecture, underpinning it all, are the development tools you use to create, compose, and publish apps.
  • “Napa” Office 365 Development Tools is a developer experience centered on the idea of developing on the cloud. Witha developer Office 365 account, you get access to a development environment from your browser and the ability to create projects you can save and open later. You can virtually code from any machine without having to install or download anything.“Napa” was created as a “getting started” tool for developing apps for Office and SharePoint. We wanted to provide a lightweight companion to Visual Studio to help users get familiar with the apps for Office and SharePoint model with the least amount of friction. Besideproviding a web-based development experience, we guide users and help them find the right resources to build their first apps for Office and SharePoint so they can become accustomed to the new Cloud App Model.Napa provides a text editor in the browser that allows creation of webpages, JavaScript, and other content to build the app’s functionality. You can then easily run the app via the browser which will deploy and host it automatically either in Office or SharePoint.Of course, in parallel with “Napa,” you can still continue to use the existing extensibility models for Office and SharePoint, like VBA, COM, VSTO, and SharePoint solutions. (However, please note that these cannot be submitted to the new Office Store.)And if more capabilities are required than Napa provides, it’s easy to open the solution in Visual Studio and continue development there.VS 2013 provides many benefits such as visual designers for webpages, debugging, and the ability to add SharePoint content to apps such as lists, workflows, and custom actions to extend the SharePoint UI.VS capabilities examples:DebuggerSupport for composing apps for Office and SharePointSupport for additional deployment topologies (i.e. server code)ALM tools (SCC, Work Items, Profiler, etc.)Additional SharePoint items (Lists, UI/UX Custom actions, Workflow, etc.)Beyond these benefits VS2013 provides full ALM tooling for testing, source code management, and deployment, as well as profiling tools for SharePoint.
  • An app for SharePoint (new model since SharePoint 2013) is a small, easy-to-use, stand-alone productivity application that solves a specific end-user need and is related to SharePoint (consuming SharePoint resources, sharing the same security context, and registering it in the apps catalog). It is based on a new application model that shares a common approach for extending Office and SharePoint. This new app model is built on web technologies like HTML, CSS, JavaScript, REST, OData, and OAuth. If you’re a web developer, you can use your existing skills to build apps and take advantage of familiar tools, languages, and hosting services. You can deploy, update, and maintain your apps faster in the cloud and, finally, publish and sell your apps in the Office Store, or distribute IT-approved apps within your organizations by using a corporate app catalog.This unified app model applies to the following types of applications:Apps for SharePoint Server 2013 and SharePoint Online in Office 365Apps for Office (applies to Office 2013, Office 365, Project Professional 2013, Word 2013, Excel 2013, PowerPoint 2013, Outlook 2013, Outlook Web App, Excel Web App, and Exchange 2013)We’ve also made several improvements in the Office Developer Tools. With Visual Studio 2013, the apps for SharePoint template now provide the option of using MVC5 and include starter code for getting up and running with an MVC Web Application that integrates with SharePoint. We’ve also improved the experience of developing with an Office 365 developer site.  Developers can now debug workflows in an app without needing to install SharePoint and Workflow Manager on their local machine. 
  • Apps in SharePoint can take several forms depending on whether and how you want to integrate them with SharePoint itself.Full page apps provide you with full control over the browser, you can build a stand-alone website that simply integrates with SharePoint, or you can inherit the SharePoint chrome and branding to allow your app to fit in with SharePoint’s look and feel that’s familiar to your users.If you want to create a more integrated user experience, app parts enable you to embed your app in an HTML iframe in a SharePoint page. In this way, app parts just appear part of the page, even though their content is potentially coming from a separate web server on another platform.The third app shape option is to create extensions to SharePoint including adding your app to the ribbon or a custom action on a list item, for example. As with app parts, extending the SharePoint UI in this way is seamless and allows your app to appear as part of SharePoint, not separate from it.Visual Studio 2013 provides templates to create apps with each of these shapes for you so you can focus on what the app does instead of how it does it.
  • Because apps are web-based, they can, and often do, reside outside of your SharePoint environment, even outside your corporate firewall. SharePoint provides three principal app hosting options—two cloud-based and one on-premises.Provider hosting enables you to use your own infrastructure, hosted on or off premises, to host your app. Remember an app is simply a server-side capability to service web requests, returning HTML, CSS, JavaScript, and so on with the client-side being the user’s browser. In this way, you can use any web server you choose such as Windows Azure web sites or on-premises LAMP-based web servers to service the app requested from SharePoint.Auto-hosted apps use automatically provisioned infrastructure in Windows Azure. Auto-hosting is the easiest to get started but offers the least control out of the three options. While it is hosted on Azure, you have no access to the environment, for example, to scale up the number of available web servers.SharePoint hosting is for on-premises usage, requiring you to have a SharePoint environment to deploy your apps to. A welcome change in SharePoint 2013 is that you no longer need a full local SharePoint instance to develop against and can instead just install Visual Studio and the Office and SharePoint developer tools to build apps.
  • Office Developer Tools for Visual Studio 2013 provides many great features to help you build apps for Office, apps for SharePoint, and SharePoint farm and sandboxed solutions.If you’ve been working on Office or SharePoint development using the Office Developer Tools for Visual Studio 2012, you’re probably familiar with usingthe Web Platform Installer acquisition experience to get the tools. With Visual Studio 2013, you’ll get all those features without taking any extra time to download and install the tools—it’s all included in Visual Studio 2013. What’s more, the team also introduced more new features in this release to provide even better assistance when you build apps for Office and SharePoint.
  • Using Visual Studio, the full power of the SharePoint and Office platforms are made available. Although it’s possible to create apps just using Notepad, or a simple editor such as Napa, often more capability and control is needed for sophisticated applications. The Office Developer Tools for Visual Studio let you create SharePoint and Office apps without requiring a local installation of either SharePoint 2013 or Office 2013. Instead, apps can be created using the full power of these environments, such as authoring workflows and remote event receivers. These can then be deployed to an on-premises SharePoint farm, to Office 365 using the auto-hosted capabilities providing an “F5” experience, or even to web sites in Azure that you provision and manage yourself.And of course Visual Studio provides the ability to debug apps. You can use the Visual Studio Profiler to profile SharePoint apps to find performance problems and bottlenecks. And you get rich test capabilities such as unit testing and Fakes.
  • You have different ways to create a cloud-hosted app for SharePoint. Choose what you want to create your cloud-hosted app.Creating a Cloud appOption 1 > New app wizardTo create your app, choose the “App for SharePoint 2013” template.In the wizard that pops up, you can configure common properties for your app. The wizard allows you to specify which SharePoint server you want to use for debugging. The final option in the wizard allows you to choose the shape of your app and where it gets hosted;SharePoint-hosted,Auto-hosted, orProvider-hosted.Option 2 > Add event to SharePoint-hosted appIf you add any app events or remote event receivers, this operation will add a newweb project, converting the SharePoint-hosted app into cloud-hosted app.Option 3 > (show picture) Convert any web project to App for SharePoint/Office.You can choose any existing web project and convert it to a cloud-hosted app.
  • Combine rapid application development with the power of apps.LightSwitch enables rapid creation of business applications through its user interface and data manipulation features. LightSwitch has been extended in Visual Studio 2012 to also support the new SharePoint app model. This makes it possible to turn an HTML LightSwitch application into an app that interacts with SharePoint with the same hosting options as a regular app.The advantages to this support are that the productivity features of LightSwitch can be leveraged with the app model in SharePoint to quickly create powerful business apps.
  • LightSwitch apps appear in SharePoint just like apps you build with Napa or Visual Studio and are launched just by clicking on them. SharePoint provides you with a way to manage apps centrally, control their usage, and handle app deployment and upgrades.And with LightSwitch, the theme of using what you know continues, building on top of web protocols and standards to allow you to easily create LightSwitch projects targeted at SharePoint by turning them into Sharepoint apps.
  • As well as theSharePoint app model, you can also use the Office 2013 app model. Apps for Office enable support in most Office applications such as Excel, Word, Project, and Outlook. The app model provides the apps you create with access to contextual information, such as a document being edited or email being viewed. This enables your app to manipulate the document or read its contents and use it to fetch related data from the Internet, for example, and display it alongside the document in your app.It is also possible for an Office app to access data from a SharePoint app (such as lists, libraries, or BCS connections) using the OAuth protocol implemented across the app model.
  • Apps for Office share the same app architecture as the apps for SharePoint you’ve already seen. Remember that apps consist of two primary components—a web server that hosts and provides the app experience, and the app definition or manifest including SharePoint-deployed artifacts such as lists, site columns, and content types.Apps for Office are no different, but instead of offering only a browser-hosting option, apps can be hosted in Office client applications as well.
  • Visual Studio 2013 brings a large number of new features and enhancements to SharePoint developers to improve the quality of their SharePoint solutions. Test features for SharePoint solutions: Load, Web Performance, and Coded UIWeb Performance Tests => Record tests and then run an analysis against your SharePoint servers or web farms Load TestingStress test your SharePoint solutions simulating high user loadsLoad tests are based on web performance testsCoded UI testsSimulate user interaction against SharePoint solutionsValidate functionality and behavior of your application’s user interface Unit Testing: Fakes and SharePointBecause of SharePoint runtime dependencies, it has been difficult up until now to write good unit tests.With the new fakes framework you can stub out dependencies and provide your own implementations of them loaded with test data, thus making unit testing a snap. Unit Testing: While developing, you can more easily find errors in your code by performing unit testing, in which you write and run test code inside test methods. These methods contain Assert statements that you can use to verify the logic and functionality of your project based on the SharePoint object model.Support for Microsoft Fakes Framework: Traditionally, writing unit tests for SharePoint was difficult, as there was not an easy way to mock or fake SharePoint executions. Now, the Microsoft Fakes framework support allows you to write unit tests that stub-out the SharePoint dependencies required.Microsoft Fakes is an isolation framework in which you can create delegate-based test stubs and shims in .NET Framework apps. By using the Fakes framework, you can create, maintain, and inject dummy implementations in your unit tests.SharePoint Emulator: The SharePoint Emulator builds upon Microsoft Fakes framework. Maintaining mocks or fakes for a complex and interdependent API like SharePoint can be daunting. SharePoint Emulator reduces the barrier to faking SharePoint by providing a library of fakes for many of the core and common types in the SharePoint API.IntelliTrace Support in SharePointWith IntelliTrace for SharePoint, using the standalone collector, we are able to collect data about a SharePoint application while it’s executing to help developers diagnose errors. The collected data is referred to as IntelliTrace events. These events let developers step back in time to see what happened in an application while it executed on a separate server, related to exceptions, errors, etc. This provides the ability to open an IntelliTrace file collected on a server without Visual Studio, such as test, stage, or production. IntelliTrace operates in the background. When you want to look back at a past state of your application, you can use the IntelliTrace collector. With this tool, you can navigate to various points in time where events of interest have been recorded. Continuous Integration support uses Team Build and Team Foundation Service. Profiler Support in SharePointSharePoint projects now support the VS profiler. This is designed to home in on performance problems fast—right down to the lines of code.Find hotspots and performance issues fast. You don’t need to ‘over-optimize’ or use guesswork anymore—get the facts and fix your application— fast.Profiling + unit testing = better code that runs better with few defects due to better coverage. 
  • To stay up-to-date with the latest information on Visual Studio, please check out these sites.
  • FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management & SharePoint by Tim Ferro

    1. 1. Senior SharePoint Developer / SharePoint Architect Senior Software Engineer at RDA Corporation Author / Speaker / Blogger / Tweeter 7 Years Architecting and Developing SharePoint Solutions timothy.ferro@gmail.com www.timferro.com @timferro
    2. 2. Book Technical Editor: You Don’t Know JS: Scope and Closures White Paper Author: Utilizing and Visualizing Geolocation Data for Powerful Analysis
    3. 3. Visual Studio 2013 .NET 4.5.1 Application Lifecycle Management MSDN SharePoint Solutions
    4. 4. Visual Studio 2012 Launch Visual Studio Online Visual Studio 2012 Update 1 3-week service delivery sprints Frequent updates for on-premises/boxed products DevOps capabilities with System Center 2012 SP1 September 2012 October 2012 November 2012 January 2013 Visual Studio 2012 Update 2 March 2013 Visual Studio 2012 Update 3 June 2013 Visual Studio 2013 November 2013 Visual Studio 2012 Update 4 Visual Studio 2013 Update 1 March 2014
    5. 5. Sign into the IDE with your Microsoft Account Move seamlessly between your machines Synchronize settings across your devices Get up and running faster
    6. 6. Keep Visual Studio up-to-date Easily determine what’s important Address later One common location
    7. 7. Solution load IDE startup Responsiveness Improvements are driven by data from Customer Experience Improvement program
    8. 8. One launch point for all profiling tools
    9. 9. Auto brace completion Move lines up and down Enhanced scrollbar New Navigate To experience Peek CodeLens Code Map enhancements Find Dialog integrated into editor Solution Explorer enhancements New project templates And so much more…
    10. 10. Web Forms Websites Web-pages Single-Page Apps MVC Web API SignalR Services
    11. 11. No “upfront decision” on any ASP.NET technology Unified dialog One Project: Web Forms, MVC, Web API Add any framework to any project Scaffolding works across all frameworks Configurable authentication Bootstrap used for layout and styling Templates based on Bootstrap.js Popular CSS layout framework Many themes available Completely new scaffolding system for One ASP.NET Web application code generation based on your data model Targets data-driven and CRUD boilerplate code
    12. 12. Client & Device • Async – for UI responsiveness • Windows Store apps -- WinRT • Windows Phone apps • .NET CF 3.9 Web & Cloud • Async – for server scaling • ASP.NET MVC4 • ASP.NET Web API • ASP.NET Web Pages • Entity Framework Code-First • WebSockets • SignalR • Windows Azure Cloud Services 4.5 Support • Windows Azure Web Sites Fundamentals • .NET Async (async + await) • Many new async APIs • WinRT interop • Multi-core JIT • MPGO – NGEN hot/cold splitting • Performance improvements • Reboot and reliability improvements to setup • Support Windows RT GC • Background GC • LOH heap balancing • LOH fragmentation reduction • GC low latency mode • GC awareness of NUMA and >64 processors • >2GB arrays (or objects) Libraries • Portable libraries update • .NET Core Profile (Windows 8) • Extension methods for WinRT streams and async • NuGet • Immutable collections • Async for .NET 4 • HttpClient for Portable
    13. 13. Number 9 all time requested feature on UserVoice! Works exactly the same as for 32-bit applications Client (WPF, WinForms, etc.), Store and ASP.NET WAP projects are supported For WAP projects, need to enable Edit & Continue in Project Properties
    14. 14. Now available for .NET! Access via Autos window or in the Immediate window ($ReturnValue) Can expand return value in the debugger
    15. 15. Common question: How did I get here? Supported for Store Apps, Web apps, Desktop apps in W8.1 Enhancements to the Call Stack and Tasks window Visual Studio 2012 Visual Studio 2013 Visual Studio 2013
    16. 16. Provide reliable connection to Azure SQL DB Automatically retry/reconnect broken connection Provides great experience for connected devices It Just Works! No code or configuration changes other than installing .NET 4.5.1
    17. 17. Enables low latency, high density web sites for on-prem/private cloud Shipping as part of IIS 8.5 in Windows Server 2012 R2 Preview Provisioned through the Idle Worker Process Page-out capability in IIS Early Results from our Performance Lab
    18. 18. In IIS Settings, set Idle Time- out Action to Suspended
    19. 19. Performance data from our test labs Minimize application startup time on multi- core CPUs Now supported for ASP.NET web sites Enabled automatically for ASP.NET apps 15% improvement for cold startup
    20. 20. During .NET 4.5 we released two components via NuGet: MEF (Microsoft.Composition) for web and Windows Store apps TPL Dataflow (Microsoft.Tpl.Dataflow) These (and new packages) are treated as any other .NET 4.5 component, i.e. are fully supported .NET (“in box”) System Composition TPL Dataflow Http Client Async Immutable Collections
    21. 21. One-stop shopping for all of your .NET Framework NuGet packages released by Microsoft In Visual Studio 20[10,12,13] On the Web
    22. 22. Application Lifecycle Trends
    23. 23. SERVICES HTML5 Modern Apps Companion Mobile Direct-to-Customer LIGHTWEIGHT SERVICES LOB Apps Systems of Record Heavy-Duty Data Entry
    24. 24. Microsoft’s Visual Studio Vision
    25. 25. ALM Your Way
    26. 26. Xamarin/ITR Mobility Cloud Mobile Testing
    27. 27. More frequent releases Customer responsiveness Stakeholder transparency Compliance & regulation
    28. 28. Plan Develop OperateRelease
    29. 29. REQUIREMENTS OperateConstruct WORKING SOFTWARE
    30. 30. Plan REQUIREMENTS BACKLOG RELEASE OperateConstruct WORKING SOFTWARE Develop Operate Agile portfolio management Team Room Git CodeLens .NET memory dump analyzer Visual Studio and System Center integration Build | Measure | Learn Integrated release management Collaborate Kanban customization Work item tagging Release Performance events Continuous value Load testing as a service Configuration-based deployments Work item charting
    31. 31. A continuous deployment solution for .NET teams History
    32. 32. Release Management Client for Visual Studio 2013 is available with: Release Management Server for Team Foundation Server 2013 Microsoft Deployment Agent 2013
    33. 33. Automates deployments DEV QAINT PRODTFS
    34. 34. Deploys the same way to all stages DEV QAINT PRODTFS
    35. 35. Automates workflow DEV QAINT PRODTFS
    36. 36. DEV QAINT PRODTFS Full traceability
    37. 37. TFS Drop Location RM ClientRM Web QA DEV RM Server
    38. 38. Software and services for production use Primary Development/Testing Tool Visual Studio Professional Visual Studio Test Professional Visual Studio Premium Visual Studio Ultimate Visual Studio Team Foundation Server 2012 and one CAL Team Foundation Service Microsoft Office Professional Plus 2013 Software and services for development and testing Windows, Windows Server Windows Azure $100/month $50/month $100/month $150/month Microsoft SQL Server Microsoft Office Microsoft Dynamics All other servers (such as SharePoint and Exchange) Windows Embedded Additional benefits Technical support incidents 2 2 2 4 4 Priority support in MSDN Forums Priority support in TechNet Forums Windows Store and Windows Phone developer accounts1 Office 365 Developer Subscription1 Microsoft E-Learning course collections (typically 20 hours each; per calendar year) 2 1 1 2 2 MSDN Magazine MSDN Flash newsletter MSDN Online Concierge Special offers from Microsoft and partners 1 One-time 12 month benefit
    39. 39. MSDN Platforms TechNet Professional Target Audience IT Pros setting up dev/test environments IT Pros evaluating software Licensing • Design, develop, test, demonstrate or evaluate • Cloud use rights • Evaluation only Purchase channel VL only Retail (primary channel) and VL Benefit differences • Azure monthly credits • Team Foundation Server & Service • No Office • MSDN and TechNet forums priority support • No Azure monthly credits • No Team Foundation Server & Service • Office for Evaluation only
    40. 40. Improved Benefit Credits for MSDN subscribers Reduced Friction for Dev/Test Usage Cloud Use Rights for MSDN Software Microsoft Confidential
    41. 41. STANDARD: MSDN PRICE: SAVINGS: MSDN Dev/Test Rates
    42. 42. 3 VMs for 16 $100PER MONTH $150PER MONTH $50PER MONTH $10 0PER MONTH
    43. 43. $100PER MONTH 80 20 $150PER MONTH $50PER MONTH $10 0PER MONTH
    44. 44. $100PER MONTH 50 10 $150PER MONTH $50PER MONTH $10 0PER MONTH
    45. 45. $100PER MONTH Up to 100 web sites + $150PER MONTH $50PER MONTH $10 0PER MONTH
    46. 46. > PowerShell
    47. 47. http://channel9.msdn.com/Blogs/cdndevs/CloudForDevTest
    48. 48. App App manifestWeb page <XML>HTML/CSS/JS
    49. 49. Characteristics Online web application App’s server-side hosted by autonomous Web Server or Windows Azure Integrated and supported by SharePoint Supported by any browser (potentially) Document management integration SharePoint resources integration News in VS 2013 MVC5 support for apps Improvements when publishing apps to Windows Azure Websites Remote Debugging of Workflows against an Office 365 developer site
    50. 50. Implement complete app experiences to satisfy business scenarios Create app parts that can interact with the SharePoint experience Add new commands to the ribbon and item menus
    51. 51. Get remote events from SharePoint. Use CSOM/REST + OAuth Bring your own server hosting infrastructure Windows Azure + SQL Azure provisioned automatically as apps are installed SharePoint web Your hosted site SharePoint web Azure Reuse web elements (lists, out-of-box web parts). Client-side technologies and declarative workflows Host web App web (from WSP)
    52. 52. Included in Visual Studio 2013! Supports cloud app model Develop against Office 365 or on-premises Rich tooling support for app artifacts
    53. 53. New project wizard Add event to SharePoint-hosted app Convert a web project to app
    54. 54. What’s new in VS 2013: msdn.microsoft.com/en- us/library/vstudio/bb386063(v=vs.120).aspx Visual Studio blog: blogs.msdn.com/b/visualstudio/ Visual Studio Toolbox on Channel 9: channel9.msdn.com/Shows/Visual-Studio-Toolbox MSDN ALM: msdn.microsoft.com/en-us/library/vstudio/fda2bad5(v=vs.120).aspx http://channel9.msdn.com/Blogs/Breakpoint/ep1
    55. 55. Get further information on .NET http://www.microsoft.com/NET http://msdn.microsoft.com/en-us/dn338450 http://msdn.microsoft.com/en-US/vstudio/aa496123 http://www.microsoft.com/visualstudio/ http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-Studio-2013-Preview