Follow Slashdot stories on Twitter


Forgot your password?
Programming Microsoft Open Source

Microsoft Adds Node.js Support To Visual Studio 197

shutdown -p now writes "Coming from the team that had previously brought you Python Tools for Visual Studio, Microsoft has announced Node.js Tools for Visual Studio, with the release of the first public alpha. NTVS is the official extension for Visual Studio that adds support for Node.js, including editing with Intellisense, debugging, profiling, and the ability to deploy Node.js websites to Windows Azure. An overview video showcases the features, and Scott Hanselman has a detailed walkthrough. The project is open source under Apache License 2.0. While the extension is published by Microsoft, it is a collaborative effort involving Microsoft, Red Gate (which previously had a private beta version of similar product called Visual Node), and individual contributors from the Node.js community."
This discussion has been archived. No new comments can be posted.

Microsoft Adds Node.js Support To Visual Studio

Comments Filter:
  • by fisted ( 2295862 ) on Thursday November 21, 2013 @03:18PM (#45483821)
    ...does it even Clippy?

    Won't purchase without.
  • by stewsters ( 1406737 ) on Thursday November 21, 2013 @03:20PM (#45483843)
    I'm sure the NodeJs hipsters running the latest flavor of Linux with custom desktops will close out their sublime text and immediately wget that.
    • If I had the mod points.....
      This describes my friend perfectly. I will say though, he's a way better programmer than I am.

    • Microsoft has been scaling back the use of internally. The groups I've talk to use it mostly to talk to the database, and do everything else in Javascript.

      Apparently there are some groups at Microsoft who have gone all the way and are now using Javascript everywhere.
      • by batkiwi ( 137781 )

        It depends on what you mean by "".

        Over the last 3 years has evolved from "gui controls you compose on a page with TONS of overhead" to "a lightweight framework that looks a LOT like spring". What most people who have used in the last 10-12 years think of as is basically dead. [] for example. Many people us this and knockoutjs for dotnet based web projects.

  • Does anybody have dollars to bet against my donuts that they will require the use of proprietary keywords and extensions?

    Doing anything else would be so bizarre for Microsoft.

    • If it was compiling down to .NET, there would probably be some completely optional extensions to make use of the .NET framework (mostly, adding interoperability with other .NET languages). As is, I don't even know about that. I have no particular use for Node.JS myself, but I do like having more languages and frameworks supported in VS.

    • There is no proprietary keywords and extensions involved here. It works with the standard V8-based Node.js implementation from [] In fact, that doesn't even come in the box, so you have to download and install it separately.

      • That's the 'embrace' part. They have been a little better about standards lately though, so you never know.

        • by shutdown -p now ( 807394 ) on Thursday November 21, 2013 @04:33PM (#45484567) Journal

          (disclosure: I am a developer on PTVS and NTVS team)

          I would hope that the track record of our particular team with Python Tools would speak for itself here - it's been out there for two years now, with 2.0 released last month, and it was and remains all about standard Python. While it does support IronPython, for example (but also Jython, PyPy, and other third party implementations), CPython remains the primary target because that's what the community uses, and our goal is to attract developers from said community to VS, Azure, and other Microsoft platforms and products, not to hijack their language/framework of choice.

          The story with NTVS is similar: it's all about making VS a compelling choice for Node.js developers without forcing a Microsoft-top-to-bottom stack on them (which no-one would accept, and rightly so). In that sense, it is in line with Azure offering Linux VMs, or the ability to write Node.js-based Azure push notification services for Windows and Windows Phone.

          • Yes, your team has a great track record, but unfortunately Microsoft has the worst in the business, or at least very close to it. You've got to expect some suspicion.

            • by shutdown -p now ( 807394 ) on Thursday November 21, 2013 @04:47PM (#45484703) Journal

              Sure, karma is a bitch. In fact, part of what we're trying to do as a team is to turn it around, both the external perception as well as internal company understanding on openness - not just open source, though that as well, but generally working together on common things, and purging the NIH and the "we must be in charge" syndrome.

              It's not just us, too - it has been a growing thing in the developer division, in general, with a lot more stuff being open sourced, and a broad change of attitude from a single monolithic take-it-or-leave-it stack, to going where the people already are and supporting what they already do. You might have noticed some other glimpses of that if you've been following the general news on MS dev story, e.g. with a renewed effort on C++ standard conformance, or a lot more attention to JS and HTML5.

              • by Nerdfest ( 867930 ) on Thursday November 21, 2013 @04:54PM (#45484761)

                The developers may want to have a word with the legal/patent department if they're looking for goodwill from the developer community at large. What Microsoft is doing with the Android patents is up there with SCO. They also teamed up with Appple as 'Rockstar' for some of the worst patent abuse around, and lobbied against the current patent reforms. It's going to be a big job.

                • Not nearly as bad as what Google/Motorola have been doing with theirs, namely h.264 crap.

                  • I think it was just Motorola when that started, but regardless; even if they're insisting on some ridiculous value to their patents or something, at least they're not making people sign an NDA to have a look at what they're being threatened with. I'm still amazed that that sort of thing is legal.

                    My understanding is that it's just a court decision on the F part of FRAND, but I haven't followed it closely.

                    • by shutdown -p now ( 807394 ) on Thursday November 21, 2013 @06:23PM (#45485619) Journal

                      My own personal take on software patents (which is obviously my own only, does not represent the opinion of my employer in any way, blah blah etc) is that they can play a useful role, but they should be significantly scaled down in terms of what you can patent. Complicated algorithms, like, say, MP3 or H.264 or other compression stuff - probably yes, since that takes real time and effort to develop. But I'd love to see the "one click" patents die a fiery death. Some laws that would require non-discriminatory licensing for useful patents for interoperability and standards compliance purposes would also be great.

                      So EFF gets part of my paycheck every year. Ironically enough, it qualifies for MS donation match program, so they match it dollar for dollar. ~

                • If you are concerned not about the product but the actions of those associated - but not directly involved with - the team who made the product even when those actions have nothing to do with the product then which company provides products you do use? It can't be Microsoft or Apple or Google or Canonical or Amazon or pretty much any company.

                  I buy the argument that you don't want to support the actions of companies engaging in the sort of behavior you find reprehensible and that is valid but really the appr

          • Can you do PHP next? Thanks.

  • Please, for everyone's sanity, stop it with the JavaScript crap; it's a terrible language, a terrible platform for applications, and supporting it is just prolonging it's Reign of Terror. (this is why we still have flash).
    • by Anonymous Coward on Thursday November 21, 2013 @03:34PM (#45483985)

      When you get all browser makers to agree on a new language to use we can stop with JavaScript.

    • by TiggertheMad ( 556308 ) on Thursday November 21, 2013 @03:36PM (#45484009) Homepage Journal
      If you know of a better client side web scripting language that has wide spread browser support, we are listening.

      nothing? Yeah, I thought so....
      • Re: (Score:3, Informative)

        by Tridus ( 79566 )

        Not really sure what that has to do with Node.js applications deployed to something like Azure. How many browsers are going to be running that?

        I know I can think of things I'd rather do than inflict Javascript on myself in more places than I have to.

      • by Dahamma ( 304068 )

        ActionScript! ;)

      • by devent ( 1627873 ) on Thursday November 21, 2013 @05:06PM (#45484851) Homepage

        If the W3C would make a byte code standard to access the DOM then nobody would use JavaScript and rather port any other language to use the byte code. Much like for the JavaVM there are numerous languages available (about 25 languages), for example C, Python, Ruby, and new languages like Scala, Groovy, (and about 30 other languages). The JavaScript code is compiled and re-arranged for faster execution to a byte code language that is run under a Virtual Machine anyway.

        The question of whether I know a better client side web language is moot because there ain't no choice. Other then of course plug-ins or add-ons to the browser. It's like asking is there any better gaming operation system then Windows... (at least I can install Linux and run some Linux games that are better then Windows games).

        • If the W3C would make a byte code standard to access the DOM

          I'm not saying they're worthless, far from it, but the W3C has shown themselves incapable of making a proper standard.

          The HTML5 debacle and the WHATWG formation sort of made it official. The W3C buys into the abstraction layer nonsense and perpetuates it to the detriment of our industry. Remember: Web 2.0 was fully embraced by W3C.

          HTML5 & CSS3 transforms & canvas elements are still not being fully utilized. There are many simple HTML5/CSS3

      • Server side scripting.

        There was a day when web servers were expected to do the heavy lifting instead of offloading everything to client browsers. And somehow, they were able to afford this kind of outrageous web server horsepower without inundating visitors with advertising.

        We've come a long way.
        • The cost of round trips between client and server are still way too high for a lot of stuff, especially when you want smooth UI. Remember those horrible forms which reloaded the page (to show a different set of controls) when you changed selection in some combobox?

      • by ADRA ( 37398 )

        Who said anything about client-side? Nod.js is server side JS, which IMHO is pretty dumb unless you're doing it for user front facing DSL's (which its awesome for).

    • "please don't make me learn how to use Javascript properly"

      • by lgw ( 121541 )

        Yeah, that C-to-JS compiler is a pain to work with, please don't make me.

      • Yeah, it's so great that it'll allow you to just decide to use some member variable somewhere without declaring it and making it impossible for someone maintaining it to know that it even exists. Or the fact that there's no way to know the type of a variable without basically reverse engineering the source code in its entirety.
        • by royallthefourth ( 1564389 ) <> on Thursday November 21, 2013 @04:58PM (#45484799)

          it's so great that it'll allow you to just decide to use some member variable somewhere without declaring it

          Undeclared variables are implicitly global. A code inspector will warn you about mistakes like that!

          there's no way to know the type of a variable

          It should be clear from the way it's used or by the documentation (if it exists). This is true of not only Javascript, but every dynamic language. If that's not good enough, use one of the readily-available and straightforward debuggers. Another quick approach is to just console.log(var)

          • by vux984 ( 928602 )

            Work arounds to flaws in the language do not make it a better language.

            It should be clear from the way it's used

            Except when it isn't.

            or by the documentation (if it exists)

            You know it won't.

            This is true of not only Javascript, but every dynamic language.

            JavaScript is worse than others. In part because its used by some of the lowest common denenominator programmers. "script kids who copy-pasta shit together".

            You don't give people with the least discipline or skill at programming a language that has the least

            • I have to note that there is a fairly big difference between the broad JS community, and the much narrower and more elitist Node.js community.

    • it's a terrible language

      Yeah? It has many of the language features of a first class dynamic language. There are better languages, but what is it about JavaScript as a language (I don't care what you think about how it's used on specific websites) that you find objectional.

  • Ok, here's a cool little tip that many will enjoy. A couple of days ago I discovered that there is actually a registry setting [] to turn off the silly uppercase menus. Enjoy.

    While we are at it, can we also have a SuppressDamnSlowStartupAndSluggishUserInterface flag? The other day a teacher of mine intended to open a C file which was part of MicroC/OS-II, into Notepad++. However VS owned the filetype association and the guy was like " can I make this stop??" when VS fired up and was running tha

    • by JLennox ( 942693 )

      That's like taking a harrier jet to your mailbox and complaining the engines take forever to warm up.

      If you want to peek the contents of a text file, open it in a text editor. It'll be a while when using xcode^H^H^H^Heclipse^H^H^H^H^H^Hvisual studio.

      Also, SSD.

    • VS loads very slow the first time you run it after installing (because it runs first-time initialization code for all packages), and also after installing a new package. But, once primed, it should be pretty fast. Not as fast as Notepad++ or something similarly lightweight, but no more than a few seconds, and certainly no eternal progress bars.

  • It looks like this is only supported on VS2012 and VS2013 Premium (and up) editions.
    • That is correct. Please vote [] for the feature request to provide a version that would run on some free VS edition (Express or Shell). We already have such a thing for Python Tools, but it would require some more effort with NTVS, and it would help a great deal if we can show numbers proving strong community demand for such a thing.

  • It has retard sense unless you use resharper.

  • OK, I might get fried for this, but I'm a daily VS2012 V#/MVC 4 Mobile web programmer and I have no clue what Node.js is all about or why they are excited about it.

    I looked at the site and have not a clue WTF it's supposed to do. Anyone got a translation of what in the hell their buzzspeak means?

    "Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and effi

    • by KlomDark ( 6370 )

      V# should have been C#

    • jQuery is about JavaScript running on the server side - in the browser. Node.js is about JavaScript running on the server - instead of C#/ASP.NET. The "event-driven, non-blocking I/O model" basically means that all APIs that are normally blocking are instead done asynchronously, with you having to provide a completion callback every time you call one - so threads are never blocked waiting for I/O. For a C# developer, this is basically very similar to all the new stuff about System.Threading.Tasks and async/

      • by KlomDark ( 6370 )

        Uh, why would one want to run JavaScript on the server? Makes perfect sense in the browser for cross-browser compatibility, but on the server? Why would anyone but JavaScript purists want to do that?

        In the .NET world it is C# on the server, JavaScript on the client, AJAX tying the two together - asynchronously.

        This is as dumb as using the code-first model for Entity Framework - Just a crutch for people who don't want to learn what they need to learn.

    • by narcc ( 412956 )

      jQuery is a shitty Javascript library that, on the client side, slows down websites, increases development time, and generally makes cross-browser scripting impossible. It's worse than useless.

      Node.js is essentially Javascript without the browser, plus a few extras. There are various [] uses [] for it. It can be handy, but it's far from the panacea it's made out to be by its proponents.

      They're quite different. The only similarity I can come up with is that both are over-hyped.

Why won't sharks eat lawyers? Professional courtesy.