digitalmars.D.learn - Windows Universal/Store apps support
- Olivier Prince (10/10) May 28 2015 I searched the forum to find if there is some support for new
- Rikki Cattermole (5/14) May 28 2015 Yes/No. ldc/gdc guys probably are a good place to start.
- Paulo Pinto (15/32) May 29 2015 WinRT is an evolution of COM with a .NET feel to the API.
- Rikki Cattermole (5/38) May 29 2015 D already supports COM.
- Paulo Pinto (7/61) May 29 2015 As far as I am aware D supports old style COM, not COM with WinRT
- Rikki Cattermole (11/63) May 29 2015 https://msdn.microsoft.com/en-us/library/jj157268.aspx
- Paulo Pinto (10/91) May 29 2015 The compiler provides the required information in C++/CX mode.
- Olivier Prince (5/24) May 29 2015 Language integrated reference counting, runtime templates,
- Jesse Phillips (6/17) May 29 2015 I don't know of any work outside of the old Microsoft slides, so
- ZombineDev (7/8) May 29 2015 There isn't yet a polished alternative to MS VS Windows Store
I searched the forum to find if there is some support for new Windows development technologies and I didn't find anything related (except some rants about WinRT 3 years ago). - Is there any support in D or phobos for developping this kind of applications? - Does D support ARM as Windows target? - Are there any plans to support the specific libraries in this respect (something like C++/CX extensions or COM metadata files)? - At least, is there a skeleton Store app written in D? Thanks.
May 28 2015
On 29/05/2015 3:57 a.m., Olivier Prince wrote:I searched the forum to find if there is some support for new Windows development technologies and I didn't find anything related (except some rants about WinRT 3 years ago). - Is there any support in D or phobos for developping this kind of applications?No.- Does D support ARM as Windows target?Yes/No. ldc/gdc guys probably are a good place to start.- Are there any plans to support the specific libraries in this respect (something like C++/CX extensions or COM metadata files)?What exactly do you need?- At least, is there a skeleton Store app written in D?No.
May 28 2015
On Friday, 29 May 2015 at 03:23:39 UTC, Rikki Cattermole wrote:On 29/05/2015 3:57 a.m., Olivier Prince wrote:WinRT is an evolution of COM with a .NET feel to the API. Basically it is COM where objects also need to implement a new interface, IInspectable, and .NET metadata stored in .winmd files is used instead of COM type libraries. In a way WinRT is the return of Ext-VOS, the original idea behind .NET. Most likely caused by the Longhorn failure to write everything in .NET, as most new Windows APIs have been introduced as COM components since Vista. So any language targeting WinRT, or Universal Apps as they are now known, needs to to support COM alongside the required interfaces for interoperability between languages and be able to consume/produce .NET metadata files. -- PauloI searched the forum to find if there is some support for new Windows development technologies and I didn't find anything related (except some rants about WinRT 3 years ago). - Is there any support in D or phobos for developping this kind of applications?No.- Does D support ARM as Windows target?Yes/No. ldc/gdc guys probably are a good place to start.- Are there any plans to support the specific libraries in this respect (something like C++/CX extensions or COM metadata files)?What exactly do you need?
May 29 2015
On 29/05/2015 7:03 p.m., Paulo Pinto wrote:On Friday, 29 May 2015 at 03:23:39 UTC, Rikki Cattermole wrote:D already supports COM. For .winmd, you should be good to go for -m32mscoff and -m64! Just add LFLAGS="/winmd" Although this really really needs to be tested.On 29/05/2015 3:57 a.m., Olivier Prince wrote:WinRT is an evolution of COM with a .NET feel to the API. Basically it is COM where objects also need to implement a new interface, IInspectable, and .NET metadata stored in .winmd files is used instead of COM type libraries. In a way WinRT is the return of Ext-VOS, the original idea behind .NET. Most likely caused by the Longhorn failure to write everything in .NET, as most new Windows APIs have been introduced as COM components since Vista. So any language targeting WinRT, or Universal Apps as they are now known, needs to to support COM alongside the required interfaces for interoperability between languages and be able to consume/produce .NET metadata files. -- PauloI searched the forum to find if there is some support for new Windows development technologies and I didn't find anything related (except some rants about WinRT 3 years ago). - Is there any support in D or phobos for developping this kind of applications?No.- Does D support ARM as Windows target?Yes/No. ldc/gdc guys probably are a good place to start.- Are there any plans to support the specific libraries in this respect (something like C++/CX extensions or COM metadata files)?What exactly do you need?
May 29 2015
On Friday, 29 May 2015 at 07:41:14 UTC, Rikki Cattermole wrote:On 29/05/2015 7:03 p.m., Paulo Pinto wrote:As far as I am aware D supports old style COM, not COM with WinRT improvements. I don't get your hint with LFLAGS. Are you aware what are .NET metadata files? .. PauloOn Friday, 29 May 2015 at 03:23:39 UTC, Rikki Cattermole wrote:D already supports COM. For .winmd, you should be good to go for -m32mscoff and -m64! Just add LFLAGS="/winmd" Although this really really needs to be tested.On 29/05/2015 3:57 a.m., Olivier Prince wrote:WinRT is an evolution of COM with a .NET feel to the API. Basically it is COM where objects also need to implement a new interface, IInspectable, and .NET metadata stored in .winmd files is used instead of COM type libraries. In a way WinRT is the return of Ext-VOS, the original idea behind .NET. Most likely caused by the Longhorn failure to write everything in .NET, as most new Windows APIs have been introduced as COM components since Vista. So any language targeting WinRT, or Universal Apps as they are now known, needs to to support COM alongside the required interfaces for interoperability between languages and be able to consume/produce .NET metadata files. -- PauloI searched the forum to find if there is some support for new Windows development technologies and I didn't find anything related (except some rants about WinRT 3 years ago). - Is there any support in D or phobos for developping this kind of applications?No.- Does D support ARM as Windows target?Yes/No. ldc/gdc guys probably are a good place to start.- Are there any plans to support the specific libraries in this respect (something like C++/CX extensions or COM metadata files)?What exactly do you need?
May 29 2015
On 29/05/2015 9:55 p.m., Paulo Pinto wrote:On Friday, 29 May 2015 at 07:41:14 UTC, Rikki Cattermole wrote:https://msdn.microsoft.com/en-us/library/jj157268.aspx So unless this isn't doing what I think it is doing, then yes it is relevant. No guarantees about what it requires for input info regarding e.g. symbols however.On 29/05/2015 7:03 p.m., Paulo Pinto wrote:As far as I am aware D supports old style COM, not COM with WinRT improvements. I don't get your hint with LFLAGS.On Friday, 29 May 2015 at 03:23:39 UTC, Rikki Cattermole wrote:D already supports COM. For .winmd, you should be good to go for -m32mscoff and -m64! Just add LFLAGS="/winmd" Although this really really needs to be tested.On 29/05/2015 3:57 a.m., Olivier Prince wrote:WinRT is an evolution of COM with a .NET feel to the API. Basically it is COM where objects also need to implement a new interface, IInspectable, and .NET metadata stored in .winmd files is used instead of COM type libraries. In a way WinRT is the return of Ext-VOS, the original idea behind .NET. Most likely caused by the Longhorn failure to write everything in .NET, as most new Windows APIs have been introduced as COM components since Vista. So any language targeting WinRT, or Universal Apps as they are now known, needs to to support COM alongside the required interfaces for interoperability between languages and be able to consume/produce .NET metadata files. -- PauloI searched the forum to find if there is some support for new Windows development technologies and I didn't find anything related (except some rants about WinRT 3 years ago). - Is there any support in D or phobos for developping this kind of applications?No.- Does D support ARM as Windows target?Yes/No. ldc/gdc guys probably are a good place to start.- Are there any plans to support the specific libraries in this respect (something like C++/CX extensions or COM metadata files)?What exactly do you need?Are you aware what are .NET metadata files?I can't say anything about that. Again try the flag. If it doesn't do what I'm expecting it does, no harm. It's just a feature that definitely isn't implemented or supported by the toolchain. Of course, just because it generates the file, doesn't mean that there will be anything of use within it.
May 29 2015
On Friday, 29 May 2015 at 10:01:53 UTC, Rikki Cattermole wrote:On 29/05/2015 9:55 p.m., Paulo Pinto wrote:The compiler provides the required information in C++/CX mode. When using pure C++ with the Windows Runtime C++ Template Library instead[0], it requires an idl file to be given to the MIDL compiler, that is then fed to the linker, like old style COM type libraries. [0] - https://msdn.microsoft.com/en-us/library/windows/apps/hh438466.aspx [1] - https://msdn.microsoft.com/en-us/library/windows/apps/hh973463.aspxOn Friday, 29 May 2015 at 07:41:14 UTC, Rikki Cattermole wrote:https://msdn.microsoft.com/en-us/library/jj157268.aspx So unless this isn't doing what I think it is doing, then yes it is relevant. No guarantees about what it requires for input info regarding e.g. symbols however.On 29/05/2015 7:03 p.m., Paulo Pinto wrote:As far as I am aware D supports old style COM, not COM with WinRT improvements. I don't get your hint with LFLAGS.On Friday, 29 May 2015 at 03:23:39 UTC, Rikki Cattermole wrote:D already supports COM. For .winmd, you should be good to go for -m32mscoff and -m64! Just add LFLAGS="/winmd" Although this really really needs to be tested.On 29/05/2015 3:57 a.m., Olivier Prince wrote:WinRT is an evolution of COM with a .NET feel to the API. Basically it is COM where objects also need to implement a new interface, IInspectable, and .NET metadata stored in .winmd files is used instead of COM type libraries. In a way WinRT is the return of Ext-VOS, the original idea behind .NET. Most likely caused by the Longhorn failure to write everything in .NET, as most new Windows APIs have been introduced as COM components since Vista. So any language targeting WinRT, or Universal Apps as they are now known, needs to to support COM alongside the required interfaces for interoperability between languages and be able to consume/produce .NET metadata files. -- PauloI searched the forum to find if there is some support for new Windows development technologies and I didn't find anything related (except some rants about WinRT 3 years ago). - Is there any support in D or phobos for developping this kind of applications?No.- Does D support ARM as Windows target?Yes/No. ldc/gdc guys probably are a good place to start.- Are there any plans to support the specific libraries in this respect (something like C++/CX extensions or COM metadata files)?What exactly do you need?Are you aware what are .NET metadata files?I can't say anything about that. Again try the flag. If it doesn't do what I'm expecting it does, no harm. It's just a feature that definitely isn't implemented or supported by the toolchain. Of course, just because it generates the file, doesn't mean that there will be anything of use within it.
May 29 2015
On Friday, 29 May 2015 at 03:23:39 UTC, Rikki Cattermole wrote:On 29/05/2015 3:57 a.m., Olivier Prince wrote:Language integrated reference counting, runtime templates, partial COM classes, strings, arrays, collections, exceptions, events, delegates, attributes. I know that D has these features but I doubt that thay are mapped to COM counterparts.I searched the forum to find if there is some support for new Windows development technologies and I didn't find anything related (except some rants about WinRT 3 years ago). - Is there any support in D or phobos for developping this kind of applications?No.- Does D support ARM as Windows target?Yes/No. ldc/gdc guys probably are a good place to start.- Are there any plans to support the specific libraries in this respect (something like C++/CX extensions or COM metadata files)?What exactly do you need?- At least, is there a skeleton Store app written in D?No.
May 29 2015
On Thursday, 28 May 2015 at 15:57:42 UTC, Olivier Prince wrote:I searched the forum to find if there is some support for new Windows development technologies and I didn't find anything related (except some rants about WinRT 3 years ago). - Is there any support in D or phobos for developping this kind of applications? - Does D support ARM as Windows target? - Are there any plans to support the specific libraries in this respect (something like C++/CX extensions or COM metadata files)? - At least, is there a skeleton Store app written in D? Thanks.I don't know of any work outside of the old Microsoft slides, so likely someone who is familiar with writing a C++ app will need to try it out and request improvements where things are missing. Juno may be a good place to go for COM. https://github.com/JesseKPhillips/Juno-Windows-Class-Library
May 29 2015
On Thursday, 28 May 2015 at 15:57:42 UTC, Olivier Prince wrote:[snip]There isn't yet a polished alternative to MS VS Windows Store toolchain, but probably you don't need most of it (e.g. you can have a C++/XAML app that calls you D code). I noticed that Vibe.d has some WinRT support. Here's their WinRT driver, which uses calls some parts of WinRT API: https://github.com/rejectedsoftware/vibe.d/blob/master/source/vibe/core/drivers/winrt.d
May 29 2015