studio reales proyectos para introducción incluye herramientas fuente desarrollo código crear con avanzado aplicaciones .net-core coreclr

.net-core - para - introducción a android studio incluye proyectos reales y el código fuente pdf



¿Es posible hacer una aplicación GUI de escritorio en.NET core? (14)

.NET Core 3 tendrá soporte para crear aplicaciones de escritorio de Windows. Ayer vi una demostración de la tecnología durante la Conferencia .NET. Esta es la única publicación de blog que pude encontrar, pero ilustra el punto: https://blogs.msdn.microsoft.com/dotnet/2018/05/07/net-core-3-and-support-for-windows-desktop-applications/

He estado desarrollando programas winforms durante algunos años. Ahora estoy buscando en .NET Core (incluido ASP.NET Core MVC) .Estoy buscando la nueva tecnología de escritorio GUI. En Visual Studio 2015 Update 3 no puedo ver ninguna opción hacer una aplicación GUI en .NET core. Qué me estoy perdiendo ?


Ahora es posible usar Qt / QtQuick / QML con .NET Core, usando Qml.Net .

Es de alto rendimiento (no "pinvoke hablador"), tiene todas las funciones y funciona en Linux / OSX / Windows.

Mira mi publicación de blog para ver cómo se compara con las otras opciones disponibles actualmente.

PD: soy el autor.


Es una vieja pregunta, pero sí, es posible desarrollar aplicaciones de escritorio multiplataforma (GUI) para Windows, Linux y macOS, usando VSCode, .Net Core, C #, gtk3, gtksharp y Glade como diseñador de GUI.

Aquí es how .


Estoy trabajando en un proyecto que podría ayudar: https://github.com/gkmo/CarloSharp

La siguiente aplicación está escrita en .net con la interfaz de usuario en HTML / JS / CSS (Angular)


Nigromancia
Para el caso especial de las aplicaciones WinForms existentes :

Hay una manera, aunque no sé qué tan bien funciona.
Dice así:
Tome la implementación de WinForms de mono.
Transfiéralo a .NET Core o NetStandard.

Vuelva a compilar sus aplicaciones WinForms con el nuevo System.Windows.Forms.
Arregle cualquier cosa que NetCore pueda romper.
Ore para que mono implemente las partes que necesita sin problemas.
(si no es así, siempre puede dejar de rezar y enviar una solicitud de extracción al proyecto mono con su corrección / parche / función)

Aquí está mi repositorio de CoreFX WinForms:
https://github.com/ststeiger/System.CoreFX.Forms


No te estás perdiendo nada. Actualmente, no hay una forma razonable de crear aplicaciones GUI directamente usando .Net Core.

Aunque UWP (Plataforma universal de Windows) está parcialmente construido sobre .Net Core.

Además, .Net Core 3.0 (las compilaciones diarias ya están disponibles) incluirán soporte para Winforms y WPF, aunque será solo para Windows.


Para crear una interfaz de usuario basada en consola, puede usar gui.cs Es de código abierto, se ejecuta en .Net core y funciona en Windows y Linux. No hay mención de Mac.

Tiene los siguientes componentes:

  • Botones
  • Etiquetas
  • Entrada de texto
  • Vista de texto
  • Campo de edición de tiempo
  • Botones de radio
  • Casillas de verificación
  • Cuadros de diálogo
    • Cuadros de mensaje
  • Ventanas
  • Menus
  • ListViews
  • Marcos
  • ProgressBars
  • Vistas de desplazamiento y barras de desplazamiento
  • Visor / editor hexadecimal (HexView)

Captura de pantalla de muestra


Puede desarrollar una aplicación web con .NET Core y MVC y encapsularla en una aplicación JavaScript universal de Windows: https://docs.microsoft.com/en-us/windows/uwp/porting/hwa-create-windows

Todavía es una aplicación web, pero es una forma muy liviana de transformar una aplicación web en una aplicación de escritorio sin aprender un nuevo marco o volver a desarrollar la interfaz de usuario, y funciona muy bien.

