Firmware Updates Hit Surface Pro 3 and Surface 3



  • https://msdn.microsoft.com/en-us/library/windows/apps/mt244352.aspx

    Windows Runtime components
    Learn more about these self-contained objects that you can initialize and use from any language, including C#, Visual Basic, JavaScript, and C++. For example, you could create a Windows Runtime component in C++ that uses a third-party library to perform a computationally expensive operation, or simply reuse some Visual Basic or C# code in your Universal Windows app.

    As a non programmer, I'm not sure if this is relevant - but I thought (again could be wrong) that the runtime here is what is important for the app working on different platforms?



  • @Dashrender said:

    There's Old native (C++ and .NET) new native (also called Universal by MS) (no idea what languages written in) and HTML5 (which is a webhosted, not locally run app).

    I always mean locally run. Web hosted or locally run is the same thing, though. Not sure what you are picturing. It's just one is stored locally and one is not. Web server is just a file server. So imagine if you were saying mapped drive or not.



  • @scottalanmiller said:

    @Dashrender said:

    There's Old native (C++ and .NET) new native (also called Universal by MS) (no idea what languages written in) and HTML5 (which is a webhosted, not locally run app).

    I always mean locally run. Web hosted or locally run is the same thing, though. Not sure what you are picturing. It's just one is stored locally and one is not. Web server is just a file server. So imagine if you were saying mapped drive or not.

    is that because the browser does all the work? It doesn't require a server component to do computations?



  • @Dashrender said:

    @scottalanmiller said:

    Windows has: Native apps (C++ and .NET) and HTML5 (Universal)
    Android has: APK and HTML5 (Universal)
    iOS has: Obj-c/Swift and HTML5 (Universal)

    All three have the same two options... native and universal.

    Why do you see Windows has unique of the three?

    Because I think there there are.

    There's Old native (C++ and .NET) new native (also called Universal by MS) (no idea what languages written in) and HTML5 (which is a webhosted, not locally run app).

    Now I'm going to have to look into that.

    It drove me about crazy, but we did finally get somewhere.

    OH, you are talking not about apps that can run across devices, you are talking about ones that share the same App Store.

    Windows Universal the product name, isn't universal like HTML5. You still need to write for each device. You can't take an app from Universal from the phone to the desktop. That's universal, not Universal. Universal is a new Microsoft brand for something nothing like you are describing. Mac and Android ecosystems are universal, meaning they can run apps designed to be universal, on either platform. Microsoft Universal can't do that at all (unless they use HTML5 like the other two can.)

    http://www.windowscentral.com/what-is-a-universal-windows-app

    It's totally just marking a brand experience for the store. It's not a change in the code.



  • @Dashrender said:

    @scottalanmiller said:

    @Dashrender said:

    There's Old native (C++ and .NET) new native (also called Universal by MS) (no idea what languages written in) and HTML5 (which is a webhosted, not locally run app).

    I always mean locally run. Web hosted or locally run is the same thing, though. Not sure what you are picturing. It's just one is stored locally and one is not. Web server is just a file server. So imagine if you were saying mapped drive or not.

    is that because the browser does all the work? It doesn't require a server component to do computations?

    That's correct. HTML5 apps have always run in the browser. By definition they have to. That's the only place that HTML5 can run. All HTML5 apps run in the browser. Many need an Internet connectino to do something useful, but you can say that about many normal apps too. But you can make a video game in HTML5, for example, that has no server component.

    Remember that for app development, you normally make the apps on your desktop and run them by clicking on them, not by having a server to run them from.



  • @Dashrender said:

    https://msdn.microsoft.com/en-us/library/windows/apps/mt244352.aspx

    Windows Runtime components
    Learn more about these self-contained objects that you can initialize and use from any language, including C#, Visual Basic, JavaScript, and C++. For example, you could create a Windows Runtime component in C++ that uses a third-party library to perform a computationally expensive operation, or simply reuse some Visual Basic or C# code in your Universal Windows app.

    As a non programmer, I'm not sure if this is relevant - but I thought (again could be wrong) that the runtime here is what is important for the app working on different platforms?

    Actually it turns out that the apps don't even run across different platforms. A runtime like Java would do that, but doesn't here.



  • Here is the info from the explanation page:

    Universal Windows apps – What they aren’t

    Universal Windows apps involve a lot of backend improvements for developers that encourage development on Windows Phone and Windows 8. They are not, however, completely the same in terms of code; nor does it mean that developers can just push a button to make those apps on either platform (though it is close!). Developers will still need to code for one, share the code for another platform, and do some fine-tuning and optimization.

    So app development across Windows and Windows Phone is easier, but it's not exactly the same either. We’ll skip the gory details about app development, coding, shared libraries and such things, but that’s the take away here.

    For instance, the new app Movie Maker 8.1 is a universal app. That means for those who bought the Windows Phone version, the Windows 8.1 app will be ‘free’ because Venetasoft can now enable such a feature through shared publishing resources. But if you noticed, the Windows 8.1 version is not yet live, because it needs some final polish before going to the Store. If it were ‘the same app’, you could get it now.

    Likewise for Movie Moments and Reading List, which are both universal Windows apps that were just released today.



  • @scottalanmiller said:

    Here is the info from the explanation page:

    Universal Windows apps – What they aren’t

    Universal Windows apps involve a lot of backend improvements for developers that encourage development on Windows Phone and Windows 8. They are not, however, completely the same in terms of code; nor does it mean that developers can just push a button to make those apps on either platform (though it is close!). Developers will still need to code for one, share the code for another platform, and do some fine-tuning and optimization.

    So app development across Windows and Windows Phone is easier, but it's not exactly the same either. We’ll skip the gory details about app development, coding, shared libraries and such things, but that’s the take away here.

    For instance, the new app Movie Maker 8.1 is a universal app. That means for those who bought the Windows Phone version, the Windows 8.1 app will be ‘free’ because Venetasoft can now enable such a feature through shared publishing resources. But if you noticed, the Windows 8.1 version is not yet live, because it needs some final polish before going to the Store. If it were ‘the same app’, you could get it now.

    Likewise for Movie Moments and Reading List, which are both universal Windows apps that were just released today.

    This is exactly as I already understood it to be. Though I admit to stating it more plainly... but the end goal for MS is to have a write once, publish everywhere type of ecosystem for apps that make sense one both platforms (desktop and mobile). though I'm sure it will always require that the dev make specific tweeks for display, etc based on platform.



  • @Dashrender said:

    Though I admit to stating it more plainly... but the end goal for MS is to have a write once, publish everywhere type of ecosystem for apps that make sense one both platforms

    No, that's not what this is saying. This is not "write once, publish everywhere." That's exactly what this is saying that this is not. You still have to change the code for each platform. The whole point there was that isn't what you thought that it was.



  • Here is a line: "Developers will still need to code for one, share the code for another platform, and do some fine-tuning and optimization."

    That's what we have without the universal platform. iOS and Mac OSX share languages and tools. When you write an app you have to choose for it to go to iOS or OSX. What makes it "not universal" is that you have to have the code produce two different outputs to run.

    The universal HTML5 system does not require this. It is write once. Just like Java. One code.

    The Windows system is no different than the Mac one and as Mac has been since iOS first released - the resulting application is not universal at all. We already had the minor tweaks bit, they are just pointing out that it hasn't changed.



  • In theory APKs will even run on ChromeOS. It's a bit dirty, but no emulation or anything.

    https://www.maketecheasier.com/running-android-apps-on-linux/



  • From that Microsoft page, the Universal Apps only have access to a limited about of the Win32 API. So they can't do all of the things that normal desktop apps can do:

    Win32 APIs in the UWP

    A UWP app or Windows Runtime Component written in C++/CX has access to the Win32 APIs that are part of the UWP. These Win32 APIs are implemented by all Windows 10 device families. Link your app with Windowsapp.lib. Windowsapp.lib is an "umbrella" lib that provides the exports for the UWP APIs. Linking to Windowsapp.lib will add to your app dependencies on dlls that are present on all Windows 10 device families.

    For the full list of Win32 APIs available to UWP apps, see API Sets for UWP apps and Dlls for UWP apps.



  • @scottalanmiller said:

    From that Microsoft page, the Universal Apps only have access to a limited about of the Win32 API. So they can't do all of the things that normal desktop apps can do:

    Win32 APIs in the UWP

    A UWP app or Windows Runtime Component written in C++/CX has access to the Win32 APIs that are part of the UWP. These Win32 APIs are implemented by all Windows 10 device families. Link your app with Windowsapp.lib. Windowsapp.lib is an "umbrella" lib that provides the exports for the UWP APIs. Linking to Windowsapp.lib will add to your app dependencies on dlls that are present on all Windows 10 device families.

    For the full list of Win32 APIs available to UWP apps, see API Sets for UWP apps and Dlls for UWP apps.

    Again, I felt that I knew this - what I did wonder was, what functionality was gone from this Universal method? And would it cause people to not want to program in it?



  • @Dashrender said:

    Again, I felt that I knew this - what I did wonder was, what functionality was gone from this Universal method? And would it cause people to not want to program in it?

    My guess is... not a lot and only people making complex stuff. But it will keep old apps from working for a very, very long time.



  • Top Android development frameworks, many of them are cross platform...

    http://linuxgizmos.com/top-10-open-source-android-app-development-frameworks/