Ci sono limitazioni nell'utilizzo di WinRT invece di .Net? [chiuso]

7

Da quanto ho capito, la creazione di un'applicazione eseguita su più architetture richiede la virtualizzazione e la virtualizzazione riduce le prestazioni poiché crea un livello di astrazione.

Con Windows 8 che supporta entrambe le architetture Intel e ARM dovremmo aspettarci prestazioni più lente con un'app WinRT rispetto a un'app .Net in esecuzione su un dispositivo Intel?

Inoltre, WinRT supporta la connettività del database e l'accesso alla directory attiva?

    
posta jerrykobes 04.07.2012 - 05:21
fonte

2 risposte

12

Da quello che ho visto, WinRT è in realtà un "non gestito" "livello software basato su oggetti COM nativi, quindi NON aspetterei di vedere un grande impatto sulle prestazioni durante il richiamo delle API. In effetti, è molto probabile che funzionino meglio delle app .NET sul CLR, poiché sono probabilmente "più vicini al metal" rispetto alle app .NET.

NotaanchechepuoiimplementareinvocareAPIWinRTdaapp.NET(o,comevoglionoilbuzzperraccogliereeattrarrewebhipsters,inlucidoHTML5+JavaScript),masonoliberidiimplementarelatuaapplicazioneinteramenteinC++sepreferiscieseipreoccupatoperilivelliaggiuntivi.

WinRTisessentiallyaCOM-basedAPI,althoughrelyingonanenhancedCOM.[...]WinRTallowsrelativelyeasyinterfacingfrommultiplelanguages,[...]it'sessentiallyanunmanaged,nativeAPI.Thiscommon[.NET-basedECMA335]metadataformatallowsforsignificantlylessoverheadwheninvokingWinRTfrom.NETapplicationscomparedtoaP/Invoke,andmuchsimplersyntax.

      -FromWikipedia'sWinRT (emphasis mine)

Inoltre, considera la lingua per le estensioni dei componenti C ++ / CX :

The new C++/CX (Component Extensions) language, which borrows some C++/CLI syntax, allows the authoring and consumption of WinRT components with less glue visible to the programmer compared to classic COM programming in C++ [...]. Regular C++ [...] can also be used to program with WinRT components, with [a] library called Windows Runtime C++ Template Library (WRL), which is similar in purpose to what Active Template Library provides for COM. The MSDN Library, however, recommends using C++/CX instead of WRL.

      - From Wikipedia's WinRT (emphasis mine)

Il Guardian fornisce anche un interessante articolo sul apparente rebuff di .NET in favore di C ++ per sviluppare app basate su WinRT .

Lo stesso articolo indica una grande spiegazione di WinRT a confronto a Silverlight e WPF su StackOverflow.com .

Per quanto riguarda gli altri tuoi punti, WinRT di per sé non ti limita o ti impedisce di interfacciarti a un database o AD. Semplicemente non lo rende facile, e la domanda è più come vuoi farlo.

    
risposta data 04.07.2012 - 06:58
fonte
0

Per quanto riguarda la tua domanda sulla parte di connettività del database, al momento WinRT non ha il supporto per la maggior parte dei driver del database. SQLLite è quello supportato sin d'ora.

Il modo ideale sarebbe accedere al tuo livello dati tramite i servizi. e il tuo non dovrebbe connettersi direttamente al database come SQL Server, Oracle e qualsiasi altro DB per quella materia.

puoi utilizzare db e sqllite indicizzati per le opzioni di archiviazione dei dati locali.

    
risposta data 21.03.2013 - 10:34
fonte

Leggi altre domande sui tag