¿Cómo terminar mi dependencia de .NET? [cerrado]

10

He estado desarrollando aplicaciones GUI de Windows desde hace muchos años y salté a .NET a principios de 2005. .NET es, sin duda, una plataforma notable y todavía la estoy usando, pero con una variedad de tecnologías disponibles, no quiero quedarme. dedicado a este campamento. Quiero aprender nuevos idiomas con los que pueda desarrollar aplicaciones GUI.

Estoy aprendiendo Ruby y acabo de instalar Python. Leí sobre WxRuby, un marco para desarrollar aplicaciones GUI de Windows. en Ruby Estoy buscando un marco similar para Python.

Aparte de eso, quiero saber qué idioma es más adecuado para una aplicación GUI de nivel de producción. Dudo que Ruby esté más enfocado en la plataforma web con su glamour, Ruby on Rails.

Sé que es posible que no obtenga esas ricas clases .NET y ese impresionante IDE de Visual Studio, pero aún así quiero seguir el camino menos transitado. No quiero ir con IronPython y IronRuby, sin embargo, en algún momento posterior, puedo sumergir las manos para explorarlos.

RPK
fuente
55
Una verdadera pena que Microsoft haya decidido abandonar aleatoriamente IronPython y IronRuby. No creo que realmente entiendan qué tipo de mensaje perturbador enviaron a la industria / comunidad al hacerlo.
Rei Miyasaka
2
@Mahmoud Dejaron de gastar dinero en ello; solo están dejando que la comunidad lo ejecute ahora. El desarrollador principal, Jim Hugunin, ya no podía trabajar en él desde Microsoft, por lo que, naturalmente, también dejó la compañía: hugunin.net/microsoft_farewell.html
Rei Miyasaka
1
@Thomas: h-online.com/open/news/item/…
Rei Miyasaka
99
@Thomas Todavía está abandonado. El hecho de que abandone a mi novia no significa que ya no exista o que ya no sea viable ... lo que sea que esto último signifique.
Rei Miyasaka
2
@Rei, en lo que a ti respecta, ella ya no existe :) Ditched es un boleto de ida a ese bar de solteros donde puedes pasar el rato con MSDOS, FoxPro, VB6, Silverlight, Flight Sim, IronPython y IronRuby y contar cuentos de cuánto amor recibiste en los viejos tiempos.
gbjbaanb

Respuestas:

14

Compruebe Qt.

posiblemente sea tan rico como .NET, y el IDE (QtCreator) es simple pero bastante potente. Por supuesto, se usa mejor en C ++ nativo, pero el enlace de Python se mantiene completo y actualizado.

Además, es realmente una plataforma cruzada, y eso también incluye plataformas móviles ahora :-)

Javier
fuente
1
Es difícil llamar a Qt un sistema nativo de C ++ dado que necesita un compilador separado antes de construir con él. Sin embargo, no es un mal sistema.
Billy ONeal
1
en absoluto, su 'nativo' como "compila directamente al lenguaje de máquina, sin bytecode / VM / JIT allí", también como: "sin capa de emulación de plataforma, el código resultante es específico del sistema operativo". el mocprecompilador no es más que un poco de azúcar de sintaxis para crear un código más simple en algunos rincones específicos (principalmente manejo de señales); cabe en la cadena de compilación en aproximadamente el mismo lugar que el preprocesador C. Es sobre todo un artefacto histórico de la estabilización de la API antes de que ciertas características de C ++ se hubieran estabilizado en los compiladores
Javier
Para ser justos, moc agrega dinamismo que C ++ carece incluso en estos días.
Tamás Szelei
6

Bueno, wxRuby es solo un enlace de Ruby para wxWidgets , un impresionante kit de herramientas GUI multiplataforma. Hay un enlace similar para Python llamado wxPython, así como enlaces para muchos otros idiomas.

