Ryan J. Salva

Ryan J. Salva ryanjsalva Visual Studio Tools for Apache Cordova

Niner since 2013

JavaScript developer, Apache Cordova committer, Product Manager, CrossFitter, sci-fi connoisseur and whiskey enthusiast. With over a decade of experience in software development, you could exhaust two Scrabble™ bags accounting for all the acronyms and technologies Ryan has influenced, but the important thing to know is this: Ryan is a passionate storyteller with deep insight into market forces, technology, user experience and design. Today, he owns tooling for cross-platform app development at Microsoft. Tomorrow, the world.



  • Cordova Tools Update - VS Code ACE CodePush

    @Burton: It turns out that VS Code pushed an update yesterday that had a conflict with our extension. The good news is that we deployed a fix to the Cordova extension on the same day. You can find background about this issue here, or just get the update by typing ext update cordova into the VS Code command palette (invoked by Ctrl+P),


    This release is primarily bugfixes after the vscode 0.10.10 update.

    If you have a project from prior to this update, you may need to delete your .vscode/launch.json and regenerate it, or otherwise manually add "cwd": "${workspaceRoot}" to each of the entries.



  • Visual Studio Tools for Apache Cordova

    @Henry, are you running into issues with debugging TypeScript using the Ripple emulator? If so, this is a known issue (sorry!) and one we have addressed for the RTM release (yay!). If not, I'd love to get more details about the bug so that we can reproduce and fix it. You can email me and the product team at vscordovatools@microsoft.com with a description of the issue and, if possible, code samples. Thanks for letting us know.


  • Getting Started with ​Cross-​Platform Mobile Development with Apache Cordova

    @erickalves05, there's a link to download the slides immediately below the video.

  • Multi-Device Hybrid Apps for Apache Cordova

    @Smartmil8: we're actually about to release CTP 3.1 for VS 2013 in the next week or so. For VS 2015, we expect the Tools for Apace Cordova to reach RTM concurrently with VS 2015. 

  • Multi-Device Hybrid Apps for Apache Cordova

    @Jose Alberto: yes, you can use the Tools for Apache Cordova with Visual Studio Community Edition. Just install the Tools for Apache Cordova extension. From there, follow the standard conventions for whatever web service APIs you need. Just make sure that you initialize your application ondeviceready rather than onload or ondomready. Hope this helps!

  • Multi-Device Hybrid Apps for Apache Cordova

    @Jason: There are lots of great UI frameworks out there. Ionic is very popular among the Cordova community and designed to compliment Angular JS. However, it doesn't have full support for WP. Honestly -- and I'm not just saying this because I work at Microsoft; I really believe it -- WinJS provides a really terrific mobile experience. The team building WinJS has invested a lot of effort in creating a touch-centric UI framework that's impossibly fast on mobile devices for all platforms (iOS, Android and Windows). 

    @Rahul: Yes, the Tools for Apache Cordova also work on the Community Edition. 

  • Multi-Device Hybrid Apps for Apache Cordova

    @Shane Aleksic: That's pretty awesome! Glad you've had some experience with the technology. If you happen to give our tools a try, please let us know what does and doesn't work for you. You may also want to give our new Android emulator a try. It's waaaaay faster than the Android SDK emulator and comes free with Visual Studio 2015 Preview.

  • Multi-Device Hybrid Apps for Apache Cordova

    @George: if you contact the product team via email, vscordovatools@microsoft.com, we'd love to assist with your use case. Perhaps we can improve the product to make it easier for others in the future. After talking with a few of my team members, there seem to be at least three options:

    1. Plugins are the best way to inject native code – but there are limits.  Modifying the webview may not be possible with a plugin.
    2. The /res directory available in CTP3 maps to the root of the /platform directory and should give you access to overwrite the files you need, but may not survive an upgrade to a different version of Cordova. You should exercise care when upgrading to new versions of Cordova.
    3. You could continue to check-in Cordova code, though that's actively discouraged from a "best practices" standpoint.

    We look forward to hearing from you soon!

  • Multi-Device Hybrid Apps for Apache Cordova

    @gmel297: If you want to use the Tools for Apache Cordova -- which use the same underlying technology as Adobe PhoneGap, but are not the same as Adobe PhoneGap -- you can simply install Visual Studio Community Edition and select Tools for Apache Cordova from the list of optional components during setup.

    If you have any problems or questions while using the tools, feel free to reach out to the product team via email at vscordovatools@microsoft.com or find us on StackOverflow with the tag visual-studio-cordova. Happy coding!


  • Multi-Device Hybrid Apps for Apache Cordova

    @George: Hmmmm... without knowing the specifics of you project, it's hard to say. Have you tried implementing the behavior as a Cordova plugin? Hundreds of developers already create and share their plugins via http://plugins.cordova.io, so it's a pretty common and well-understood task. Each plugin consists of at least two parts: (1) a common JavaScript API exposed to the webview and (2) native code for each of the target platforms to implement the native functionality. Just remember that you'll need to write native code for each target platform using the native tools for that platform (e.g. Swift or Objective C for iOS using Xcode; Java for Android using Eclipse; C#, C++ or JS for Windows using VS). It sounds like you've got a pretty experienced team, but if you need help there are lots of tutorials out there explaining how to write Cordova plugins.

    If you absolutely need to overwrite Cordova itself, I'm not personally aware of a way -- outside of plugins -- to selectively overwrite the native code. Your approach to checking-in and modifying Cordova might be the best approach.

  • Multi-Device Hybrid Apps for Apache Cordova

    @SK Dutta: Thanks for the feedback. Cloud build services are on our radar and something we're carefully considering for the future. In the meantime, I encourage you to keep an eye on the Visual Studio Blog or follow us on Twitter @VSCordovaTools. We hope to publish a tutorial in the next month describing how you can use cloud-based services with our tools. Keep the feedback coming!

  • Multi-Device Hybrid Apps for Apache Cordova

    @NeelKhalade: sorry to hear you're having problems building. If you'd like help debugging, our product team monitors StackOverflow for questions. So far, we have a pretty good track record with answering questions and solving problems; Most get answered within a single business day. There are several amazing engineers monitoring the forums there who can help resolve your problem.

    @Oerni: I totally know what you mean about the cloud build service and Telerik does a mighty fine job with it. Rest assured that cloud build services are on our radar and we're looking for ways to enable developers like you to build without a mac on-premise.  I'll add your feedback to our backlog: +1 for cloud build.

    @PeterNL: You're totally right; I should have mentioned PhoneGap. Sometimes, when listing off great technology, we forget some of the most obvious choices.

    @Andrew C: Adobe actually has quite a few tools and services under the "PhoneGap" brand. In my experience, when most people talk about PhoneGap, they're talking about the PhoneGap build service. The PhoneGap build service uses Apache Cordova (the same OSS platform used by our tools) to build your application for iOS, Android and Windows in the cloud. When using PhoneGap build services, a developer will typically code their app locally using a text editor (e.g. SublimeText) and emulator (e.g. the PhoneGap Developer App), then push their code to the cloud where the PhoneGap build service creates native packages for each target OS.

    Using Visual Studio tools, the build happens on your local machine rather than in the cloud. This has a few advantages. For example, local build time is typically faster. Also, if you're working on a project with privacy concerns (e.g. healthcare, finance, government), you maintain complete control over your code and data. At the same time, there are a few disadvantages to local build -- namely, that you need a Mac to build for iOS and need to install a number of OSS tools on your local machine (e.g. Node, Android SDK). Of course, we try to lessen that pain by providing automatic download, install, configuration and updates of the full tool chain. But still, some folks prefer cloud build because it simplifies your local dev environment.

    @Joel: Sorry I got a little long-winded there. I really was trying to get to the code. I promise to get to the code a little faster next time :)