C++: Conformance And Cross-Platform Mobile Development

Play C++: Conformance And Cross-Platform Mobile Development

The Discussion

  • User profile image

    Great . Excellent . Phenomenal .......... Exactly what we require .... No more grade ide's. just visual studio .....love u love C++

  • User profile image

    Algesdk supports this move. Most of our pains will vanish soon !!!!

  • User profile image

    Wow! So excited with these news.
    Well done Microsoft

  • User profile image

    Really looking forward to visual studio 15!

  • User profile image

    Why no clang for Windows?

  • User profile image


    Clang just isn't quite ready for building Windows programs, but it's getting closer:


  • User profile image

    +1000000000 on "C++ IS the MOST portable language", period!

  • User profile image

    Great news! :)

  • User profile image
    Tony DaSilva

    Hi Herb. Please help me understand something. In your slide that shows C++ beneath C#/XAML, Objective-C, and Java, how does the interface(s) between C++ and those languages work/look? The same question applies to the boundaries between C++ and the mini-PALS written in those languages. You still need multi-language expertise to use the new model for cross-platform development, no?


  • User profile image

    This is really awesome!

  • User profile image
    Tony DaSilva

    One more question. Why not support GCC and Linux to cover 100% of platforms?

  • User profile image

    Good news for us!

  • User profile image

    Visual C++ for Windows, Android, IOS!
    Great!I can't belive it. Great Microsoft!

  • User profile image

    ok Microsoft, you're doing it right! just respecting. And I'm gonna adapt all your tech.

  • User profile image

    Now if they'd just support OS X. Still need a Mac to test on, of course, but I prefer a big Windows beast for development and a dual core Macbook for testing.

    LLVM-Clang can compile x86 code against the OS X frameworks, but will the VS version of clang support x86/x64 object code & its linker be capable of producing Mac binaries?

  • User profile image
    Ankit MSFT

    @Angus. Thanks for the feedback. If we go the route of supporting iOS. One choice would be to make use of XCodeTools themselves to build mac binaries. Hope that helps.

  • User profile image
    Gregor Brandt

    Embarcadero already has a CLANG based C++ compiler for 64 bit Windows. Check it out!

    (also supports OS X, Android and IOS)

  • User profile image

    Herb, there are many apps where %95+ of code is pure UI. It would be great if you address these kind of apps as well... So 100% cross-platform projects (with some trade-offs) would be great!

    You can adopt MoSync!

  • User profile image

    I'd like to suggest CppCode. It's the first and the only offline C/C++ IDE & Compiler on iOS!
    No jailbreak required, no internet connection required, no ads, free(mium) app.

    App feature list, screenshots and video on Vimeo/Youtube and even quick start at http://cppcode.info

  • User profile image

    Very interesting! What would be the difference between the new C++ compiler and a cross-platform development like Xamarin? Pros and Cons? Thank you,

  • User profile image

    ....but there is nothing similar to Embarcadero C++Builder XE7 RAD development, I wondered how long will Microsoft Visual Studio take to make it a complete RAD cross platform development tool ?

    So far, I can understand VC++2015 merely for building cross platform shared libraries but how about building native application (non-scripting language) with RAD approach eg. Form with components like Button, Textbox, Listbox ...etc ?

    I like Visual Studio IDE working environment, if VS 2015 can create something like Embarcadero C++Builder RAD tools for MacOS, iOS, Linux and Android, that is 101% perfect.

  • User profile image

    My internet is slow but still it is great to see a such a great speaker!! best is his explanation!

  • User profile image

    Hi Herb,

    Would you please post the two links that we should watch.

    Thank You,


  • User profile image
  • User profile image
    Gary Harper

    This really isn't anything new or all that exciting. It's just reducing the number of development platforms required to write code. People have been putting Windows/Mac/etc wrappers around generic C++ code for decades. Creating an ISO compliant C++ compiler isn't really a modern marvel, it's just doing what is right.

    This doesn't solve the problem that exists where there is no common user interface toolkit that works across platforms. In my case, my application's user interface is quite complex and is where I spend 90% of my time. The standard non-UI code isn't much of a chore. So, what I REALLY want is a common way to write the UI code once and be done with it. Although I am not that big of a fan of Qt, it is more in line with what I want in Visual C++, which is a way to write VISUAL applications in C++ and have them work wherever I want.

    From what I can tell here, Microsoft is pushing NON-VISUAL C++ and then .NET or something else for the VISUAL part. That isn't what I want.

  • User profile image

    Gary Harper, you may try Embarcadero C++Builder XE7, is very easy fo write cross platform UI.

  • User profile image

    I am bit confused, any different between the VS2015 Xamarin mobile development and the official Xamarin commercial development tool ?

    Please advise.


  • User profile image

    Who knew that investing my time in C++ in 1992 would pay off in 2015:) Great insight and developments.

  • User profile image

    Taking a much wider perspective while Msft support for iOS still experimental and there is no DX on OSX, Here's how we are moving towards a NonCross Platform approach,

    PPT:: Putting Cross-Platform on the CROSS 


  • User profile image

    Very interesting and exciting stuff!

    I'd like to understand more about the bindings to the platform specific layers and what exactly the C++ environment will offer.  My question is probably best explained using an example. 

    Suppose I wish to create a cross-platform application that utilises an accelerometer input device when available.  If I wish to access this on iOS then, if I was working directly in Xcode, I would just access the appropriate ObjC API directly in my C++ code.  On Android the issue would be slightly more complex as I'd need to access the functionality via the JNI.  On desktop platforms I'd need to detect the platform and alter my code path to account for the lack of accelerometer.

    In this example, how do I write generic code here?  Does this environment add generic APIs for this sort of thing?  Does it automatically provide mechanisms to give me access to ObjC, Java (etc.) and if so how does work with maintaining platform independent code?  How are these components managed, e.g. how will I deploy my generic code along with the necessary infrastructure to support the bindings.  More generally, how would platform specific deployment work at all?  Is that part of the package?  Finally, debugging.  Can I simultaneously debug the generic C++ layer built with MSVC/Clang and also debug the platform specific layers?



  • User profile image

    @Tony DaSilva: Hey Tony, there are methods to interop between C++ and all the platform specific languages you mentioned. The pattern Herb is presenting is to minimize the interop code to the UI Layer and Platform Abstraction Layers so that you can maximize the share C++ logic that can then communicate to the UI or MiniPALs in a platform agnostic fashion.

Add Your 2 Cents