Robert Harvey
fuente
Los widgets están ahí, pero ¿qué tan integrales se integran con el lenguaje principal? ¿Qué tan activo es el apoyo de la comunidad?
RPK
1
@RPK: tendrá una comunidad bastante pequeña utilizando cualquier kit de herramientas GUI con Python o Ruby. Sin embargo, la comunidad wxPython es más grande que Ruby; La comunidad de Ruby está dominada por Rails ahora, pero Python tiene una diversidad más aparente.
Jeremy
La comunidad de @Jeremy Ruby no está dominada por Rails, pero da la percepción de que sí, lo cual es una pena.
alternativa
5

No estoy seguro de si su pregunta se limita a determinar si Ruby o Python son mejores o si está preguntando qué otros idiomas le gustaría aprender a desarrollar aplicaciones GUI de Windows en general. Estoy asumiendo lo último.

También hay Java, Delphi o programación nativa de Win32. Cualquiera de ellos es adecuado para desarrollar aplicaciones GUI en Windows. El código nativo de Win32 puede (¿debe?) Todavía escribirse a través de Visual Studio, pero no hay dependencia de .NET.

Adam Lear
fuente
44
+1 para Delphi. Cree aplicaciones rápidas y nativas de Windows de 32 bits sin el equipaje de .NET. La versión de 64 bits probablemente llegará en algún momento de 2011.
tcrosley
1
¿Las GUI de Java son lentas? ¿Dónde se prueba eso?
Tim Williscroft el
99
@Tim Williscroft: SWT es rápido, pero la mayoría de las aplicaciones Swing son algo lentas. Es tan evidente que ni siquiera puedo imaginar la necesidad de demostrarlo.
Jeremy
1
@ Jeremy, me inclino ante tu conocimiento superior. Estoy tan avergonzado que lo he estado haciendo mal durante años, pero ahora lo sé.
Tim Williscroft
2
Win32 nativo está bien. No es excelente para un desarrollo rápido, pero no es muy difícil.
Paul Nathan
5

HTML5 y JavaScript.

Desearía estar bromeando, pero no lo estoy .

Da miedo pensar que nadie tenía esta respuesta hace medio año.

Triste...

Rei Miyasaka
fuente
Hace un año más o menos, comenté en Programmers que Microsoft arrojó VB6 con el agua del baño y que podían hacer lo mismo con .NET. Alguien me respondió y escribió que MS nunca abandonaría .NET. Bueno, sorpresa, sorpresa! Es por eso que prefiero seguir con el software Freedom y las comunidades de código abierto. Si .NET fuera de código abierto, el comportamiento de MS no habría importado tanto, porque la comunidad podría haber llevado el marco hacia adelante.
systemovich
1
Mono se ha puesto al día en gran medida. El problema es que el estigma y la política que lo rodea hacen imposible que otras compañías lo adopten cómodamente. La misma historia se aplica a Java, que es de código abierto, con Sun tratando de demandar a Google. La diferencia es que Google no esperaba que Sun los demandara. Todos esperan que Microsoft los demande, por lo que, aunque han prometido no hacerlo, la gente evita .NET / Mono / ECMA C #. Realmente, esto no se trata de código abierto vs. nada; se trata de que MS haya perdido completamente la cabeza. Casi todo el software corre el riesgo de que sus principales contribuyentes se vuelvan locos o aburridos, abiertos o no.
Rei Miyasaka
+1 porque es genial poder portar HTML5 y JS directamente desde el navegador a una aplicación de escritorio nativa. ¡Ahora tenemos web, móvil (usando PhoneGap ) y Windows 8, todo en una sola plataforma de código abierto!
Raynos
1
El final del artículo al que se vinculó sugiere que MS no va a abandonar su enorme base de desarrolladores y / o hacer que todos codifiquen en HTML5 + JS, y que esto es más un error de relaciones públicas que cualquier otra cosa.
Scott Whitlock
@ScottWhitlock es solo microsoft expandiendo las herramientas que puedes usar sin dejar de usar o dejar de usar las herramientas existentes. Es una excelente manera de atraer a más desarrolladores al microsistema ecológico.
Raynos
4

