c# - ser - Consejos, guías y/o tutoriales sobre cómo escribir una aplicación de escritorio de Windows para un programador de PHP de oficio
lenguaje de programacion (6)
Sí, título largo. He estado programando en PHP durante los últimos 6 años más o menos para proyectos personales y de trabajo, pero tengo una idea para una aplicación de escritorio (que, por cierto, utiliza una API REST web).
Estoy debatiendo sobre cómo abordar esto: tengo algo de experiencia en Java, C ++, Perl y Python, pero nunca tuve la oportunidad o la oportunidad de escribir y distribuir una aplicación a otros de importancia.
La aplicación deberá comunicarse con una API REST (con OAuth), así como acceder al sistema de archivos, y posiblemente realizar alguna manipulación de la imagen (codificación / cambio de tamaño, pero esto es bueno tenerlo). He estado pensando algo en .NET, pero AIR también es una posibilidad (aunque realmente no quiero un gran tiempo de ejecución dando vueltas, esta será una aplicación tipo bandeja de sistema).
No estoy buscando a alguien que lo escriba, pero podría usar un empujón en la dirección correcta.
Si elige AIR, tendrá una solución multiplataforma. También puede aprovechar parte del nuevo soporte de AMF en Zend Framework para un protocolo de comunicaciones más eficiente y rápido. XML es grande, JSON más pequeño pero AMF es binario y mucho más comprimido. AIR también le permite escribir una aplicación de dos maneras. La primera es la combinación tradicional de Flash Player / Flex y la otra es simplemente escribir un montón de páginas HTML con Javascript que utiliza las API provistas por AIR. Aptana produce un complemento IDE libre funcional para Eclipse para escribir aplicaciones AIR de esta segunda manera. FlashDevelop es otro IDE gratuito que sería más adecuado para la forma de escritura flash / flexible. Flexbuilder también es gratis por 30 días y es económico si eres estudiante (IIRC gratuito).
Yo iría con Delphi también. El Turbo Explorer gratuito está bien para un proyecto rápido, o simplemente para probarlo (y comprar una licencia más adelante). Si quieres ser un usuario de freebee a largo plazo, ve directamente con Lazarus / FPC.
Motivos principales: posibilidad única .exe, buena interfaz con otras librerías.
Ambas soportan varios conjuntos de bibliotecas de sockets así como conectividad de bases de datos tanto a bases de datos libres como no libres.
.NET está bien para uso corporativo, si su corporación lo instala por defecto (recuerde, XP viene con .NET 1.x). Para un uso en público amplio, es un aburrimiento convencer a los usuarios de que instalen el tiempo de ejecución, que no sea un virus y que no les permita monitorearlos a través de su monitor.
En términos de soporte de idiomas, puedes hacerlo en C ++, Java, C #, Python, etc. En términos prácticos, diría que C ++, Java y C # son la opción para la mayoría de los usuarios. Pero tenga en cuenta que el soporte de GUI tanto en C ++ como en Java es complejo de aprender y usar. Si planea hacer muchos proyectos grandes, el rendimiento es una preocupación (tanto en tamaño como en velocidad) y necesita un proceso de instalación simple, use C ++. Si estas últimas restricciones no se aplican (solo el tamaño y la cantidad de proyectos), use Java. Supongamos que tendrá que dedicar un tiempo inicial considerable a preparar la infraestructura (bibliotecas, etc.).
Si su plan es de más corto plazo (no tantos proyectos, no tan grandes), use C #. Realmente es el más fácil de aprender, usar y producir código que funcione, y con el proyecto Mono ya no está restringido a las plataformas MS.
Recomendaría las ediciones de Visual Studio Express . Como tiene experiencia con lenguajes tipo C, intente comenzar con Visual C # Express. La edición 2008 SP1 es un IDE muy poderoso y es completamente gratis. El único inconveniente para el desarrollo personal o de pequeña escala con las ediciones Express es que no tienen el diseñador de la clase y no puede usar complementos.
Asegúrese de orientar .NET 2.0 para llegar a un público más amplio. Si Windows XP está bien como requisito mínimo, también puede probar .NET 3.5 con WPF, que hace que el desarrollo de aplicaciones se parezca más al desarrollo web, lo que puede ayudarlo con el diseño de la interfaz de usuario dado que proviene de un fondo web.
La sobrecarga del tiempo de ejecución es insignificante, ya que la mayoría de las personas tendrá un .NET 2.0 Framework en ejecución (no puede desinstalarlo de Vista o posterior, y ATI Catalyst Control Panel también viene con .NET 2.0, por lo que muchos usuarios ocasionales de computadoras tienen eso). Creo que es al menos una actualización de Windows recomendada para Windows XP.
Nota: También hay versiones localizadas, por lo que no necesariamente necesita la versión en inglés a la que publiqué el enlace.
Delphi también está bien, pero las ediciones gratuitas del Delphi original tienen algunos problemas y ninguna edición gratuita de Delphi, ni la versión de Lazarus, se acerca demasiado a lo que Visual Studio 2008 tiene para ofrecer.
Si lo está aprendiendo nuevo, omita Windows Forms e ir directamente a WPF. Es muy similar a la construcción de una interfaz de usuario en xhtml, pero con un impresionante enlace de datos y menos problemas de compatibilidad.
Siendo un programador de Delphi durante años, puedes hacer todo lo que quieras con él.
Estoy empezando a usar C # en el trabajo. También es un gran lenguaje, pero para una aplicación distribuida. el .NET framework aún me impide usarlo para mis aplicaciones personales.
En mi punto de vista, Delphi es una buena opción. Puedes mirar Lazarus / Free Pascal si quieres un IDE gratis.
Con esta opción, construyes tu EXE y eso es todo. Envíe el EXE al cliente y está funcionando. No hay necesidad de tener DLL / framework en la computadora.
Por supuesto, si está utilizando material de la base de datos o DLL de terceros, debe enviar las cosas necesarias con él. Pero es más simple que con VB con todo el vbrunxx.dll, o con todo el lenguaje .NET.
Es mi 2c ... ¡Creo que voy a ser despedido por esto! ;-)
HTH