El inconveniente es a diferencia del electron o ReactXP por ejemplo, el resultado es una aplicación universal de Windows y no una aplicación de escritorio multiplataforma.


Puede usar Electron y conectarlo con Edge.js resp. electron-edge . Edge.js permite que electron (node.js) llame a .net dll''s y viceversa. De esta forma, puede escribir la GUI con HTML, CSS y JavaScript y el backend con .net core. Electron en sí también es multiplataforma y se basa en el navegador de cromo.


Sí, es posible.

.NET Core no tiene ningún componente para la aplicación GUI nativa fuera de la caja. Sin embargo, hay un paquete NuGet que se llama https://github.com/ElectronNET/Electron.NET , según la respuesta de Gregor Biswanger.

Electron es un marco que le permite construir aplicaciones GUI nativas sobre Node.js. Electron.NET es un paquete NuGet que le permite utilizar Electron y Node.js desde su código .NET Core.

La buena noticia es que no tiene que aprender JavaScript, Electron o Node.js para poder usar el paquete NuGet. Los archivos JS se ejecutan dentro de su aplicación, pero el proceso de compilación los genera automáticamente.

Todo lo que debe hacer es crear una aplicación ASP.NET Core MVC bastante estándar. La única diferencia es que, en lugar de ejecutarse en el navegador, se ejecuta como una aplicación nativa con ventana. Además de unas pocas líneas de código específicas para el paquete Electron.NET, no necesitará aprender nada sobre ASP.NET Core MVC.

Esta página proporciona un tutorial sobre cómo usarlo. También contiene algunos enlaces a repositorios de código de muestra.


Una opción sería usar Electron con JavaScript, HTML y CSS para la interfaz de usuario y crear una aplicación de consola .Net Core que alojará una API web para la lógica de back-end. Electron iniciará la aplicación de consola en segundo plano que expondrá un servicio en localhost: xxxx.

De esta forma, puede implementar toda la lógica de back-end utilizando .Net para acceder a través de solicitudes HTTP de JavaScript.

Eche un vistazo a esta publicación, explica cómo construir una aplicación de escritorio multiplataforma con Electron y .Net Core y verificar el código en github



AvaloniaUI ahora tiene soporte para ejecutarse sobre .NET Core en Win / OSX / Linux. XAML, enlaces y plantillas de control incluidos.


tl; dr : no estoy seguro de que los desarrolladores de .NET Core puedan proporcionar un marco GUI multiplataforma.

Siento que espero que un marco de GUI multiplataforma se incluya en las herramientas oficiales (especialmente una versión anterior de las herramientas; usted menciona que está ejecutando VS 2015 actualización 3) para una versión temprana de .NET Core es un poco prematuro.

Los marcos de la GUI son realmente bastante pesados ​​y dependen de las abstracciones de hardware ya presentes en la máquina host. En Windows, generalmente hay un administrador de ventanas únicas (WM) y un entorno de escritorio (DE) utilizado por la mayoría de los usuarios, pero en las muchas distribuciones diferentes de Linux que son compatibles, hay una cantidad de posibles WM y DE, dado que la mayoría de los usuarios estar usando X-Server o Wayland en combinación con KDE, Gnome o XFCE. Pero ninguna instalación de Linux es igual.

El hecho de que la comunidad de código abierto no pueda realmente conformarse con una configuración "estándar" para una VM y DE significa que sería bastante difícil para los desarrolladores de .NET Core crear un marco GUI que funcione en todas las plataformas y combinaciones de DE y WM.

Mucha gente aquí tiene algunas sugerencias geniales (desde usar ASP.NET Core para compilar una aplicación web y usar un navegador para enumerar un montón de marcos multiplataforma). Si observa algunos de los marcos de GUI multiplataforma mencionados, verá cuán pesados ​​son.

Sin embargo, hay luz al final del túnel cuando Miguel de Icaza mostró a Xamarin corriendo ingenuamente en Linux y MacOS en .NET Conf este año (2017, si está leyendo esto en el futuro), por lo que podría valer la pena intentarlo que cuando esté listo

(pero deberá actualizar VS 2015 a VS 2017 para acceder a las funciones de .NET Core 2.0)