none
Mejor Opcion para Desarrollo de Aplicacion C# RRS feed

  • Pregunta

  • Buen día desarrolladores.

    Quisiera basarme en su experiencia para un nuevo desarrollo que inicio.

    1. La aplicación estará conectada a una db en red
    2. La aplicación será usado desde aproximadamente unos 7 equipos
    3. La aplicación debe tener buena interfaz
    4. La aplicación hará uso de una cámara (tal vez una webcam HD) ya que se capturaran algunas imágenes.
    5. La aplicación Imprimirá solo en un modulo en una impresora zebra unos stikers

    Entonces tenia en mente lo siguiente, espero me corrijan si estoy herrado o estoy tomando un mal camino.

    • La idea que tengo es, ya que no quieren una interfaz tan plana o anticuada como la que tiene Windows Forms, tenia en mente usar Windows Presentation Foundation (WPF), Es buena idea?? no es muy pesado???
    • Como estará en unos 7 equipos aproximadamente me funcionaria bien usar clickOnce y tener la versión principal en un servidor y que los clientes se actualicen desde hay?
    • Como usare hardware (Cámara e Impresora) tenia en mente una App de escritorio y usar WPF para una mejor presentación , es buena idea???
    • En caso de ser buena la elección de WPF veo que eso no maneja formularios MDI, en ese caso cual serial la forma adecuada de desarrollar las opciones y menus??

    Gracias por todas sus recomendaciones y consejos.

    martes, 26 de abril de 2016 23:08

Respuestas

  • A grandes rasgos concuerdo.  Puesto que imprime a una impresora específica, debe abandonar la opción web ya que eso no es controlable desde ASP.net.  Sí, yo también usaría WPF pues es más bonito hoy por hoy.  Eso sí, si las PC's usan Windows XP tendrá problemas de desempeño aún con las más simples animaciones.  Si las PC's destino son XP, lo mejor es que se limite a animaciones super básicas o que del todo no use.

    La ausencia de MDI no es algo particularmente malo.  Simplemente puede moverse a tabbed documents.  Básicamente un control de pestañas que cambian la ventana actual en un área designada.  Pero bueno, si insiste en MDI... WPF MDI.

    Ah, y yo pensaría que actualizar 7 equipos es muy sencillo.  Sí, ClickOnce podría servirle, pero aún si no, 7 PC's no es la gran cosa.  Eso sí, de ser posible le dejaría la tarea al depto. de distribución de software. :D


    Jose R. MCP
    Code Samples


    • Editado webJoseModerator miércoles, 27 de abril de 2016 0:05
    • Propuesto como respuesta Sergio ParraModerator miércoles, 27 de abril de 2016 10:31
    • Marcado como respuesta CrissR miércoles, 27 de abril de 2016 22:01
    miércoles, 27 de abril de 2016 0:03
    Moderador
  • hola

    >>tenia en mente usar Windows Presentation Foundation (WPF), Es buena idea?? no es muy pesado?

    si es buena idea

    imagino que por pesado te refieres a la parte visual, si le costara al equipo mostrar este tipo de ventanas, en principio depende de cuento de animaciones y transiciones apliques, en principio no deberias tener ningun problema

    >>Como estará en unos 7 equipos aproximadamente me funcionaria bien usar clickOnce y tener la versión principal en un servidor y que los clientes se actualicen desde hay?

    no se si entendi a que llamas "versión principal"? te refieres a la redistrubucion que usa clickOnce

    o se trata de algun servicio web, ya sea asmx o WCF que actuara como Application Server en donde tendras la logica de negocio en el servidor y los clientes realizan las operaciones por medio de esta capa de servicio

    >>Como usare hardware (Cámara e Impresora) tenia en mente una App de escritorio y usar WPF para una mejor presentación , es buena idea?

    si el soft esta en la pc del usuario deberias poder acceder al hard que este tenga sin problemas

    >>En caso de ser buena la elección de WPF veo que eso no maneja formularios MDI, en ese caso cual serial la forma adecuada de desarrollar las opciones y menus?

    podrias usar Frame y generar la navegacion dentro de estos

    WPF Navigation

    usarias el NavigationService

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Propuesto como respuesta Sergio ParraModerator miércoles, 27 de abril de 2016 10:31
    • Marcado como respuesta CrissR miércoles, 27 de abril de 2016 22:01
    miércoles, 27 de abril de 2016 4:54
  • Pues no tengo experiencia con ClickOnce porque siempre he trabajado donde hay distribución de software. :D

    Sin embargo no conozco de algo "popularmente" malo de ClickOnce, así que supongo que no tendrá problemas.  Sí le recomiendo, sin embargo, leer acerca de cómo funcionan las actualizaciónes.  Por ejemplo, hay tratamiento especial de los app.config.  Lea y entienda bien cómo funcionan tanto las actualizaciones como los retrocesos a una versión anterior para que no lo tome por sorpresa.

    Sí, eso que le mostré es una adaptación, algo que alguien hizo porque no desea abandonar la idea de MDI.

    Finalmente le recomiendo aprender acerca de Caliburn.Micro.  Le será super útil en WPF y tiene el concepto de Screens que hace la navegación entre vistas fácil, que puede ayudarle a crear la noción de MDI.


    Jose R. MCP
    Code Samples

    • Marcado como respuesta CrissR miércoles, 27 de abril de 2016 22:01
    miércoles, 27 de abril de 2016 14:05
    Moderador

