Foros Programación Cliente
Programar aplicaciones de escritorio C, Python...?
31 31 Respuestas Jueves 21 de diciembre, 2006
Hola familia,
Desde hace tiempo que le doy vueltas a programar pequeñas aplicaciones de escritorio, pero la verdad es que no tengo mucha idea de por donde empezar. Mis requisitos serían:
- Potencialmente multiplataforma
- Lenguaje orientado a objetos
- "Sencilla" curva de aprendizaje
- Buena base de usuarios, recursos on-line, libros y tal
¿Alguna preferencia clara? C, C#, C++, Python, haXe + Neko? ¿Vale la pena meterse en algo como Mono?
Gracias : )
Desde hace tiempo que le doy vueltas a programar pequeñas aplicaciones de escritorio, pero la verdad es que no tengo mucha idea de por donde empezar. Mis requisitos serían:
- Potencialmente multiplataforma
- Lenguaje orientado a objetos
- "Sencilla" curva de aprendizaje
- Buena base de usuarios, recursos on-line, libros y tal
¿Alguna preferencia clara? C, C#, C++, Python, haXe + Neko? ¿Vale la pena meterse en algo como Mono?
Gracias : )
-
Zárate
Registrado desde 20/12/02 / Número de posts: 896
Jeje, sabía que no tardaría en salir. En principio Java no. Personalmente le tengo manía, como a los Mac. Son (serán) herramientas extraordinarias, pero no me llaman.
En el caso de Java y, desde el total desconocimiento, ¿no requiere frameworks para cualquier cosa?
Gracias
pd: si algún día me compro un Mac se que alguno me va a querer matar. lo mantendré en secreto. -
orange
Registrado desde 03/01/03 / Número de posts: 7892
Lo que requiere es la máquina virtual, una especie de plugin para que JAVA funcione.
Pero ese es precisamente la clave de todo, tú programas para la máquina virtual y te despreocupas (como en el flash). Y luego en cada sistema hay instalada la máquina específica.
A nivel multiplataforma es lo más limpio que hay. Cualquier otra cosa implica recompilar un programa para cada plataforma, y ahí me da que te metes en 1000 guerras.
Aunque te parezca una chorrada (y no se te ocurra decir nada de los Mac), te podrías pasar por los foros de Macuarium y preguntar por allí. Hay muchos programadores de aplicaciones de "escritorio" que controlan bastante.
Y si le echas un ojo a los hilos que hablan de procesadores ya lo flipas, hay peña MUY potente a nivel técnico allí. -
orange
Registrado desde 03/01/03 / Número de posts: 7892
Añado: antiguamente el tener una máquina virtual por medio era una carga al rendimiento. Hoy en día no.
Yo curro a diario con el Aptana, que es un IDE de desarrollo completamente programado en JAVA, y va más rápido que el Dreamweaver. -
Kr0n
Registrado desde 15/02/05 / Número de posts: 1730
Yo soy de los tuyos. A mi Java no me mola, si es impuesto, tragas, pero para programar por mi cuenta, nain. Me quedo diez mil veces antes con Python, mucho más bonito en todo. Yo hace mucho que no hago aplicaciones con GUI, y no se como estará el tema ahora, pero antes los wxWidgets+Python se llevaban el gato al agua, es cuestión de ver como está el panorama ahora. -
Zárate
Registrado desde 20/12/02 / Número de posts: 896
Borch, si el tema de la máquina virtual de Java lo sabía. A lo que me refiero con los frameworks para todo es a cosas como Struts, Spring, y todos los que quieras [1].
Eso, bajo mi punto de vista, le añade mucha complejidad. Primero tienes que aprender la sintaxis del lenguaje y luego a utilizar los frameworks que necesites. Me da a mi, otra vez hablando desde el desconocimiento, que la mayoría de las aplicaciones Java están basadas en uno o varios de estos frameworks, casi nada se programa desde cero. Lo cual puede ser bueno o malo, depende de lo que utilices. En Rails está muy conseguido.
Dicho esto, lo de compilar una vez y ejecutar donde sea, me parece que nunca ha llegado a ser cierto del todo. Yo diría que seguramente el player de Flash sea más confiable en ese tema, pero bueno.
Bueno, tenemos un voto para Python hasta el momento y otro para Ruby.
¿Alguien más se anima?
[1] - http://www.java-source.net/open-source/web-frameworks -
orange
Registrado desde 03/01/03 / Número de posts: 7892
Lo cierto es que la última apli tocha en la que he estado implicado se desarrollaba bajo Struts. Puede que tengas razón en eso, yo lo poco que he hecho en JAVA era con un librito y programando a pelo.
Pues poco más puedo decirte, igual si acotas lo que quieres hacer o el campo donde quieres meterte encuentras cosas que te ofrecen ventajas sobre otras. -
dagi3d
Registrado desde 13/12/03 / Número de posts: 1054
y desde cuando usar frameworks es algo malo?
se supone que están para facilitarte tareas y no estar reinventando la rueda una y otra vez. además, los frameworks que mencionas se usan principalmente en j2ee, pero si vas a hacer aplicaciones de escritorio, dependiendo de lo que vayas a hacer no tienes porque usarlos.
de todas maneras, si ya le tienes gato a java, pues está claro que mejor uses un lenguaje con el que te te sientas a gusto.
la ventaja de usar python es que existen aplicaciones que te crean un ejecutable con tu aplicación y el intérprete, con lo que no tienes el problema de java que requiere tener instalada la máquina virtual u otros lenguajes interpretados(desconozco si hay algo parecido para php, ruby etc)
yo estoy cacharreando bastante con ruby on rails y tengo que decir que ruby como lenguaje mola mucho. hace que programar sea algo totalmente natural y el dinamismo que ofrece da mucho juego a la hora de hacer virguerías de metaprogramación.
si finalmente te decantas por java, para el tema de las librerías te recomendaría que uses swt(las de eclipse), ya que utilizan las librerías del sistema operativo en uso y hay versiones para linux, windows y macos(a mi personalmente las aplicaciones en swing me dan mucha grima)
si finalmente coges cualquier otro lenguaje, como ya te comentaron, te recomendaría que uses wxWidgets ya que tiene bindings para muchísimos lenguajes y tendrás tu aplicación multiplataforma. -
microbians
Registrado desde 05/05/02 / Número de posts: 3409
Yo también estoy mirando el tema y dándole vueltas, porque estoy investigando como hacer que flash (en web o en desktop) lea la presión de la WACOM, esto esta resuelto en Windows, pero aun no hay posibilidades en MAC. Así que me estoy intentando decidir por donde tirar ya que estoy un poco aburrido de aprender nuevas sintaxis. Al final me estoy quedando con estas posibilidades.
- - - - - - - - - - - - - - - - - - - - - -
http://www.trolltech.com/
Es gratis para aplicaciones GNU.
- - - - - - - - - - - - - - - - - - - - - -
Ahora estoy mirando http://www.python.org/ que para MAC existe el PyObjC que hace de puente con COCOA... estoy empezando así que no se mucho aún.... y tardaré en saber con el poco tiempo que le dedico al tema.
- - - - - - - - - - - - - - - - - - - - - -
Realbasic dicen que no está mal pero es basic :P
- - - - - - - - - - - - - - - - - - - - - -
También he leido cosas buenas de MONO
- - - - - - - - - - - - - - - - - - - - - -
En mi opinión de todas formas lo mejor será esperarse a que despegue el apollo de Adobe.
Y sino esperar que los de MDM añadan la funcionalidad de la wacom en MAC también.
En fin es un dilema, pero yo que tu no me alejaba mucho de la notación de puntos y llaves. -
orange
Registrado desde 03/01/03 / Número de posts: 7892
[OT]
El microbio nunca dejará de sorprenderme, ¿pero tú no te habías quedado hartito de programar? ¿Qué haces metiéndote en estos berenjenales?.
A ti te va la marcha, o va a ser cierto que la cabra tira al monte.
[/OT] -
microbians
Registrado desde 05/05/02 / Número de posts: 3409
<OFFmode>
Je je... hombre a mi no es que no me guste programar a secas, concretamente lo que no me gusta es programar para los demás XD lo que si me mola llevar a cabo mis experimentos. Como ahora no tengo tanto tiempo como antes (bueno como siempre) pues no me puedo dedicar demasiado, pero vamos de vez en cuando estoy con el tema. Lo único que me para es que va más rápido el desarrollo de los lenguajes que yo, y tener que estar actualizando el mismo código de AS1 a AS2 o AS3 ya me para un poco (es un coñazo).
Ahora estoy con eso de la WACOM y FLASH porque estoy desde hace tiempo con el electronic sketchbook, una versión muy evolucionada de la que hay colgada, que permite hacer trazos de grosor variable y más cositas con los filtros de flash.
</OFFmode> -
Zárate
Registrado desde 20/12/02 / Número de posts: 896
@Dagi: No digo que los frameworks sean malos ni mucho menos. Pero si, como en mi caso, el conocimiento del lenguaje es 0, resultan casi más una molestia que una ayuda. Aunque como digo antes, RoR está muy bien conseguido. No sé cómo estará en Java
@Microbians: Estuve viendo a Mike Chambers sobre hablando Apollo en el FOTB, aquí mis impresiones. En cualquier caso diría que no vas a poder ampliar a tu gusto Apollo como para poder conseguir poder capturar la presión de una Wacom. Sin embargo ScreenweaverHX es totalmente abierto y lo podrías extender programando en haXe o C. Pero échale cojones para capturar lo que quires.
Por ahora me decanto por Python o el mismo haXe para juntarlo con SWHX.
Salud! -
orange
Registrado desde 03/01/03 / Número de posts: 7892
[MasOT]A ti lo que te vendría bien es un curso de colorines[/MasOT] -
mrdoob
Registrado desde 01/05/06 / Número de posts: 700
Pues, sole sabe mas de esto. Pero si yo tuviese que hacer algo, seguramente lo haria con RealBasic. Ya que, siendo de pago no es que sea muy caro (si se tuviese que comprar), y por otro lado, el mismo codigo te sirve para Windows, Mac y Linux.
Por otro lado, si es cosa de graficos... SDL.@mrdoob
Desmoderador | Domestika.org -
Kr0n
Registrado desde 15/02/05 / Número de posts: 1730
Coño, un RealBasic con python sería el triunfo. Con Pascal sería un Kylix+Delphi con versión para Mac, pero me conformaría :P -
dagi3d
Registrado desde 13/12/03 / Número de posts: 1054
Zárate
@Dagi: No digo que los frameworks sean malos ni mucho menos. Pero si, como en mi caso, el conocimiento del lenguaje es 0, resultan casi más una molestia que una ayuda. Aunque como digo antes, RoR está muy bien conseguido. No sé cómo estará en Java
el tema es que el que se utilicen frameworks no debe suponer un problema dependiendo del nivel de programación, ya que siempre te resultará más fácil que programarte todo a pelo. evidentemente requiere del aprendizaje de una api o como trabaja una librería, pero ya te marca unas pautas y eso siempre ayuda.
respecto a rails, tienes razón y a la hora de hacer desarrollo web, rails simplifica MUCHO todo. y para muestra una imagen :)
de hecho en la nueva versión de java ya se está metiendo de serie muchas características que trae rails, pero vamos, sigo pensando que cada entorno tiene su propio nicho de mercado.
de todas maneras esto concierne a tema web PERO si finalmente te decantas por ruby, que sepas que puedes usar algunas de las librerías que trae rails (como ActiveRecord por ejemplo) para tus aplicaciones de escritorio
Áreas Domestika
- Diseño (gráfico, web, industrial, producto)
- Programación (cliente, servidor, accesibilidad)
- Ilustración (autores, inspiración, técnicas)
- Fotografía (técnica, equipo, autores)
- Motion Graphics (showreels, software, estudios)
- Publicidad (campañas, anuncios, ideas)
- Informática (software, hardware, trucos)
- 3D (técnicas, iluminación, modelado)
- Experiencia de Usuario (usabilidad, AI, HCI)
- Cine, vídeo y televisión (críticas, producción)
- Música y Audio (sonidos, loops, discos)
- Espacios (arquitectura, interiorismo)