Recuerde que las personas que no son de Apple, que no son de Microsoft, están basadas en la línea de comandos, y el diseño de la GUI es bastante inútil allí. En cierta medida, comprometerán y crearán GUIs en HTML, para ser consumidos por los navegadores, pero eso es para sus clientes, no para ellos mismos.

Si desea permanecer en el mundo GUI, supongo que es posible que desee mirar a Apple o quedarse con .NET en Windows.

¿Tiene sentido?

HTH

Christopher Mahan
fuente
44
Esto no es estrictamente cierto. En el mundo * nix, tenemos y usamos interfaces gráficas de usuario de forma bastante extensa.
greyfade
@ Christopher: Lo sé y estoy absolutamente consciente de ello. Tomemos, por ejemplo, Oracle. Salieron con HTML GUI, que es muy lento. No busco solo aspectos negativos, probablemente Oracle se pueda administrar a través de la línea de comandos muy bien.
RPK
@RPK: IIRC, Oracle 9i tenía una maravillosa herramienta de administración, que era una aplicación de escritorio GUI. Lo preferí mucho a la administración de línea de comandos. Oracle 10g implementó eso como una página web, que no era tan agradable.
David Thornley el
1
GTK es bastante popular en los escritorios de Linux, y hay otros kits de herramientas GUI. No creo que sea común ejecutar un escritorio sin una GUI, incluso si usa la terminal para muchas tareas; aunque los servidores * nix generalmente harían todo a través de una línea de comando.
Jeremy
2
+1 porque me parezco a ese comentario. Por lo general, la programación GUI que hago está relacionada con la aplicación web. Hago un esfuerzo consciente para poner en práctica ese grado de diseño haciéndolo intuitivo, simple y obvio, pero mi propia experiencia informática es algo así como 80% Emacs, 15% navegador, 6% otro (con un margen de error del 1%) .
Inaimathi
3

Recomiendo Java en tu situación.

Razones:

  • Si conoce .NET, se sentirá relativamente cómodo con Java (C # se inspiró en gran medida en Java y muchas de las convenciones e incluso los nombres de las bibliotecas son muy similares)
  • Java tiene algunas capacidades GUI impresionantes (incluso si no son tan ampliamente reconocidas). Los mejores kits de herramientas GUI multiplataforma son, en mi opinión, Swing (que es totalmente multiplataforma, con una apariencia y sensación consistentes) y SWT (que también aprovecha componentes nativos, como los que usa Eclipse, por ejemplo). JavaFX 2.0 también parece prometedor para el futuro.
  • Hay muchas herramientas de tipo "generador de GUI" para ambos (generalmente disponibles como complementos IDE para, por ejemplo, Netbeans o Eclipse)
  • Probablemente sea una cuestión de preferencia personal, pero diría que Netbeans o Eclipse son, en general, mejores IDEs que Visual Studio, y ciertamente más capaces de lo que ves para cualquier otro idioma o plataforma.
  • La plataforma / ecosistema Java es un gran lugar para estar en general: una gran variedad de bibliotecas y herramientas, especialmente si te gusta el código abierto.

Alternativamente, puede probar uno de los nuevos e innovadores lenguajes JVM como Scala o Clojure si se siente aventurero .....

mikera
fuente
3
Además, los desarrolladores de Java tienden a ser más rápidos en la forma correcta de escribir software, mientras que muchos más .NET simplemente distribuyen código sin aplicar patrones de diseño, SOLID, etc.
Wayne Molina
-1

Python funciona bien para la GUI. Puede echar un vistazo a PyQt, PyGTK, WxPython, etc. Se utilizan activamente para el desarrollo de GUI (en Linux) y se dice que son multiplataforma.

tener sentido
fuente
-4

Busque otros lenguajes de programación que funcionen con el tiempo de ejecución .Net, como IronRuby y IronPython. A continuación, echa un vistazo al proyecto mono .

Estos pasos lo sacarán de su zona de confort .Net y lo desarrollarán en Linux. A partir de ahí, es un pequeño salto al desarrollo completo de estilo UNIX.

Chris McCall
fuente
55
-1 porque dice en la pregunta "No quiero ir con IronPython y IronRuby"
Inaimathi