Todas las respuestas

  • A grandes rasgos concuerdo.  Puesto que imprime a una impresora específica, debe abandonar la opción web ya que eso no es controlable desde ASP.net.  Sí, yo también usaría WPF pues es más bonito hoy por hoy.  Eso sí, si las PC's usan Windows XP tendrá problemas de desempeño aún con las más simples animaciones.  Si las PC's destino son XP, lo mejor es que se limite a animaciones super básicas o que del todo no use.

    La ausencia de MDI no es algo particularmente malo.  Simplemente puede moverse a tabbed documents.  Básicamente un control de pestañas que cambian la ventana actual en un área designada.  Pero bueno, si insiste en MDI... WPF MDI.

    Ah, y yo pensaría que actualizar 7 equipos es muy sencillo.  Sí, ClickOnce podría servirle, pero aún si no, 7 PC's no es la gran cosa.  Eso sí, de ser posible le dejaría la tarea al depto. de distribución de software. :D


    Jose R. MCP
    Code Samples


    • Editado webJoseModerator miércoles, 27 de abril de 2016 0:05
    • Propuesto como respuesta Sergio ParraModerator miércoles, 27 de abril de 2016 10:31
    • Marcado como respuesta CrissR miércoles, 27 de abril de 2016 22:01
    miércoles, 27 de abril de 2016 0:03
    Moderador
  • hola

    >>tenia en mente usar Windows Presentation Foundation (WPF), Es buena idea?? no es muy pesado?

    si es buena idea

    imagino que por pesado te refieres a la parte visual, si le costara al equipo mostrar este tipo de ventanas, en principio depende de cuento de animaciones y transiciones apliques, en principio no deberias tener ningun problema

    >>Como estará en unos 7 equipos aproximadamente me funcionaria bien usar clickOnce y tener la versión principal en un servidor y que los clientes se actualicen desde hay?

    no se si entendi a que llamas "versión principal"? te refieres a la redistrubucion que usa clickOnce

    o se trata de algun servicio web, ya sea asmx o WCF que actuara como Application Server en donde tendras la logica de negocio en el servidor y los clientes realizan las operaciones por medio de esta capa de servicio

    >>Como usare hardware (Cámara e Impresora) tenia en mente una App de escritorio y usar WPF para una mejor presentación , es buena idea?

    si el soft esta en la pc del usuario deberias poder acceder al hard que este tenga sin problemas

    >>En caso de ser buena la elección de WPF veo que eso no maneja formularios MDI, en ese caso cual serial la forma adecuada de desarrollar las opciones y menus?

    podrias usar Frame y generar la navegacion dentro de estos

    WPF Navigation

    usarias el NavigationService

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Propuesto como respuesta Sergio ParraModerator miércoles, 27 de abril de 2016 10:31
    • Marcado como respuesta CrissR miércoles, 27 de abril de 2016 22:01
    miércoles, 27 de abril de 2016 4:54
  • Gracias por responder webJose esta interesante la idea de tabs, pienso que seria mejor idea que el MDI?? por lo que vi ese MDI que me muestras fue una adaptación de alguien mas no es nativo o me equivoco?

    Depto de Distribución de Software no hay :P, de eso se encargan los de soporte pero estar actualizado cada equipo en cada versión lo veo complicado y se me hace un retroceso, hay razones para que ClickOnce no funcione?? hay un limite de equipos???

    miércoles, 27 de abril de 2016 13:13
  • Hola Leandro Tuttini

    no se si entendi a que llamas "versión principal"? te refieres a la redistrubucion que usa clickOnce.

    ClickOnce solo lo he usado en una aplicación en Windows Forms, Lo que hago es que en un servidor tengo una carpeta FTP, desde el VS2013 (Justo ayer nos actualizaron al 2015) en propiedades del proyecto le doy en publicar y me monta la versión en ese servidor, al igual que un ejecutable con una carpeta, ese ejecutable con esa carpeta la ejecuto en un equipo cliente e Instalo la Aplicación en el cliente, luego de eso, cada vez que publique una nueva versión en el servidor, cuando inicio la aplicación en el cliente me avisa que hay una nueva versión y la instala.

    No se si lo hago de buena forma, si hay una mejor forma espero me indiques para estudiarla e implementarla, la idea es hacer las cosas bien hechas y mejorar.

    podrías usar Frame y generar la navegación dentro de estos

    Interesante eso del frame, pero veo que en el ejemplo lo usan como botón adelanta y atrás, en mi caso que tendría un menú ---> Opción1(opciones hijo), opcion2, opción

    Lo usaría direccionándolo al frame de cada opción, es asi?

    miércoles, 27 de abril de 2016 14:04
  • Pues no tengo experiencia con ClickOnce porque siempre he trabajado donde hay distribución de software. :D

    Sin embargo no conozco de algo "popularmente" malo de ClickOnce, así que supongo que no tendrá problemas.  Sí le recomiendo, sin embargo, leer acerca de cómo funcionan las actualizaciónes.  Por ejemplo, hay tratamiento especial de los app.config.  Lea y entienda bien cómo funcionan tanto las actualizaciones como los retrocesos a una versión anterior para que no lo tome por sorpresa.

    Sí, eso que le mostré es una adaptación, algo que alguien hizo porque no desea abandonar la idea de MDI.

    Finalmente le recomiendo aprender acerca de Caliburn.Micro.  Le será super útil en WPF y tiene el concepto de Screens que hace la navegación entre vistas fácil, que puede ayudarle a crear la noción de MDI.


    Jose R. MCP
    Code Samples

    • Marcado como respuesta CrissR miércoles, 27 de abril de 2016 22:01
    miércoles, 27 de abril de 2016 14:05
    Moderador